feat: add month breakdown and session backups
Allow recurring costs and confirmations to remain unassigned when created from a purchase without a post. Add browser backup retention and restore controls, with coverage and documentation updates.
This commit is contained in:
1 parent
019517e6e9
commit
7cccd7a41a
32 files changed
+640
-41
No files matched your search
+4
-14
@@ -9,9 +9,10 @@ each recording the alternatives that were rejected. Rules that outlived their
|
||||
task moved to `AGENTS.md`.
|
||||
|
||||
**Current state:** the anchored model is merged with budget folders and
|
||||
placement. 870 tests passing across 61 files. `bunx tsc --noEmit` is clean;
|
||||
`bun run --bun build` succeeds using the committed seed rates when live-fetch
|
||||
is unavailable. The runtime override bypasses a broken local Bun shim.
|
||||
placement. The month pie showcase, browser-stored session backups, and
|
||||
unassigned recurring costs are implemented. 881 tests pass across 64 files;
|
||||
`bunx tsc --noEmit` is clean, and `SKIP_FX_FETCH=1 bun run build` succeeds
|
||||
using the committed seed rates.
|
||||
|
||||
**Schema is at version 11.** v1 -> v2 made allocation rules a dated series;
|
||||
v2 -> v3 moved currencies into the dataset; v3 -> v4 drops a stored rate-service
|
||||
@@ -153,17 +154,6 @@ reintroduce the bug the anchored model exists to fix.
|
||||
The anchored model was merged on 2026-09-30, after main had gained budget
|
||||
folders, placement and nested bills. Everything below is known and unfinished.
|
||||
|
||||
### "+ New recurring cost…" is offered for a purchase with no post
|
||||
|
||||
`newCostOptionIsSelectable` in `src/ui/recurringForm.ts` checks only the date.
|
||||
A bill needs at least one destination post (`requireRecurringSplitDestinations`
|
||||
in `src/store/actions.ts`), so a purchase left unassigned (no splits) can pick
|
||||
the option, and Save is then refused with "A bill needs a destination post".
|
||||
The error surfaces and the dialog stays open, so nothing is lost — but it is a
|
||||
doomed save the dialog could have prevented. Disable the option, with the
|
||||
reason, while the draft has no splits, the same way a month-only date disables
|
||||
the day-granular units.
|
||||
|
||||
### A bill created from the purchase dialog has no folder choice
|
||||
|
||||
Settings' new-bill form picks a folder; the dialog's "+ New recurring cost…"
|
||||
|
||||
Reference in new issue
Block a user