BillTracker/client/components/data
null 542ab5e382 feat: configurable sync interval, auto-match, encryption note, admin link, SimpleFIN hyperlink
#1 Sync interval in admin UI:
- bankSyncConfigService: reads simplefin_sync_interval_hours from settings
  (DB-first, env fallback, default 4h), setSyncIntervalHours() with validation
- bankSyncWorker: live-updates interval from getBankSyncConfig() each tick
- routes/admin: PUT accepts enabled and sync_interval_hours independently
- BankSyncAdminCard: number input (0.5 step, 0.5-168 range), dirty-checks both

#3 Auto-match after background sync:
- matchSuggestionService: autoMatchForUser() auto-applies suggestions ≥80
  score (exact amount + date ±1d + name signal), lazy-requires matchTransactionToBill
- bankSyncWorker: calls autoMatchForUser after each successful sync, own try/catch

#4 Encryption note in BankSyncAdminCard below worker status panel

Also: error handling, admin link in tracker sidebar, SimpleFIN bridge hyperlink
2026-05-29 00:28:50 -05:00
..
BankSyncSection.jsx feat: configurable sync interval, auto-match, encryption note, admin link, SimpleFIN hyperlink 2026-05-29 00:28:50 -05:00
DownloadMyDataSection.jsx style: global readability/theme pass 2026-05-28 23:18:14 -05:00
ImportHistorySection.jsx refactor: component splits, PWA support, CommandPalette 2026-05-28 20:53:22 -05:00
ImportMyDataSection.jsx refactor: component splits, PWA support, CommandPalette 2026-05-28 20:53:22 -05:00
ImportSpreadsheetSection.jsx style: global readability/theme pass 2026-05-28 23:18:14 -05:00
ImportTransactionCsvSection.jsx refactor: component splits, PWA support, CommandPalette 2026-05-28 20:53:22 -05:00
SeedDemoDataSection.jsx style: CalendarPage readability pass + DataPage fix 2026-05-28 21:40:27 -05:00
TransactionMatchingSection.jsx feat: DB-first bank sync config, admin toggle, extracted BankSyncSection 2026-05-28 22:06:15 -05:00
dataShared.jsx refactor: component splits, PWA support, CommandPalette 2026-05-28 20:53:22 -05:00