Skip to content

Harden exports, persistence, and query efficiency - #25

Merged
11sid11 merged 28 commits into
mainfrom
agent/codebase-quality-followup
Aug 18, 2026
Merged

Harden exports, persistence, and query efficiency#25
11sid11 merged 28 commits into
mainfrom
agent/codebase-quality-followup

Conversation

@11sid11

@11sid11 11sid11 commented Aug 18, 2026

Copy link
Copy Markdown
Owner

What changed

  • Fix derived ZIP people summaries so Split activity is scoped to the correct trip and canonical Split/Lend balance rules are reused.
  • Preserve exact currency precision in CSV/ZIP exports, including zero- and three-decimal currencies.
  • Build JSON backups and ZIP packages from read-only IndexedDB snapshots.
  • Use existing Track/person indexes and map-based grouping to reduce repeated full-table and per-group scans.
  • Move Settings/Search raw DB reads behind query/repository boundaries.
  • Make Lend ledger delete/restore cascades atomic and add rollback coverage.
  • Tighten generic repository table typing.
  • Improve startup/onboarding/settings error handling and remove destructive storage-reset guidance.
  • Simplify Data & Storage copy so portable backups vs CSV exports are clearer.
  • Add modal focus entry, focus trapping, and focus restoration.

Why

A codebase audit found one real export correctness bug plus several contained data-consistency, efficiency, and UX ambiguities. This PR fixes those findings without changing the app architecture, financial schema, dependencies, or module independence.

Regression coverage

  • multi-trip Split balances in ZIP people summary
  • JPY/KWD/INR export precision
  • Lend cascade rollback on write failure
  • modal focus lifecycle
  • month range helper behavior

Expected checks

  • typecheck
  • lint
  • unit/integration tests
  • production build

@11sid11
11sid11 merged commit b385cfa into main Aug 18, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant