Repository navigation
Share one AppStateStore across the desktop app - #1224
Conversation
The store's lock is per instance, so only one shared instance serializes writers to app-state.json. Constructing a store in the app project is a build error, which a branch that builds its own hits when it merges main. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
PR Summary by QodoShare one AppStateStore across the desktop app
AI Description
Diagram
High-Level Assessment
Files changed (4)
|
Code Review by Qodo🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)
Great, no issues found!Qodo reviewed your code and found no material issues that require reviewTip of the day💡 Did you know, you can add REVIEW.md to your repo root and Qodo follows it on every PR |
Closes #1223 — AI-3333
What & why
Appholds the desktop app's oneAppStateStoreand hands it to the sign-in dialog, the wizard, the main window and the lifecycle wiring. The store's lock is per instance, so separate stores overapp-state.jsonlet two updates read the same snapshot, and the later write erases the earlier one's field.Constructing a store inside the app project is a build error (
BannedSymbols.App.txt), with the one field onAppexempted. Most of the composition root is privateAppmethods no test reaches, so the ban is what guards them.Where to look
BuildAndShowMainWindowtakes the store as a parameter, so a main window rebuilt after a real close reuses the app's store.RS0030when it merges main; Choose a surface material for the desktop app #1035 does.Verification
Expected to be 1552 but found 1400error RS0030at eachdotnet build Capacitor.slnx --no-incrementaldotnet run --project test/Capacitor.App.Tests.Unit🤖 Generated with Claude Code