null
|
22df64e5e7
|
feat: auto-sync worker for SimpleFIN bank sync
New:
services/bankSyncWorker.js — interval-based worker running every 4h (configurable via SIMPLEFIN_SYNC_INTERVAL_HOURS)
- Checks bank sync enabled, fetches oldest-synced sources, skips <1h old
- Staggers syncs 3s apart, writes last_error on failure, timer.unref() for clean shutdown
Modified:
server.js — starts worker inside app.listen callback
routes/admin.js — GET bank-sync-config includes worker status (running, interval, last/next run)
client/components/admin/BankSyncAdminCard.jsx — shows auto-sync worker status panel when enabled
.env.example — SIMPLEFIN_SYNC_INTERVAL_HOURS
|
2026-05-28 22:32:33 -05:00 |
null
|
88a4b64924
|
feat: DB-first bank sync config, admin toggle, extracted BankSyncSection
New:
services/bankSyncConfigService.js — bank_sync_enabled from settings table, env fallback
client/components/admin/BankSyncAdminCard.jsx — single toggle + encryption key status
client/components/data/BankSyncSection.jsx — full connection management extracted from SettingsPage
Modified:
routes/dataSources.js — per-request getBankSyncConfig() instead of module-level env check
routes/admin.js — GET/PUT /api/admin/bank-sync-config
AdminPage.jsx — renders BankSyncAdminCard after EmailNotifCard
SettingsPage.jsx — BankSyncSection removed, 580->352 lines
DataPage.jsx — BankSyncSection first, passes simplefinConn to TransactionMatchingSection
TransactionMatchingSection.jsx — compact sync bar with green dot + Sync Now
Layout.jsx — SimplefinBadge shows muted dot when enabled
client/api.js — bankSyncConfig API calls
|
2026-05-28 22:06:15 -05:00 |
null
|
8cab248959
|
security fixes
|
2026-05-28 03:59:35 -05:00 |
null
|
b124e48ebc
|
v0.28.0
|
2026-05-16 15:38:28 -05:00 |
null
|
48fe87ea25
|
corrections
|
2026-05-14 01:17:05 -05:00 |
null
|
52db06001f
|
v0.23.1: migration rollback capability
- Add rollbackMigration() function in db/database.js with transaction safety
- Add POST /api/admin/migrations/rollback endpoint (admin-only)
- Rollback SQL for v0.44 (indexes), v0.45 (audit_log table), v0.46 (cycle columns)
- Error codes: NOT_APPLIED (404), ROLLBACK_NOT_SUPPORTED (422)
- Audit logging for rollback events
- Fix duplicate migrationStartTime declaration from v0.23.0 commit
- Fix broken migration completion audit log from v0.23.0 commit
- Fix DB path exposure (uses path.basename() now)
|
2026-05-10 10:44:39 -05:00 |
null
|
7503a54f81
|
v0.20.6: Audit logging for critical operations
- New audit_log table (migration v0.45) with indexes
- logAudit() service with try/catch safety (never crashes app)
- Audit events: login.success, login.failure, logout, password.change, role.change, csrf.failure, profile.update, profile.settings.update
- All events include ip_address and user_agent
- No passwords, tokens, or session IDs logged
- Hudson security audit: 7/7 PASS
|
2026-05-10 00:03:12 -05:00 |
kaspa
|
4d1709aea3
|
push
|
2026-05-09 13:03:36 -05:00 |
_null
|
3228332e8c
|
push
|
2026-05-04 23:34:24 -05:00 |
_null
|
b9d1366d46
|
initial commit
|
2026-05-03 19:51:57 -05:00 |