Suspected flake: LoomProductionPanel "renders plan summary and allows switching mode" failed once in a full client run
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 76/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- javascript, react
- Domain
- testing
Research direction
Read src/components/fableloom/LoomProductionPanel.test.jsx, focusing on the named test and how it waits for the plan response. Move plan dependent assertions into a wait or use async queries, and scope the 3 count assertion to the plan summary. Run the full client Vitest suite three consecutive times; done when all runs pass.
Written by the indexing model from the issue text.
Description
Evidence (suspected flake, cause not reproduced)
During a full client Vitest run (npx vitest run --maxWorkers=4 in client/, Node 26.12.1, 1,391 files) on a branch that does not touch FableLoom, one test failed after 33 ms:
src/components/fableloom/LoomProductionPanel.test.jsx > LoomProductionPanel > renders plan summary and allows switching mode
The same file passed 3 of 3 times when run alone. The failure message was not captured.
Likely cause (to confirm)
The test awaits Episodic Production Plan, then makes synchronous assertions (getByText('3'), getByText('Generate Storyboard Images'), getByLabelText('Mode:')) that may depend on a second async state update (the plan response) which can land after the heading under worker load. getByText('3') is also a weak, potentially ambiguous query.
Next step
Move the plan-dependent assertions inside the waitFor (or use findBy*), and scope the '3' query to the plan summary element. Run the file under load (e.g. the full client suite) to confirm.
Acceptance criteria
- The test waits for the plan data before asserting on it.
- The
3count assertion targets a specific element. - Full client suite passes on three consecutive runs.
Labels: model:light (single test file), effort:medium (needs confirming the async ordering).
- Dominant language
- JavaScript
- Stars
- 38
- Forks
- 32
- Avg merge
- 35m
- Merged PRs (30d)
- 993
Getting set up
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from atomantic/PortOS
-
area:cos-agents bug effort:low model:light plan planner:sonnet-5-5
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
area:federation bug effort:medium model:light plan planner:sonnet-5-5
Difficulty 3/5 1-2 days Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
musicVideoSceneHooks test can leak its temp root past afterAll and fail the suite's temp-leak guardOpenbug effort:medium model:light plan planner:sonnet-5-5 tests
Difficulty 4/5 3-5 days Newbie friendliness 55/100
Maintainers usually reply within 1 day
-
area:cos-agents bug effort:high model:medium plan planner:sonnet-5-5
Difficulty 4/5 3-5 days Newbie friendliness 57/100
Maintainers usually reply within 1 day
-
area:cos-agents bug effort:medium model:medium plan planner:sonnet-5-5
Difficulty 4/5 1-2 days Newbie friendliness 58/100
Maintainers usually reply within 1 day
All issues in atomantic/PortOS
Similar issues
-
bug priority: low
Difficulty 1/5 Under an hour Newbie friendliness 88/100
sandialabs/sceptre-phenix#464 ·
Maintainers usually reply within 6 days
-
Difficulty 1/5 Under an hour Newbie friendliness 66/100
hemilabs/token-list#124 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
feature
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
juice-shop/juice-shop#3702 ·
Maintainers usually reply within 1 day
-
🐛 BUG: Avatar stack on post card renders above the sticky header when scrollingPossibly taken @idoshamun claimed this today. OpenType: Bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
dailydotdev/daily#2163 ·
Maintainers usually reply within 1 day