Conversation
Unread project state was previously ephemeral and lost on app restart. Now persisted to preferences.json and the macOS dock icon is badged with the count of unread projects. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5e66cdf872
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| // Restore persisted unread state and sync the dock badge. | ||
| try { | ||
| await projectStateStore.initFromStore(); |
There was a problem hiding this comment.
Initialize unread state before pruning deleted projects
initNavigation() now calls projectStateStore.pruneDeletedProjects(...), but this startup block restores unread IDs only afterwards, so prune runs against an empty in-memory map and cannot remove stale persisted unread IDs. In the current order (App.svelte calls initNavigation() before projectStateStore.initFromStore()), deleted projects can still be restored as unread on restart and inflate the dock badge count; loading unread state first (or pruning the persisted IDs directly) avoids that mismatch.
Useful? React with 👍 / 👎.
Previously pruneDeletedProjects iterated over the in-memory states map, which was empty when called before initFromStore(). Now reads directly from the persistent store so stale unread entries are correctly removed regardless of initialization order. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Summary
core:window:allow-set-badge-countTauri capabilityundefinedinstead ofnullforsetBadgeCountparameterTest plan
🤖 Generated with Claude Code