An old Project details save can reset the active project or toast on another project
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 73/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- javascript, react
Research direction
Start in app/src/pages/ProjectsEdit.jsx and packages/editor-ui/src/stores/projectStore.js, tracing how a save updates the active project and displays toasts after the page unmounts. Add a test that leaves p1 for p2 while p1's save is pending. Done when the old save cannot reactivate p1 or show an unscoped toast on p2's page.
Written by the indexing model from the issue text.
Description
If you save Project details and switch to another project's details within a second, the old save can make the first project active again (sending you back to the Projects list) or show its messages on the new page.
ProjectsEdit.jsx starts a fresh page per project (key={id}), so a load, save or Apply Update still running for a project the user has left only touches its own, unmounted page. Two writes still reach outside it. A save's follow-up getActiveProject() → setActiveProject(...) (the folder-rename and the plain branch of handleSubmit) writes the shared project store: save p1, activate p2 and open its details before that request returns, and p1 becomes active again, so p2's page redirects to the Projects list. And toasts from the old page (a failed load, a save or update finishing) still show on the new one. Needs the user to leave, activate another project and reopen details within the save's round trip. Pre-existing; found by Codex reviewing the update-banner refresh, 2026-10-19; not reproduced.
Done when: a save whose page has unmounted no longer writes the active project (a mounted ref, or a store write that checks the active id is still the saved project's), and its toasts are skipped or name the project, with a test that moves to p2 while a p1 save is pending.
Start: ProjectsEdit.jsx, projectStore.js.
- Dominant language
- JavaScript
- Stars
- 162
- Forks
- 6
- Avg merge
- 12h 55m
- Merged PRs (30d)
- 2
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- No contributing guide
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 tsiger/widgetizer
-
question
Difficulty 1/5 1-3 hours Newbie friendliness 82/100
tsiger/widgetizer#194 ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
tsiger/widgetizer#181 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
tsiger/widgetizer#175 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
tsiger/widgetizer#174 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
tsiger/widgetizer#173 ·
All issues in tsiger/widgetizer
Similar issues
-
Clinic sharing: fast sync refusal message suggests Delete Data, which only developer builds haveOpenbug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
avniproject/avni-client#2228 ·
-
bug confirmed issue
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
open-webui/open-webui#33196 · 2 comments ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
fable-compiler/Fable#5157 ·
Maintainers usually reply within 1 day
-
New tool: PaperBananaPossibly taken @github-actions claimed this today. Opensubmission triage
Difficulty 1/5 Under an hour Newbie friendliness 75/100
kausalflow/tools#243 · 1 comment ·
Maintainers usually reply within 1 day
-
area: apple-music area: build-release bug effort: small priority: high
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
ChristianTabor/Argon#32 ·
Maintainers usually reply within 1 day