Repository navigation
Backlog: data integrity, auth hardening, local time, accessible forms, code splitting - #2
Merged
Merged
Conversation
The desktop app (desktop/) replaces it: its tray popover, Dock menu and widgets cover everything the separate menu-bar app did. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Addons and integrations are keyed per workspace (rebuilt unique keys via an idempotent, verified migration); deleting a workspace removes all of its rows and files; deleting an account removes personal workspaces and hands shared records to the workspace owner - Forced password reset is enforced server-side: no session before the reset (short-lived reset token), existing sessions revoked; password changes (self or admin) revoke other sessions; in-memory rate limiting on login, reset and passkey sign-in; passkey-only accounts can set a first password and delete their account by confirming their email - Global client sources need a system admin; addon settings need the workspace owner/admin - Monthly/yearly recurrences keep their day (31.1 -> 28.2 -> 31.3); stats ranges and months follow the user's local days; recurring due dates are correct east of UTC - Validation fixes: partial credential updates keep fields, paid_date cleared when leaving paid, non-positive expense updates rejected, catalog price 0 kept - 442 tests Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- The forced password reset happens before the user enters the app and the new password is masked; prompts support input types - Every form label is linked to its field (useId); e2e uses getByLabel - Pages load per route (React.lazy) with CSS kept in one file in the original order: main chunk 1,026kB -> 412kB, screenshots unchanged - Dashboard stats keep the selected month/range across workspace switches and use local day/month boundaries - Admins can manage workspace settings like on the server; profile supports passkey-only accounts; removed two unused pages - 378 unit tests, 31 e2e tests Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Clears the whole backlog from the first round (see
BACKLOG.md, all itemsdone).Server
Client
useId); e2e usesgetByLabel.Desktop & cleanup
Tests: 442 server · 378 client · 31 e2e · 5 desktop.
🤖 Generated with Claude Code