Fusion Agent
b2125aeb2d
FN-104: preserve update restart state
Preserve a pending update across Settings reopen while coordinating installation and restart behavior.
- Add pending-update install state and coordinator flows across dashboard and system controls.
- Expose health/settings update APIs and retain restart state through modal reopen.
- Cover desktop/mobile UX, route behavior, coordinator logic, and document the update flow.
Files changed:
.changeset/fn-104-pending-update-restart.md | 7 ++
docs/architecture.md | 3 +
docs/assets/fn-104-pending-update-desktop.png | Bin 0 -> 10926 bytes
docs/assets/fn-104-pending-update-mobile.png | Bin 0 -> 6101 bytes
docs/dashboard-guide.md | 2 +-
docs/settings-reference.md | 2 +-
packages/core/src/task-store/task-creation.ts | 1 -
packages/dashboard/app/api/client/health.ts | 12 ++++
packages/dashboard/app/api/settings/settings.ts | 3 +
.../dashboard/app/components/SettingsModal.tsx | 46 ++++++++-----
.../app/components/UpdateAvailableBanner.tsx | 20 ++++--
.../__tests__/SettingsModal.general.test.tsx | 6 ++
.../__tests__/SettingsModal.models-auth.test.tsx | 72 +++++++++++++++++++
.../__tests__/UpdateAvailableBanner.test.tsx | 2 +
.../components/__tests__/settings-mobile.test.tsx | 3 +
.../command-center/areas/SystemControlsArea.tsx | 18 +++--
.../__tests__/usePendingUpdateInstall.test.ts | 44 ++++++++++++
.../dashboard/app/hooks/usePendingUpdateInstall.ts | 76 +++++++++++++++++++++
packages/dashboard/app/hooks/useUpdateCheck.ts | 8 +++
.../dashboard/src/__tests__/auto-update.test.ts | 18 +++++
.../__tests__/update-install-coordinator.test.ts | 36 ++++++++++
packages/dashboard/src/auto-update.ts | 14 +++-
.../__tests__/register-update-check-routes.test.ts | 14 ++++
.../src/routes/register-update-check-routes.ts | 31 ++++++++-
.../dashboard/src/update-install-coordinator.ts | 23 +++++++
25 files changed, 425 insertions(+), 36 deletions(-)
Fusion-Task-Id: FN-104
Fusion-Task-Lineage: c754b258-654d-4efe-9b12-1addc7ed190b
Co-authored-by: Fusion <noreply@runfusion.ai>
2026-08-21 14:41:37 +00:00
..
2026-08-20 22:40:47 -07:00
2026-08-20 22:40:47 -07:00
2026-08-20 22:40:47 -07:00
2026-08-21 14:41:37 +00:00
2026-08-20 22:40:47 -07:00
2026-08-20 22:40:47 -07:00
2026-08-20 22:40:47 -07:00
2026-08-20 22:40:47 -07:00
2026-08-20 22:40:47 -07:00
2026-08-20 22:40:47 -07:00
2026-07-27 19:40:08 -07:00
2026-08-20 22:40:47 -07:00