gsxdsm
873f339ddd
FN-9040: show backup status and preserve schedules
Expose database backup inventory and schedule execution evidence while keeping scheduled backups due after unchanged settings saves.
- Display backup files, empty and error states, and automatic schedule details in Settings.
- Reconcile the shared backup routine at engine startup and retain its next run when settings are unchanged.
- Add API, localization, documentation, and regression coverage for backup status and scheduling.
Files changed:
.changeset/fn-9040-database-backups-visibility.md | 7 ++
docs/dashboard-guide.md | 2 +-
docs/settings-reference.md | 4 +
.../src/__tests__/backup-schedule-status.test.ts | 124 +++++++++++++++++++++
.../core/src/automation/global-routine-store.ts | 31 +++++-
packages/core/src/backup/backup.ts | 95 ++++++++++++++--
packages/core/src/index.gate.ts | 4 +-
packages/core/src/index.ts | 4 +-
.../app/api/agents/agent-import-generation.ts | 14 +++
packages/dashboard/app/api/legacy.ts | 1 +
.../dashboard/app/components/SettingsModal.tsx | 12 +-
.../__tests__/SettingsModal.test-harness.tsx | 7 +-
.../__tests__/SettingsModalNodeRouting.test.tsx | 2 +-
.../components/__tests__/settings-mobile.test.tsx | 2 +-
.../settings/sections/DatabaseBackupsSection.css | 24 ++++
.../settings/sections/DatabaseBackupsSection.tsx | 67 ++++++-----
.../__tests__/DatabaseBackupsSection.test.tsx | 45 ++++++++
.../register-system-maintenance-routes.test.ts | 47 +++++++-
.../routes/register-system-maintenance-routes.ts | 46 ++++++--
.../src/__tests__/in-process-runtime.pg.test.ts | 15 ++-
packages/engine/src/runtimes/in-process-runtime.ts | 13 +++
packages/i18n/locales/en/app.json | 17 ++-
packages/i18n/locales/es/app.json | 17 ++-
packages/i18n/locales/fr/app.json | 17 ++-
packages/i18n/locales/ko/app.json | 17 ++-
packages/i18n/locales/pt-BR/app.json | 17 ++-
packages/i18n/locales/zh-CN/app.json | 17 ++-
packages/i18n/locales/zh-TW/app.json | 17 ++-
packages/i18n/src/resources.d.ts | 28 ++++-
29 files changed, 623 insertions(+), 90 deletions(-)
Fusion-Task-Id: FN-9040
Fusion-Task-Lineage: 29a803a2-0784-4a99-b7cb-2f67d105254b
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-08-13 17:22:46 -07:00
..
2026-08-13 17:22:46 -07:00
2026-08-11 05:45:36 -07:00
2026-08-12 14:07:30 -07:00
2026-08-03 00:20:53 -07:00
2026-08-03 00:20:53 -07:00
2026-08-03 00:20:53 -07:00
2026-08-07 21:43:28 -07:00
2026-08-10 12:01:25 -07:00
2026-08-03 00:20:53 -07:00
2026-08-12 15:51:22 -07:00
2026-08-12 21:15:53 -07:00
2026-08-03 00:20:53 -07:00
2026-08-03 00:20:53 -07:00
2026-08-10 03:31:50 -07:00
2026-08-03 00:20:53 -07:00
2026-08-10 17:50:27 -07:00
2026-08-11 05:45:36 -07:00
2026-08-11 15:20:19 -07:00
2026-08-11 17:53:40 -07:00
2026-08-11 12:34:47 -07:00
2026-08-03 00:20:53 -07:00
2026-08-03 00:20:53 -07:00
2026-08-09 04:50:30 -07:00
2026-08-03 00:20:53 -07:00
2026-08-03 00:20:53 -07:00
2026-08-09 15:23:59 -10:00
2026-08-11 05:45:36 -07:00
2026-08-10 15:19:43 -10:00
2026-08-13 17:22:46 -07:00
2026-08-03 00:20:53 -07:00
2026-08-03 00:20:53 -07:00
2026-08-11 11:29:30 -10:00
2026-08-03 00:20:53 -07:00
2026-08-03 00:20:53 -07:00
2026-08-11 05:45:36 -07:00
2026-08-07 20:27:04 -07:00
2026-08-11 13:34:27 -07:00
2026-08-09 19:39:39 -10:00
2026-08-03 00:20:53 -07:00
2026-08-11 05:45:36 -07:00
2026-08-11 05:45:36 -07:00
2026-07-30 21:50:37 -07:00
2026-08-01 08:20:29 -07:00
2026-08-04 10:52:12 -07:00
2026-08-02 17:06:38 -07:00
2026-08-09 15:46:09 -10:00
2026-08-11 19:00:44 -07:00
2026-08-11 04:57:14 -07:00
2026-08-12 14:07:30 -07:00
2026-08-12 21:24:53 -07:00
2026-08-04 00:20:08 -07:00
2026-07-30 00:00:46 -07:00
2026-08-11 21:44:22 -07:00
2026-08-09 04:50:30 -07:00
2026-08-11 05:45:36 -07:00
2026-07-27 17:37:20 -07:00
2026-08-12 15:14:32 -07:00
2026-08-03 00:20:53 -07:00
2026-08-11 21:44:22 -07:00
2026-08-10 16:44:19 -07:00
2026-07-30 23:13:34 -07:00
2026-08-12 21:24:53 -07:00
2026-08-03 00:20:53 -07:00
2026-08-09 17:04:55 -07:00