Repository navigation
Fix the flaky pad-editor test at its cause (#290) - #299
Merged
Merged
Conversation
- a race: the walk waited for the Air instruments GROUP, then looked up the Edit Air Drum row synchronously; the group renders before the seeded instruments arrive. It now waits for the row (CI saw this on 2026-10-05: "Unable to find a label ... Edit Air Drum") - the load: every dial write re-rendered the whole Instruments view, so the walk took ~0.7 s alone and over 5 s under the full suite. Split in two: the cold-load reachability (to the editor, one write) on the real view, the editing walk on the editor itself, same dials store and command path; each walk resets the airDrum dial - jsdom shell tests wait up to 4 s instead of testing-library's 1 s default (test/setup/dom.ts), still inside vitest's 5 s test timeout Closes #290
… the compact view test waits for named rows; the cold-load walk checks the editor survives the view's re-render
7 of 9 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #290: the flaky
test/drum_pads_editor.test.tsx. This fixes the cause instead of raising the test timeout.Two causes, both real
A race (seen on CI tonight, on PR @thoremin/sdk: the pure extension SDK as a workspace package (ADR follow-up c, part 1) #298). The walk waited for the "Air instruments" group, then looked up "Edit Air Drum" synchronously. The group renders before the seeded instruments arrive, so the lookup failed after 343 ms with "Unable to find a label ... Edit Air Drum". The test now waits for the row itself.
Load. Every dial write re-rendered the whole Instruments view. The walk took ~0.7 s alone and over 5 s under the full suite's parallel load: the timeout reported in Flaky test: drum_pads_editor.test.tsx times out (~5.2 s) under full-suite load, passes alone #290. It is now split in two:
DrumPadEditoritself, against the same dials store and command path.Each walk resets the
airDrumdial. Timings: 518 ms + 277 ms, where it was one 721 ms test.Also, after review:
test/instruments_view_compact.test.tsx: itsgroup()helper waited for any list item, and an empty group's "None saved" placeholder satisfied that before the seeded rows arrived. It now waits for a named row;waitFortimeout globally. It is dropped: the suite passes without it, and it would only have masked slowness.Verified
--sequence.shuffleacross seeds.npm run test:corepasses; typecheck is clean.