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
Fusion Agent
c21f628174
FN-101: separate update installation and restart automation
...
Separate automatic update installation from restart recovery so dashboard reloads only after the replacement host is healthy.
- Add scoped update automation settings and localized descriptions.
- Coordinate update installation, restart recovery, timeout handling, and manual refresh guidance.
- Update settings UI, banner behavior, API routes, documentation, screenshots, and regression coverage.
Files changed:
.changeset/fn-101-update-restart-lifecycle.md | 7 ++
docs/assets/fn-101-update-automation-desktop.png | Bin 0 -> 17744 bytes
docs/assets/fn-101-update-automation-mobile.png | Bin 0 -> 11367 bytes
docs/dashboard-guide.md | 6 +-
docs/settings-reference.md | 12 ++-
packages/core/src/config/settings-schema.ts | 9 ++
packages/core/src/config/update-automation.ts | 17 +++
packages/core/src/index.gate.ts | 1 +
packages/core/src/index.ts | 1 +
packages/core/src/types/settings/settings-scope.ts | 8 ++
packages/dashboard/app/api/settings/settings.ts | 4 +
.../dashboard/app/components/SettingsModal.tsx | 38 +++++--
.../app/components/UpdateAvailableBanner.tsx | 33 +++++-
.../__tests__/SettingsModal.general.test.tsx | 39 +++++++
.../__tests__/UpdateAvailableBanner.test.tsx | 59 ++++++++++-
.../app/components/settings/save-split.ts | 5 +-
.../sections/GlobalGeneralSection.search.ts | 22 ++--
.../settings/sections/GlobalGeneralSection.tsx | 29 +++--
.../settings-default-descriptions.test.tsx | 2 +
.../__tests__/useSystemRestartRecovery.test.ts | 118 +++++++++++++++++++++
.../app/hooks/useSystemRestartRecovery.ts | 118 +++++++++++++++++++++
packages/dashboard/src/auto-update.ts | 22 +++-
.../src/routes/register-update-check-routes.ts | 24 +++-
.../dashboard/src/update-install-coordinator.ts | 37 +++++++
packages/i18n/locales/en/app.json | 4 +
packages/i18n/locales/es/app.json | 4 +
packages/i18n/locales/fr/app.json | 4 +
packages/i18n/locales/ko/app.json | 4 +
packages/i18n/locales/pt-BR/app.json | 8 ++
packages/i18n/locales/zh-CN/app.json | 4 +
packages/i18n/locales/zh-TW/app.json | 4 +
packages/i18n/src/resources.d.ts | 4 +
32 files changed, 602 insertions(+), 45 deletions(-)
Fusion-Task-Id: FN-101
Fusion-Task-Lineage: 2d00e84e-a01d-4d19-bb02-aa87a818165b
Co-authored-by: Fusion <noreply@runfusion.ai >
2026-08-21 04:36:21 +00:00
gsxdsm
eee04bc1a8
FN-8248: fix Quick Chat popup stacking
...
Make Quick Chat and task popups honor their most recent interaction order.
- Place Quick Chat in the task-detail peer stack while retaining higher utility windows.
- Raise Create Room dialogs above Chat on each open, including mobile sheets.
- Add stacking regression coverage and operator documentation with screenshots.
Files changed:
docs/assets/fn-8248-chat-above-task.png | Bin 0 -> 55108 bytes
docs/assets/fn-8248-mobile-create-room.png | Bin 0 -> 56699 bytes
docs/assets/fn-8248-task-above-chat.png | Bin 0 -> 74263 bytes
docs/dashboard-guide.md | 5 +-
packages/dashboard/app/App.tsx | 13 +++-
.../dashboard/app/components/CreateRoomModal.tsx | 15 ++++-
.../dashboard/app/components/FloatingWindow.tsx | 11 +++-
.../components/__tests__/CreateRoomModal.test.tsx | 72 +++++++++++++++++++++
.../FloatingWindowStack.cross-type.test.tsx | 37 +++++++----
.../app/components/floatingWindowStack.ts | 10 +--
10 files changed, 139 insertions(+), 24 deletions(-)
Fusion-Task-Id: FN-8248
Fusion-Task-Lineage: 94ef20f1-96da-4249-9812-169f780c9451
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-17 16:34:16 -07:00
gsxdsm
f6806f06cb
feat: live lifecycle warning analysis with one-click Fix / Fix all
...
Lifecycle warnings now recompute client-side from the live graph for
editable workflows, so the banner reflects edits immediately instead of
waiting for a save round-trip. The two deterministically fixable codes gain
one-click fixes in the banner (all view modes):
- missing-merge-region inserts a Merge boundary in front of end;
- missing-completion-summary inserts the canonical completion-summary node
(config from @fusion/core's completionSummaryNode) upstream of the merge
region when one exists, else in front of end.
"Fix all" on the collapsed summary line applies both in order, producing
start → summary → merge → end on a fresh workflow in one click. The other
three codes are structural judgment calls and stay manual.
analyzeWorkflowLifecycle + completionSummaryNode are pure and now re-export
through core's browser-safe types.ts alias entry.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-11 18:06:22 -07:00
gsxdsm
a25cf9cfe3
docs: add simplified workflow view screenshots
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-11 18:06:22 -07:00
gsxdsm
690a49f8da
docs: add post-review-fix insights screenshot for PR #2003
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-11 17:16:49 -07:00
gsxdsm
1d2d73ba5c
fix(memory): fix insights parsing + modernize Memory, Insights, Todos, and agent Memory UI
...
- parseInsightsContent stripped bullet prefixes before filtering for them, so every
insights category rendered as one blob and counts were wrong (5 shown vs 84 real)
- drop dead GET /memory and GET /memory/stats mount fetches from useMemoryData and
stop refetching the file list on every file selection
- Memory view: full-width layout, accent tabs, 2-column Engines card grid, remove
duplicated capability badges, correct spacing-token-as-font-size rules
- Todos: single-row items with quiet inline action cluster (stacked on narrow/mobile)
- Insights: flat card list (no card-in-card), 28px/16px actions muted until hover
- Agent Memory tab: shared FileEditor (CodeMirror) for memory files, per-section save
actions, distinct inline-toggle aria-labels, fix {{date}} i18n interpolation
- PR screenshots under docs/assets/memory-ui-review-2026-07/
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-11 17:16:49 -07:00