Money import cancellation can leave the landing route without restoring its Budget #1410

Closed
opened 2026-10-07 22:11:55 +00:00 by kayg · 2 comments
Owner

Found in #1403 with the real local server and merged production SPA. The unchanged Money screenshot/acceptance walk reproduces this after a real populated CSV Budget preview is cancelled at 390 px.

The owning Job DELETE returns the expected 204. The wizard closes and the follow-up Budget listing returns 200; no imported Budget is created. After 30 seconds the route diagnostic is:

Money cancellation return diagnostic {"pathname":"/money","importVisible":false,"budgetReady":false}

The existing test expects the landing route to restore /money/household/<current month> and its Ready to Assign report, then open the next import from its header. Two runs stopped at that unchanged expectation. The first run also records its waitForURL timeout.

Investigate landing navigation and cached Budget lists after cancellation. The fixture enables Money before creating the real household Budget via API, so check stale empty Budget state as well as competing route navigation. Root cause is not yet proved. Preserve the 204 and no-new-Budget assertions. No data loss, crash or authorization failure was observed; this is a non-blocking navigation/empty-state finding.

Merge-round evidence: money-e2e-final.log, money-e2e-diagnostic.log, plus the populated budget/import frames attached to #1403. The merge round does not claim this UI walk passed.

Found in #1403 with the real local server and merged production SPA. The unchanged Money screenshot/acceptance walk reproduces this after a real populated CSV Budget preview is cancelled at 390 px. The owning Job DELETE returns the expected 204. The wizard closes and the follow-up Budget listing returns 200; no imported Budget is created. After 30 seconds the route diagnostic is: ``` Money cancellation return diagnostic {"pathname":"/money","importVisible":false,"budgetReady":false} ``` The existing test expects the landing route to restore `/money/household/<current month>` and its Ready to Assign report, then open the next import from its header. Two runs stopped at that unchanged expectation. The first run also records its waitForURL timeout. Investigate landing navigation and cached Budget lists after cancellation. The fixture enables Money before creating the real household Budget via API, so check stale empty Budget state as well as competing route navigation. Root cause is not yet proved. Preserve the 204 and no-new-Budget assertions. No data loss, crash or authorization failure was observed; this is a non-blocking navigation/empty-state finding. Merge-round evidence: `money-e2e-final.log`, `money-e2e-diagnostic.log`, plus the populated budget/import frames attached to #1403. The merge round does not claim this UI walk passed.
Author
Owner

Fixed on job/bash3-money in commit 355f264e9 (fix(money): refresh empty Budget catalog on landing (#1410)). The Money store now revalidates an empty cached Budget list before /money can show the empty state. The regression test seeds the cached empty catalog and returns the existing Household Budget from the real list adapter.

Evidence: the production node e2e/money.mjs run passes its Budget import-review cancellation flow and restores the current Budget at 390, 820 and 1440 px in light and dark themes. The focused store test passes 10/10. No new Budget is created by cancellation.

Fixed on `job/bash3-money` in commit `355f264e9` (`fix(money): refresh empty Budget catalog on landing (#1410)`). The Money store now revalidates an empty cached Budget list before `/money` can show the empty state. The regression test seeds the cached empty catalog and returns the existing Household Budget from the real list adapter. Evidence: the production `node e2e/money.mjs` run passes its Budget import-review cancellation flow and restores the current Budget at 390, 820 and 1440 px in light and dark themes. The focused store test passes 10/10. No new Budget is created by cancellation.
Author
Owner

Deployed to calternal.cloud in merge round 35a (build cc1af3c12, live 2026-10-09 00:12 IST). Closing.

Deployed to calternal.cloud in merge round 35a (build cc1af3c12, live 2026-10-09 00:12 IST). Closing.
kayg closed this issue 2026-10-08 18:42:02 +00:00
Commenting is not possible because the repository is archived.
No labels
No milestone
No project
No assignees
1 participant
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/calternal-v0#1410
No description provided.