Files
actual/packages
23ad162fb7 [AI] Persist bank sync status in the accounts table (#8017)
* [AI] Persist bank sync status in the accounts table

Extracts the persisted bank-sync-status half of #7782 (by @jcam): adds a
bank_sync_status column to the accounts table, writes the status
(pending/ok/failed/reauth-required/attention-required) during native bank
syncs, and reads the persisted value in the UI (sidebar, account header,
mobile account pages, and the sync banner) instead of ephemeral Redux state.

https://claude.ai/code/session_014MXn6Qi8skvFL9kXw7ctFD

* [AI] Add release note for persisted bank sync status

https://claude.ai/code/session_014MXn6Qi8skvFL9kXw7ctFD

* [AI] Persist only durable failure states, keep pending ephemeral

Addresses review feedback: a transient 'pending' write could get stuck in
the DB (and propagated via CRDT) if the app closed mid-sync. The DB now only
stores durable result states (ok / failed / reauth-required / attention-
required); pending stays in ephemeral Redux state (account.accountsSyncing)
as before. The UI reads only the persisted failure state via isAccountFailedSync,
and the BankSyncStatus banner reverts to the ephemeral in-flight count.

Also extracts a persistBankSyncError helper and inlines a redundant wrapper.

https://claude.ai/code/session_014MXn6Qi8skvFL9kXw7ctFD

* [AI] Un-export AccountSyncSidebar, refine release note

- AccountSyncSidebar is internal again; drop the export-only-for-test and its
  test (the failure logic is already covered by syncStatus.test.ts).
- Credit MatissJanis in the release note and make it user-centric.

https://claude.ai/code/session_014MXn6Qi8skvFL9kXw7ctFD

* [AI] Publish account changes in bank-sync sync-events

handleSyncResponse writes accounts.last_sync and accounts.bank_sync_status,
but the sync-events following it only declared tables: ['transactions'], so
clients only refetch useAccounts when the event includes 'accounts'. Add
'accounts' to the six emissions that follow handleSyncResponse (the four link
flows and the two batch-sync finals) so the persisted account changes are
published everywhere, not just on the triggering client.

https://claude.ai/code/session_014MXn6Qi8skvFL9kXw7ctFD

* [AI] Re-timestamp bank_sync_status migration after master

A newer migration (add_tags_hidden) landed on master, so bump the
bank_sync_status migration's timestamp to remain the latest and satisfy the
migration-ordering check.

https://claude.ai/code/session_014MXn6Qi8skvFL9kXw7ctFD

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-06-04 21:24:24 +00:00
..
2026-06-01 16:30:43 +00:00
2026-06-01 16:30:43 +00:00
2026-06-01 16:30:43 +00:00