FN-6386: add one-click update installation
Add a dashboard update action that installs available Fusion releases directly from the UI.
- Add an install-update API route backed by npm global install with bin-collision retry handling.
- Add Update now controls, loading/error/success states, and responsive styling to the update banner and settings modal.
- Extend localization, documentation, changeset coverage, and update-check tests for the new install flow.
Files changed:
.changeset/fn-6386-update-now-button.md | 5 +
docs/dashboard-guide.md | 4 +
docs/settings-reference.md | 2 +
packages/dashboard/app/api/legacy.ts | 13 ++
.../dashboard/app/components/SettingsModal.css | 38 +++++-
.../dashboard/app/components/SettingsModal.tsx | 96 ++++++++++++--
.../app/components/UpdateAvailableBanner.css | 46 +++++++
.../app/components/UpdateAvailableBanner.tsx | 103 ++++++++++++---
.../components/__tests__/SettingsModal.test.tsx | 79 +++++++++++
.../__tests__/UpdateAvailableBanner.test.tsx | 57 +++++++-
.../components/__tests__/settings-mobile.test.tsx | 19 +++
.../src/__tests__/update-check-route.test.ts | 78 ++++++++++-
.../dashboard/src/__tests__/update-check.test.ts | 45 +++++++
.../src/routes/register-update-check-routes.ts | 25 +++-
packages/dashboard/src/update-check.ts | 93 +++++++++++++
packages/i18n/locales/en/app.json | 14 +-
packages/i18n/src/resources.d.ts | 146 ++++++++++++++++++++-
17 files changed, 819 insertions(+), 44 deletions(-)
Fusion-Task-Id: FN-6386
Fusion-Task-Lineage: bcccf253-c0f1-493e-b849-b189a65d1479