Commit Graph

7 Commits

Author SHA1 Message Date
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