gsxdsm
a4049971e5
FN-7401: add Glass Silver dashboard theme
...
Adds a frosted silver/gray dashboard color theme across app, desktop, and release metadata.
- Register glass-silver in shared theme types, selector options, and startup validation hooks.
- Add Glass Silver CSS tokens, swatch styling, and dashboard/desktop stylesheet preload coverage.
- Cover theme registration, dropdown/selector rendering, theme persistence, and CSS token invariants with tests.
- Document the new dashboard theme and publish a minor changeset for @runfusion/fusion.
Files changed:
.changeset/fn-7401-glass-silver-theme.md | 7 +
docs/dashboard-guide.md | 3 +-
packages/core/src/types.ts | 2 +
.../app/__tests__/glass-silver-theme.test.ts | 155 ++++++++++++++++++++
.../dashboard/app/components/ThemeSelector.css | 14 ++
.../components/__tests__/ThemeDropdown.test.tsx | 13 ++
.../components/__tests__/ThemeSelector.test.tsx | 16 +++
packages/dashboard/app/components/themeOptions.ts | 1 +
.../dashboard/app/hooks/__tests__/useTheme.test.ts | 15 ++
packages/dashboard/app/index.html | 2 +-
packages/dashboard/app/public/theme-data.css | 156 +++++++++++++++++++++
packages/desktop/src/renderer/index.html | 1 +
12 files changed, 383 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-7401
Fusion-Task-Lineage: e64f14cc-590e-458b-adf6-7c9baa488157
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-01 18:01:17 -07:00
gsxdsm
a1af5de609
fix(anthropic): restore direct OAuth execution for Claude subscriptions
...
Claude subscription (Max/Pro) chats regressed to 404/502/429 because
FN-7396 rerouted subscription OAuth to a /v1-based `anthropic-subscription`
runtime provider — reintroducing issue #1857 that FN-7391 had fixed. Both
routed the OAuth token to api.anthropic.com/v1, the surface that broke.
Proven in code that v0.51.0 (working) sent subscription OAuth directly to
/v1 via pi-ai's built-in `anthropic` provider (Claude Code impersonation:
Bearer + anthropic-beta oauth headers), NOT through the CLI. Restore that:
- auth-storage: getApiKey("anthropic") resolves subscription/legacy OAuth
again (raw API key still wins), so the built-in provider gets the token.
- pi.ts: remove the runtime reroute and the /v1 `anthropic-subscription`
execution provider so anthropic/* selections stay on the built-in provider.
- register-model-routes: advertise `anthropic` for OAuth users so direct
OAuth is selectable in the picker.
Three independent surfaces, no rerouting: direct OAuth, raw ANTHROPIC_API_KEY
(precedence), and explicit pi-claude-cli.
Fixes #1857
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-01 15:40:16 -07:00
gsxdsm
19e59ec6c8
FN-7396: separate Anthropic OAuth routing paths
...
Separate Anthropic subscription OAuth execution from raw API-key and Claude CLI routing.
- Route subscription-backed Anthropic selections through a dedicated anthropic-subscription provider instead of raw anthropic API-key storage or implicit CLI execution.
- Preserve Anthropic OAuth refresh, status, usage, and re-login banner behavior across separated and legacy credential rows.
- Add dashboard and engine coverage for OAuth subscription auth, raw API-key isolation, and explicit Claude CLI routing.
- Document the separated Anthropic subscription, API-key, and CLI surfaces and add a release changeset.
Files changed:
.../fn-7396-anthropic-oauth-cli-api-paths.md | 7 ++
docs/dashboard-guide.md | 4 +-
docs/settings-reference.md | 12 ++-
.../__tests__/OAuthReloginBanner.test.tsx | 118 +++++++++++++++++++++
.../dashboard/src/__tests__/routes-auth.test.ts | 29 +++++
packages/dashboard/src/__tests__/usage.test.ts | 109 ++++++++++++++++++-
.../dashboard/src/routes/register-auth-routes.ts | 20 +++-
packages/dashboard/src/usage.ts | 21 +++-
packages/engine/src/__tests__/auth-storage.test.ts | 65 ++++++++++++
.../src/__tests__/pi-create-fn-agent.test.ts | 55 ++++++++--
packages/engine/src/auth-storage.ts | 61 +++++++++--
packages/engine/src/pi.ts | 70 ++++++++----
12 files changed, 521 insertions(+), 50 deletions(-)
Fusion-Task-Id: FN-7396
Fusion-Task-Lineage: f5f42a40-b855-46ad-b2ae-3509e903f286
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-01 15:39:34 -07:00
gsxdsm
1ccef81950
FN-7393: add planner chat task metrics access
...
Planner chat can now answer read-only task usage and timing questions with scoped metrics context.
- Add a task-scoped metrics tool for token, cost, runtime, timing-event, workflow-step, and per-model usage summaries.
- Wire planner chat to expose the metrics tool only for task-detail planner sessions.
- Cover metric aggregation, stale pricing uncertainty, chat tool routing, and planner context behavior with dashboard tests.
- Document planner chat metrics support and add a published package changeset.
Files changed:
.changeset/fn-7393-planner-metrics.md | 7 +
docs/dashboard-guide.md | 2 +-
.../dashboard/src/__tests__/chat-manager.test.ts | 153 +++++++
.../__tests__/task-planner-chat-metrics.test.ts | 243 +++++++++++
packages/dashboard/src/chat.ts | 61 ++-
.../dashboard/src/task-planner-chat-context.ts | 5 +-
.../dashboard/src/task-planner-chat-metrics.ts | 445 +++++++++++++++++++++
7 files changed, 912 insertions(+), 4 deletions(-)
Fusion-Task-Id: FN-7393
Fusion-Task-Lineage: aed7574e-67cf-49af-982f-dfd4620ebe0a
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-01 15:39:34 -07:00
gsxdsm
4beae7130d
FN-7392: suppress hidden planner chat unread badges
...
Suppress hidden task-planner chat replies from triggering the global unread badge while preserving opt-in common-feed behavior.
- Enrich chat message SSE payloads with session agent metadata and task chat common-feed visibility.
- Ignore hidden `task-planner:` assistant events in the chat unread badge hook.
- Cover hidden, visible, and legacy payload behavior with dashboard SSE and hook tests.
- Document the unread badge scope and add a patch changeset for the published CLI package.
Files changed:
.changeset/fn-7392-planner-chat-unread.md | 7 +
docs/dashboard-guide.md | 2 +-
.../app/components/__tests__/App.test.tsx | 55 ++++++++
.../app/hooks/__tests__/useChatUnreadBadge.test.ts | 110 ++++++++++++++++
packages/dashboard/app/hooks/useChatUnreadBadge.ts | 32 ++++-
packages/dashboard/src/__tests__/sse.test.ts | 141 ++++++++++++++++++++-
packages/dashboard/src/sse.ts | 36 +++++-
7 files changed, 378 insertions(+), 5 deletions(-)
Fusion-Task-Id: FN-7392
Fusion-Task-Lineage: 13fd5c51-eefa-4088-979b-005c8b217f89
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-01 15:39:34 -07:00
gsxdsm
ec0fa960d7
FN-7382: add triage plan auto-approve toggle
...
Add a board-column shortcut for toggling project plan auto-approval.
- Surface an Auto-approve plan switch in Triage and workflow intake/hold column menus.
- Wire the dashboard setting hook to persist planApprovalMode between workflow and auto-approve-all with optimistic rollback.
- Cover legacy and workflow board propagation plus column menu behavior with tests.
- Document the shortcut and add a patch changeset for the published CLI package.
Files changed:
.changeset/fn-7382-triage-auto-approve-toggle.md | 7 ++
docs/dashboard-guide.md | 2 +
docs/settings-reference.md | 2 +-
packages/dashboard/app/App.tsx | 4 +
packages/dashboard/app/components/Board.tsx | 7 +-
packages/dashboard/app/components/Column.tsx | 35 ++++++-
.../app/components/__tests__/Board.test.tsx | 55 +++++++++-
.../app/components/__tests__/Column.test.tsx | 75 ++++++++++++++
.../app/components/dashboard/MainContent.tsx | 6 ++
.../dashboard/app/components/dashboard/types.ts | 2 +
.../app/hooks/__tests__/useAppSettings.test.ts | 114 +++++++++++++++++++++
packages/dashboard/app/hooks/useAppSettings.ts | 39 +++++++
12 files changed, 343 insertions(+), 5 deletions(-)
Fusion-Task-Id: FN-7382
Fusion-Task-Lineage: 1db96b50-3a8f-4074-b957-c30d1745aa23
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-01 11:01:50 -07:00
gsxdsm
fed60ecff6
FN-7364: hide task chats from common feed by default
...
Hide task-detail planner chats from the common Chat feed unless a project opts in.
- Add a project setting and Settings UI toggle for showing populated task chats in the common feed.
- Filter task-planner sessions on chat list routes and avoid stale cached/SSE planner rows in the Chat hook.
- Cover default-hidden and opt-in behavior with route, hook, settings, and parity tests.
- Document the Chat feed behavior and include a patch changeset.
Files changed:
.changeset/fn-7364-task-chat-feed-setting.md | 7 ++
docs/dashboard-guide.md | 2 +
.../core/src/__tests__/settings-parity.test.ts | 8 +++
packages/core/src/settings-schema.ts | 5 ++
packages/core/src/types.ts | 5 ++
.../__tests__/SettingsModal.general.test.tsx | 18 +++++
.../settings/sections/GeneralSection.tsx | 9 +++
.../dashboard/app/hooks/__tests__/useChat.test.ts | 65 +++++++++++++++++
packages/dashboard/app/hooks/useChat.ts | 22 ++++--
.../dashboard/src/__tests__/chat-routes.test.ts | 82 +++++++++++++++++++++-
.../dashboard/src/routes/register-chat-routes.ts | 13 +++-
11 files changed, 227 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-7364
Fusion-Task-Lineage: 79a0706c-ba7f-4417-b88b-c5282ae7877c
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-01 08:50:29 -07:00
gsxdsm
d93fac0cc0
FN-7365: allow task popups on every viewport
...
Broaden board task popup routing so the existing popup setting works outside mobile.
- Route ordinary board-card opens to the task popup on desktop, tablet, and mobile when the popup setting is enabled.
- Rename the Appearance setting copy while preserving the stored openMobileTasksInPopup key for compatibility.
- Update tests, documentation, settings schema comments, and the published package changeset for the all-viewport behavior.
Files changed:
.changeset/fn-7365-task-popups-all-viewports.md | 7 ++++
docs/dashboard-guide.md | 6 ++--
docs/settings-reference.md | 2 +-
packages/core/src/settings-schema.ts | 4 +--
packages/core/src/types.ts | 6 ++--
packages/dashboard/app/App.tsx | 6 ++--
.../__tests__/App.openTasksInRightSidebar.test.ts | 42 +++++++++++++++++-----
.../settings/sections/AppearanceSection.tsx | 5 +--
.../sections/__tests__/AppearanceSection.test.tsx | 10 +++---
9 files changed, 62 insertions(+), 26 deletions(-)
Fusion-Task-Id: FN-7365
Fusion-Task-Lineage: 58713922-3ff8-4cc9-8f81-26c1e982819e
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-01 08:32:29 -07:00
gsxdsm
e4eb8b6190
FN-7363: prevent mobile task long-press text selection
...
Prevent Board task long-press gestures from selecting card text while preserving editing controls.
- Disable native text selection and WebKit touch callouts on non-editing task cards.
- Prevent touch/pen pointer-down defaults before the long-press context-menu timer starts.
- Cover the mobile selection behavior with component and CSS regression tests and document the Board behavior.
Files changed:
.changeset/fn-7363-mobile-board-text-selection.md | 7 ++++
docs/dashboard-guide.md | 5 +--
packages/dashboard/app/components/TaskCard.css | 17 ++++++++++
packages/dashboard/app/components/TaskCard.tsx | 5 +++
.../app/components/__tests__/TaskCard.test.tsx | 39 ++++++++++++++++++++++
.../app/components/__tests__/board-mobile.test.tsx | 24 +++++++++++++
6 files changed, 95 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-7363
Fusion-Task-Lineage: c683ab3b-2caa-4b45-a455-0cc163fd52cc
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-01 08:10:05 -07:00
gsxdsm
f04f01db1d
FN-7362: Fix board task context menu clipping
...
Render Board task context menus as viewport overlays so column clipping no longer hides actions.
- Portal TaskCard context menus to document.body and position them with viewport coordinates.
- Clamp context menus after render and close them when the task identity or column changes.
- Update TaskCard coverage for overflow escape, keyboard/touch placement, and menu lifecycle behavior.
- Document the overlay behavior and add a patch changeset for @runfusion/fusion.
Files changed:
.changeset/fn-7362-board-context-menu-overlay.md | 7 +
docs/dashboard-guide.md | 5 +-
packages/dashboard/app/components/TaskCard.css | 6 +-
packages/dashboard/app/components/TaskCard.tsx | 38 ++--
.../app/components/__tests__/TaskCard.test.tsx | 242 ++++++++++++++++-----
5 files changed, 211 insertions(+), 87 deletions(-)
Fusion-Task-Id: FN-7362
Fusion-Task-Lineage: 8f2fc0b1-ad63-402e-a960-6a09cbe9c893
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-01 07:33:57 -07:00
gsxdsm
98ca9ac090
FN-7353: fix mobile task menu action taps
...
Fix task context menu touch activation so mobile popup actions complete reliably.
- Commit touch and pen menu actions on pointer release while preserving mouse click activation.
- Guard synthesized mobile clicks so each selected task action runs exactly once and closes the menu.
- Cover Board, List, shared context menu, and Task Detail mobile popup action selection in tests and docs.
- Add a patch changeset for the published CLI bundle.
Files changed:
.changeset/fn-7353-mobile-popup-context-menu.md | 7 ++++
docs/dashboard-guide.md | 12 ++++---
.../dashboard/app/components/TaskContextMenu.tsx | 41 ++++++++++++++++++----
.../app/components/__tests__/ListView.test.tsx | 12 +++++--
.../app/components/__tests__/TaskCard.test.tsx | 26 +++++++++++---
.../components/__tests__/TaskContextMenu.test.tsx | 23 ++++++++++++
.../TaskDetailModal.definition-actions.test.tsx | 31 ++++++++++++++++
7 files changed, 133 insertions(+), 19 deletions(-)
Fusion-Task-Id: FN-7353
Fusion-Task-Lineage: 4de96306-1bcc-403d-88fa-be4ec0d9149d
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-01 07:33:56 -07:00
gsxdsm
7457f04287
FN-7355: reuse standard chat surface for planner
...
Task planner chat now renders through the shared Chat surface while preserving task-scoped behavior.
- Extract shared standard chat message, streaming, tool-call, and action-button rendering for reuse outside ChatView.
- Update TaskPlannerChatTab to use the shared surface for messages, thinking output, mobile send dedupe, and stop generation.
- Cover planner chat standard-surface rendering and mobile first-tap behavior in tests, docs, and a patch changeset.
Files changed:
.changeset/fn-7355-standard-planner-chat.md | 7 +
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/ChatView.css | 18 +
packages/dashboard/app/components/ChatView.tsx | 795 ++-------------------
.../app/components/StandardChatSurface.tsx | 417 +++++++++++
.../app/components/TaskPlannerChatTab.css | 39 +-
.../app/components/TaskPlannerChatTab.tsx | 246 ++++---
...etailModal.responsive-and-dependencies.test.tsx | 4 +-
.../__tests__/TaskPlannerChatTab.test.tsx | 52 ++
9 files changed, 693 insertions(+), 887 deletions(-)
Fusion-Task-Id: FN-7355
Fusion-Task-Lineage: 608ee0d7-3a1b-4f5f-a295-d3a4e62d759e
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-01 07:33:56 -07:00
gsxdsm
b3b01bc25d
FN-7357: add all workflows to top-level selectors
...
Extend the dashboard aggregate workflow view across top-level workflow selectors without leaking its sentinel into task creation.
- Add All workflows as an aggregate option for List, Header, Planning/Missions, and Graph selectors.\n- Preserve real workflow handoffs for quick create, planning, missions, and workflow editor entry points.\n- Include aggregate workflow counts and cross-surface regression coverage, plus docs and a changeset.\n\nFiles changed:\n .changeset/fn-7357-all-workflows-selectors.md | 7 +++\n docs/dashboard-guide.md | 9 ++--\n .../workflow-selection-cross-surface.test.tsx | 20 ++++---\n .../app/components/GraphWorkflowSwitcherSlot.tsx | 12 +++--\n .../app/components/HeaderWorkflowSwitcherSlot.tsx | 10 ++--\n packages/dashboard/app/components/ListView.tsx | 63 +++++++++++++++++-----\n .../components/PlanningWorkflowSwitcherSlot.tsx | 5 +-\n .../__tests__/GraphWorkflowSwitcherSlot.test.tsx | 34 ++++++++++++\n .../__tests__/HeaderWorkflowSwitcherSlot.test.tsx | 27 ++++++++++\n .../app/components/__tests__/ListView.test.tsx | 41 +++++++++++++-\n .../app/components/dashboard/MainContent.tsx | 17 ++++--\n .../app/components/workflowStatusCounts.ts | 5 ++\n packages/dashboard/app/hooks/useBoardWorkflows.ts | 20 +++++--\n .../dashboard/app/utils/boardWorkflowSelection.ts | 5 +-\n 14 files changed, 233 insertions(+), 42 deletions(-)
Fusion-Task-Id: FN-7357
Fusion-Task-Lineage: b8658cad-7b12-4a06-b627-e2bde7de6951
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-01 07:33:56 -07:00
gsxdsm
d448603e71
FN-7352: route completed-task refine menus to detail
...
Completed task context menus now open the existing Task Detail refinement composer.\n\n- Add one-shot detail initial actions so Refine can reopen the composer from board and list menus.\n- Wire Board, List, Column, and grouped task cards to pass Refine through Task Detail instead of hiding it.\n- Cover board/list refine menu behavior with dashboard tests and document the completed-task flow.\n\nFiles changed:\n .changeset/fn-7352-done-context-refine.md | 7 +++\n docs/dashboard-guide.md | 9 ++--\n packages/dashboard/app/components/AppModals.tsx | 9 +++-\n packages/dashboard/app/components/Board.tsx | 7 ++-\n packages/dashboard/app/components/Column.tsx | 5 +-\n packages/dashboard/app/components/ListView.tsx | 7 +--\n packages/dashboard/app/components/TaskCard.tsx | 12 +++--\n .../dashboard/app/components/TaskDetailModal.tsx | 13 +++++\n .../dashboard/app/components/WorktreeGroup.tsx | 4 ++\n .../app/components/__tests__/ListView.test.tsx | 62 +++++++++++++++++++++-\n .../app/components/__tests__/TaskCard.test.tsx | 43 +++++++++++++++\n .../TaskDetailModal.definition-actions.test.tsx | 18 +++++++\n .../app/components/dashboard/MainContent.tsx | 2 +\n .../dashboard/app/components/dashboard/types.ts | 4 +-\n packages/dashboard/app/hooks/useModalManager.ts | 28 ++++++++--\n 15 files changed, 208 insertions(+), 22 deletions(-)
Fusion-Task-Id: FN-7352
Fusion-Task-Lineage: 3f1107a6-fdac-4430-ab8d-50096c36cc3c
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-01 07:33:56 -07:00
gsxdsm
03160ebac0
FN-7354: add mobile terminal tab selector
...
Add a compact mobile terminal tab selector while preserving desktop tab behavior.
- Replace the mobile terminal tab strip with a native dropdown, new-tab action, and current-tab close action.
- Update mobile terminal header styles so tab, workspace, and session controls wrap cleanly on narrow screens.
- Cover mobile selector behavior with dashboard tests and document the mobile terminal tab workflow.
- Add a release changeset for the published Fusion package.
Files changed:
.changeset/mobile-terminal-tabs-dropdown.md | 7 ++
docs/dashboard-guide.md | 8 +-
.../__tests__/terminal-mobile-header-row.test.ts | 22 ++--
.../dashboard/app/components/TerminalModal.css | 69 +++++++++++-
.../dashboard/app/components/TerminalModal.tsx | 119 +++++++++++++++------
.../components/__tests__/TerminalModal.test.tsx | 107 ++++++++++++++++++
6 files changed, 282 insertions(+), 50 deletions(-)
Fusion-Task-Id: FN-7354
Fusion-Task-Lineage: 20b5b7d5-5795-4cc6-9975-c363954adb97
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-01 07:33:56 -07:00
gsxdsm
519f158400
FN-7345: Persist remote access settings saves
...
Remote Access settings now save from the main Settings dialog without requiring tunnel startup.
- Map flattened Remote Access form fields into the canonical global remoteAccess payload during section saves.
- Preserve provider, token, and lifecycle branches while saving Tailscale accept-routes and remember-running options.
- Cover the UI save flow, split helper, API route contract, docs, and release note.
Files changed:
.changeset/fn-7345-remote-settings-windows.md | 7 +
docs/dashboard-guide.md | 1 +
.../app/__tests__/settings-save-split.test.ts | 56 ++++++++
.../SettingsModal.remote-notifications.test.tsx | 144 +++++++++++++++++++++
.../app/components/settings/save-split.ts | 103 +++++++++++++++
.../src/__tests__/routes-remote-access.test.ts | 54 ++++++++
6 files changed, 365 insertions(+)
Fusion-Task-Id: FN-7345
Fusion-Task-Lineage: 9d1eb7f7-7e13-4070-af7d-eb6c6a41fe44
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 23:45:02 -07:00
gsxdsm
d786e7b9c9
FN-7340: align footer concurrency marker geometry
...
Align footer Engine Controls current-use dots with Command Center slider geometry.
- Mirror Command Center range sizing, touch behavior, and mobile thumb geometry in the footer controls.
- Cover the shared marker geometry contract and pending-cap marker recalculation in EngineControlMenu tests.
- Document the footer/Command Center alignment requirement and add a patch changeset for the published CLI package.
Files changed:
.changeset/fn-7340-footer-concurrency-dot-alignment.md | 7 ++
docs/dashboard-guide.md | 3 +-
packages/dashboard/app/components/EngineControlMenu.css | 28 ++++++-
packages/dashboard/app/components/__tests__/EngineControlMenu.test.tsx | 85 ++++++++++++++++++++++
4 files changed, 121 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-7340
Fusion-Task-Lineage: 5cb4d829-2b70-429c-b9da-0c559fdbf131
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 23:45:02 -07:00
gsxdsm
5ff81cb460
FN-7343: Remove task chat steering guidance copy
...
Remove the visible steering/refinement guidance shell from task Activity chat while preserving composer behavior.
- Drop the TaskChatTab composer label/hint affordance and stale aria-describedby wiring.
- Keep accessible form names and existing steering/refinement send flows intact.
- Update dashboard docs, regression tests, and the published package changeset for the copy removal.
Files changed:
.changeset/fn-7343-task-chat-copy.md | 7 ++++
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/TaskChatTab.css | 29 ---------------
packages/dashboard/app/components/TaskChatTab.tsx | 24 +++++--------
.../app/components/__tests__/TaskChatTab.test.tsx | 41 +++++++++++++---------
.../TaskDetailModal.task-activity-chat.test.tsx | 13 ++++---
.../components/__tests__/TaskDetailModal.test.tsx | 15 ++++----
7 files changed, 59 insertions(+), 72 deletions(-)
Fusion-Task-Id: FN-7343
Fusion-Task-Lineage: ebcffb2c-a42e-46af-8291-1ff77bcec2c6
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 23:45:02 -07:00
gsxdsm
c54b231290
FN-7335: default task details to Activity first
...
Default task detail opens now prioritize Activity while preserving an opt-in Chat-first mode.
- Add a project setting and dashboard plumbing for Chat-first task detail ordering.
- Default non-done task detail opens to Activity/Live while keeping explicit Chat, Activity, and Logs links stable.
- Update Settings, docs, changeset, and regression coverage for Activity-first and Chat-first behavior.
Files changed:
.changeset/activity-first-task-detail.md | 7 +++
docs/dashboard-guide.md | 6 +-
.../core/src/__tests__/settings-defaults.test.ts | 13 ++++
packages/core/src/settings-schema.ts | 5 ++
packages/core/src/types.ts | 5 ++
packages/dashboard/app/App.tsx | 7 ++-
packages/dashboard/app/components/AppModals.tsx | 2 +
packages/dashboard/app/components/ListView.tsx | 3 +
.../dashboard/app/components/SettingsModal.tsx | 6 ++
.../dashboard/app/components/TaskDetailModal.tsx | 71 ++++++++++++++-------
.../TaskDetailModal.attachments-and-tabs.test.tsx | 19 ++++--
...etailModal.responsive-and-dependencies.test.tsx | 2 +-
.../TaskDetailModal.task-activity-chat.test.tsx | 72 +++++++++++++++++++---
.../components/__tests__/TaskDetailModal.test.tsx | 3 +
.../app/components/dashboard/MainContent.tsx | 3 +
.../dashboard/app/components/dashboard/types.ts | 1 +
.../settings/sections/AppearanceSection.tsx | 8 +++
.../sections/__tests__/AppearanceSection.test.tsx | 20 ++++++
.../app/components/useRightDockController.tsx | 2 +
packages/dashboard/app/hooks/useAppSettings.ts | 9 +++
20 files changed, 220 insertions(+), 44 deletions(-)
Fusion-Task-Id: FN-7335
Fusion-Task-Lineage: d983c41a-f2f5-4e53-aee4-3ec3a4c057a3
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 23:45:01 -07:00
gsxdsm
7d2bd9794e
FN-7337: make planner chats lazy and archive-scoped
...
Task planner chats now stay out of global chat history until a user interacts and are retained until task archive.
- Load task planner chat tabs with lookup-only resume before any user send.
- Show task-planner sessions in global Chat only after messages exist, including SSE refresh handling.
- Keep interacted planner chats for done tasks while deleting task-scoped planner sessions on archive.
- Cover chat store deletion, planner tab behavior, route filtering, and chat-list refresh with regression tests.
Files changed:
.changeset/fn-7337-planner-chat-retention.md | 7 ++
docs/dashboard-guide.md | 4 +-
packages/core/src/__tests__/chat-store.test.ts | 44 +++++++++
packages/core/src/chat-store.ts | 22 +++++
packages/dashboard/app/api/legacy.ts | 35 ++++++-
.../app/components/TaskPlannerChatTab.tsx | 13 ++-
.../__tests__/TaskPlannerChatTab.test.tsx | 91 +++++++++++++-----
.../dashboard/app/hooks/__tests__/useChat.test.ts | 41 ++++++++
packages/dashboard/app/hooks/useChat.ts | 15 ++-
.../dashboard/src/__tests__/chat-routes.test.ts | 105 +++++++++++++++++++++
.../dashboard/src/routes/register-chat-routes.ts | 17 +++-
packages/dashboard/src/server.ts | 10 +-
packages/engine/src/runtimes/in-process-runtime.ts | 8 ++
13 files changed, 378 insertions(+), 34 deletions(-)
Fusion-Task-Id: FN-7337
Fusion-Task-Lineage: 7ef9ed8f-af2e-4fa9-a2b6-0e8c8a805d5e
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 23:45:01 -07:00
gsxdsm
2f5e15ac43
FN-7324: Focus task details on planner chat
...
Task details now prioritize the planner Chat experience while preserving Activity links and done-task summaries.
- Default active task details to Chat and render it before Activity without breaking legacy Activity tab ids.
- Add focused planner Chat expansion, pinned composer, mobile row hiding, and in-view expand/collapse controls.
- Update responsive coverage, planner-chat tests, dashboard docs, and the release changeset.
Files changed:
.changeset/fn-7324-chat-focused-task-detail.md | 7 ++
docs/dashboard-guide.md | 11 +--
.../dashboard/app/components/TaskDetailModal.css | 47 ++++++++++-
.../dashboard/app/components/TaskDetailModal.tsx | 36 +++++----
.../app/components/TaskPlannerChatTab.css | 36 ++++++++-
.../app/components/TaskPlannerChatTab.tsx | 37 ++++++---
...etailModal.responsive-and-dependencies.test.tsx | 14 +++-
.../components/__tests__/TaskDetailModal.test.tsx | 93 +++++++++++++++++++---
.../__tests__/TaskPlannerChatTab.test.tsx | 18 +++++
9 files changed, 255 insertions(+), 44 deletions(-)
Fusion-Task-Id: FN-7324
Fusion-Task-Lineage: 0699d224-7280-4959-8086-b0ea985937a2
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 23:45:00 -07:00
gsxdsm
863c5ce83f
FN-7325: rename Activity Current to Live
...
Renames the task-detail Activity Current segment to Live and makes expansion available across Activity views.
- relabel Activity Current as Live while preserving the legacy internal current segment routing
- move the Activity expand/collapse control to the shared Activity toolbar for Live, Feed, and Raw Logs
- update expanded Activity layout, docs, tests, and release notes for the shared behavior
Files changed:
.changeset/fn-7325-activity-live-expand.md | 7 ++
docs/dashboard-guide.md | 8 +-
packages/dashboard/app/components/TaskChatTab.tsx | 6 +-
.../dashboard/app/components/TaskDetailModal.css | 53 ++++++++++-
.../dashboard/app/components/TaskDetailModal.tsx | 103 ++++++++++++---------
.../app/components/__tests__/TaskChatTab.test.tsx | 12 +--
.../TaskDetailModal.attachments-and-tabs.test.tsx | 90 ++++++++++++++++--
.../__tests__/TaskDetailModal.rendering.test.tsx | 2 +-
.../components/__tests__/TaskDetailModal.test.tsx | 8 +-
9 files changed, 213 insertions(+), 76 deletions(-)
Fusion-Task-Id: FN-7325
Fusion-Task-Lineage: 1aee503b-ace8-4238-a9f9-3e536a43c1f8
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 23:44:59 -07:00
gsxdsm
ddfd841b53
FN-7312: send task context to planner chat
...
Send bounded task state into task-detail planner chat so status and progress questions can be answered in context.
- Build reusable server-side planner chat context from task metadata, dependencies, steps, comments, activity, source, and review state.
- Pass and validate the task id on planner chat sends to keep sessions scoped to the current task.
- Update planner chat copy, docs, tests, and changeset coverage for task-aware status/progress questions.
Files changed:
.changeset/fn-7312-task-planner-chat-context.md | 7 +
docs/dashboard-guide.md | 4 +-
packages/dashboard/app/api/legacy.ts | 5 +-
.../app/components/TaskPlannerChatTab.tsx | 5 +-
.../__tests__/TaskPlannerChatTab.test.tsx | 22 ++
.../dashboard/src/__tests__/chat-manager.test.ts | 17 +-
.../dashboard/src/__tests__/chat-routes.test.ts | 76 +++++
.../__tests__/task-planner-chat-context.test.ts | 165 +++++++++++
packages/dashboard/src/chat.ts | 92 +-----
.../dashboard/src/routes/register-chat-routes.ts | 11 +-
.../dashboard/src/task-planner-chat-context.ts | 326 +++++++++++++++++++++
11 files changed, 634 insertions(+), 96 deletions(-)
Fusion-Task-Id: FN-7312
Fusion-Task-Lineage: 90cf0fe3-3984-4a67-bb44-fce492c256eb
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 18:51:41 -07:00
gsxdsm
45509708e5
FN-7311: add planner chat starter prompts
...
Add guided prompts to the empty task-detail Chat tab so operators can start useful planner conversations quickly.
- Render a task-aware Chat empty state with four accessible starter prompt buttons.
- Send starter selections through the normal planner-chat stream while guarding stale session loads and stream callbacks.
- Style responsive prompt cards and document the Chat/Activity separation.
- Cover empty-state, loading, history, sending, and task-switch behavior with dashboard tests.
Files changed:
.changeset/fn-7311-chat-starter-prompts.md | 7 +
docs/dashboard-guide.md | 2 +
.../app/components/TaskPlannerChatTab.css | 55 ++++-
.../app/components/TaskPlannerChatTab.tsx | 185 ++++++++++++---
...etailModal.responsive-and-dependencies.test.tsx | 3 +
.../__tests__/TaskPlannerChatTab.test.tsx | 252 ++++++++++++++++++++-
6 files changed, 460 insertions(+), 44 deletions(-)
Fusion-Task-Id: FN-7311
Fusion-Task-Lineage: 5a58bc4f-1139-4c68-9ade-b79a52558bef
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 18:20:16 -07:00
gsxdsm
db7b46f60f
FN-7310: add task planner chat tab
...
Add a dedicated task-detail Chat surface for planner-model conversations separate from Activity steering.
- Add task-scoped planner chat session creation and routing with planning-model overrides.
- Render a new top-level Chat tab next to Activity, including streaming responses, tool-call cards, and retry/error states.
- Cover planner chat tab ordering, session reuse, route validation, manager dispatch, and dashboard documentation.
Files changed:
.changeset/fn-7310-planner-chat.md | 7 +
docs/dashboard-guide.md | 3 +-
packages/dashboard/app/api/legacy.ts | 35 +++
.../dashboard/app/components/TaskDetailModal.tsx | 40 ++-
.../app/components/TaskPlannerChatTab.css | 149 ++++++++++
.../app/components/TaskPlannerChatTab.tsx | 322 +++++++++++++++++++++
...etailModal.responsive-and-dependencies.test.tsx | 13 +-
.../__tests__/TaskDetailModal.test-helpers.ts | 3 +
.../components/__tests__/TaskDetailModal.test.tsx | 58 ++++
.../__tests__/TaskPlannerChatTab.test.tsx | 193 ++++++++++++
.../dashboard/src/__tests__/chat-manager.test.ts | 65 +++++
.../dashboard/src/__tests__/chat-routes.test.ts | 106 +++++++
packages/dashboard/src/chat.ts | 132 ++++++++-
.../dashboard/src/routes/register-chat-routes.ts | 68 +++++
14 files changed, 1181 insertions(+), 13 deletions(-)
Fusion-Task-Id: FN-7310
Fusion-Task-Lineage: a276c356-599e-4495-9879-472d157d95e5
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 17:20:42 -07:00
gsxdsm
f677ab4f19
FN-7309: add Activity steering composer labels
...
Make Activity Current clearly expose steering and refinement entry points.
- Add explicit Steering comment and Refinement request labels with accessible hints to the Activity Current composer.
- Keep Feed and Raw Logs read-only while preserving done-task Summary defaults and legacy Activity Current links.
- Cover desktop, mobile, embedded detail, completed-task, and segment-switching behavior in dashboard tests.
- Document the Activity steering affordance and add a patch changeset for the published CLI package.
Files changed:
.changeset/fn-7309-activity-steering.md | 7 ++
docs/dashboard-guide.md | 9 +--
packages/dashboard/app/components/TaskChatTab.css | 29 ++++++++
packages/dashboard/app/components/TaskChatTab.tsx | 22 +++++--
.../dashboard/app/components/TaskDetailModal.tsx | 12 +++-
.../app/components/__tests__/TaskChatTab.test.tsx | 19 +++++-
.../__tests__/TaskDetailModal.summary-tab.test.tsx | 22 +++----
.../components/__tests__/TaskDetailModal.test.tsx | 77 ++++++++++++++++++++++
8 files changed, 173 insertions(+), 24 deletions(-)
Fusion-Task-Id: FN-7309
Fusion-Task-Lineage: 0674bf35-b0a3-4fa7-81c3-4312024c9c53
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 16:23:12 -07:00
gsxdsm
bba415f91b
FN-7308: preserve legacy Activity log access
...
Preserve the legacy task log affordances inside the Activity tab.
- Route legacy Logs entrypoints to Activity → Feed while keeping Raw Logs as the raw agent-output segment.
- Document the Activity Current, Feed, and Raw Logs behavior across operator docs.
- Add regression coverage for Feed legacy entries, duplicate feed rows, and Raw Logs pagination.
- Add a patch changeset for the published CLI package.
Files changed:
.changeset/fn-7308-preserve-activity-logs.md | 7 ++++
docs/agents.md | 4 +-
docs/dashboard-guide.md | 8 ++--
packages/dashboard/README.md | 2 +-
.../dashboard/app/components/TaskDetailModal.tsx | 8 ++--
.../TaskDetailModal.attachments-and-tabs.test.tsx | 29 ++++++++++++++
.../components/__tests__/TaskDetailModal.test.tsx | 45 ++++++++++++++++++++++
7 files changed, 92 insertions(+), 11 deletions(-)
Fusion-Task-Id: FN-7308
Fusion-Task-Lineage: 45483e4e-4de8-4b5b-96ae-fca6914545d4
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 15:58:30 -07:00
gsxdsm
21fc28698f
FN-7304: add Quick Add drag-and-drop attachments
...
Quick Add now supports compact icon-only image attachment controls and drag/drop intake.
- Convert the Quick Add attach action to an accessible icon-only button with pending-count feedback.
- Add file drag-over and drop handling that reuses the existing image preview/upload path.
- Document the Quick Add attachment affordances, add a changeset, and cover icon/drop behavior with tests.
Files changed:
.changeset/fn-7304-quick-add-attachments.md | 7 ++
docs/dashboard-guide.md | 3 +
.../dashboard/app/components/QuickEntryBox.css | 49 ++++++++
.../dashboard/app/components/QuickEntryBox.tsx | 81 ++++++++++++-
.../components/__tests__/QuickEntryBox.test.tsx | 128 ++++++++++++++++++++-
5 files changed, 257 insertions(+), 11 deletions(-)
Fusion-Task-Id: FN-7304
Fusion-Task-Lineage: 0ff78d99-5b6a-476c-99d2-32f53389f808
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 14:42:45 -07:00
gsxdsm
ea93f68ad9
FN-7301: add icon workflow picker to new task form
...
Add an icon-capable New Task workflow picker that preserves create-time workflow selection semantics.
- Replace the native workflow select in TaskForm with a styled dropdown showing workflow icons, default badges, duplicate-name IDs, and explicit No workflow opt-out.
- Wire the inline workflow chip to reveal and open the new picker while keeping workflowId payload handling unchanged.
- Add dropdown layout styles, dashboard docs, release notes, and regression coverage for modal create flows and TaskForm selection behavior.
Files changed:
.changeset/fn-7301-new-task-workflow-dropdown.md | 7 +
docs/dashboard-guide.md | 3 +
packages/dashboard/app/components/NewTaskModal.css | 75 ++++++++++
packages/dashboard/app/components/TaskForm.tsx | 166 ++++++++++++++++-----
.../app/components/__tests__/NewTaskModal.test.tsx | 61 ++++++--
.../app/components/__tests__/TaskForm.test.tsx | 128 +++++++++++-----
6 files changed, 351 insertions(+), 89 deletions(-)
Fusion-Task-Id: FN-7301
Fusion-Task-Lineage: f3d534a2-48bd-416a-88a6-f85410ee4f85
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 14:03:50 -07:00
gsxdsm
7f3bd80dbe
FN-7297: include ephemeral agents in activity stats
...
Count ephemeral task-worker runs in dashboard activity analytics so active-agent stats reflect task execution.
- Include agentRuns agent ids alongside usage_events when computing active-agent range totals and daily series.
- Preserve distinct per-agent counting across both activity sources and handle missing agentRuns tables.
- Cover activity analytics, API route fixtures, and Command Center UI expectations for run-only task workers.
- Document the Command Center activity semantics and add a patch changeset for the published CLI bundle.
Files changed:
.changeset/fn-7297-ephemeral-activity.md | 7 ++
docs/dashboard-guide.md | 5 +-
.../core/src/__tests__/activity-analytics.test.ts | 70 ++++++++++++--
packages/core/src/activity-analytics.ts | 101 ++++++++++++++++++---
.../__tests__/CommandCenter.test.tsx | 32 ++++++-
.../register-command-center-routes.test.ts | 47 +++++++++-
6 files changed, 234 insertions(+), 28 deletions(-)
Fusion-Task-Id: FN-7297
Fusion-Task-Lineage: 51e46b3c-64f3-4546-954f-97d82b8426fb
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 13:30:28 -07:00
gsxdsm
5f67c85fea
FN-7285: add workflow icons and trim built-in labels
...
Adds workflow icon metadata while preserving readable workflow names without built-in suffixes.
- Store and validate compact plain-text workflow icons across core APIs, imports, exports, tools, and analytics.
- Render Fusion marks for built-in workflows and custom text icons beside existing workflow labels on board, switcher, detail, and editor surfaces.
- Update workflow editor creation/copy flows, docs, release notes, and tests for icon metadata and shorter built-in names.
Files changed:
.changeset/fn-7285-workflow-icons.md | 7 ++
docs/dashboard-guide.md | 12 +--
.../cli/skill/fusion/references/extension-tools.md | 2 +
.../core/src/__tests__/builtin-workflows.test.ts | 8 +-
packages/core/src/__tests__/db-migrate.test.ts | 7 +-
.../core/src/__tests__/workflow-analytics.test.ts | 15 +--
.../__tests__/workflow-definition-store.test.ts | 31 ++++++
packages/core/src/builtin-workflows.ts | 20 ++--
packages/core/src/db.ts | 11 +-
packages/core/src/index.ts | 4 +
packages/core/src/store.ts | 24 ++++-
packages/core/src/workflow-analytics.ts | 7 +-
packages/core/src/workflow-definition-types.ts | 31 ++++++
packages/dashboard/app/api/legacy.ts | 2 +
packages/dashboard/app/components/Board.tsx | 18 ++--
packages/dashboard/app/components/Column.tsx | 2 +-
packages/dashboard/app/components/TaskCard.tsx | 7 +-
.../dashboard/app/components/TaskDetailModal.tsx | 20 ++--
packages/dashboard/app/components/WorkflowIcon.css | 42 ++++++++
packages/dashboard/app/components/WorkflowIcon.tsx | 49 +++++++++
.../app/components/WorkflowNodeEditor.css | 32 ++++++
.../app/components/WorkflowNodeEditor.tsx | 113 ++++++++++++++++-----
.../dashboard/app/components/WorkflowSwitcher.css | 9 ++
.../dashboard/app/components/WorkflowSwitcher.tsx | 15 ++-
.../dashboard/app/components/WorktreeGroup.tsx | 2 +-
.../app/components/__tests__/Board.test.tsx | 12 +--
.../app/components/__tests__/Lane.test.tsx | 6 +-
.../__tests__/WorkflowNodeEditor.test.tsx | 57 +++++++++--
.../components/__tests__/WorkflowSwitcher.test.tsx | 68 ++++++++-----
.../__tests__/board-mobile-initial-render.test.tsx | 2 +-
.../__tests__/CommandCenter.test.tsx | 4 +-
.../command-center/areas/WorkflowArea.tsx | 2 +
.../areas/__tests__/WorkflowArea.test.tsx | 6 +-
.../settings/sections/GeneralSection.tsx | 6 +-
.../register-command-center-routes.test.ts | 2 +-
.../__tests__/workflow-import-export.test.ts | 32 +++++-
packages/dashboard/src/routes/board-workflows.ts | 6 +-
.../src/routes/register-workflow-routes.ts | 32 +++++-
packages/engine/src/__tests__/agent-tools.test.ts | 4 +-
packages/engine/src/agent-tools.ts | 6 +-
40 files changed, 590 insertions(+), 145 deletions(-)
Fusion-Task-Id: FN-7285
Fusion-Task-Lineage: 0fa689a2-f19d-4d1b-9a40-cc0b2181200a
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 12:21:25 -07:00
gsxdsm
3cd5695f52
FN-7288: remove quick-add Plan buttons
...
Remove quick-add planning buttons from board create surfaces while preserving other planning entry points.
- Remove the Plan button, icon imports, handlers, test id, disabled state, tooltip, and click targets from QuickEntryBox and InlineCreateCard.
- Update quick-add and mobile board tests to assert the Plan affordance is absent while task creation and Subtask behavior remain available.
- Refresh dashboard docs and add a patch changeset describing the quick-add Plan removal.
Files changed:
.changeset/fn-7288-remove-quick-add-plan-button.md | 7 +
docs/dashboard-guide.md | 4 +-
docs/getting-started.md | 2 +-
docs/workflow-steps.md | 2 +-
.../dashboard/app/components/InlineCreateCard.tsx | 38 +---
.../dashboard/app/components/QuickEntryBox.tsx | 38 +---
.../components/__tests__/InlineCreateCard.test.tsx | 56 +++---
.../components/__tests__/QuickEntryBox.test.tsx | 196 +++++----------------
.../app/components/__tests__/board-mobile.test.tsx | 6 +-
9 files changed, 97 insertions(+), 252 deletions(-)
Fusion-Task-Id: FN-7288
Fusion-Task-Lineage: b4a5d6b6-83e7-4b0c-a38d-6ff36d8cd97e
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 10:40:49 -07:00
gsxdsm
b450dd493d
FN-7282: fix mobile terminal workspace menu
...
Keep the terminal workspace picker visible and usable on narrow mobile screens.
- Portal the workspace listbox to the viewport and position it from the trigger with visual viewport bounds.
- Constrain the menu width and height with scroll-safe mobile CSS while preserving workspace selection actions.
- Cover mobile rendering, loading/error picker behavior, and document the viewport-safe menu expectation.
Files changed:
.../fn-7282-mobile-terminal-worktree-menu.md | 7 ++
docs/dashboard-guide.md | 2 +-
.../dashboard/app/components/TerminalModal.css | 21 +++--
.../dashboard/app/components/TerminalModal.tsx | 101 ++++++++++++++++++++-
.../components/__tests__/TerminalModal.test.tsx | 72 ++++++++++++++-
5 files changed, 186 insertions(+), 17 deletions(-)
Fusion-Task-Id: FN-7282
Fusion-Task-Lineage: ca6f7b2b-2d04-41c3-b2eb-d3195e3a1ff5
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 09:13:48 -07:00
gsxdsm
082dd55967
FN-7280: persist all-workflows board view
...
Persist the Board aggregate workflow view so refreshes restore the operator's last board selection.
- Store the All workflows sentinel in project-scoped board view preferences while filtering it out for real workflow consumers.
- Restore all-workflows selection on remount/project changes and clear it when workflow mode is unavailable.
- Cover refresh persistence, project scoping, hooks, utilities, and cross-surface behavior with tests.
- Document the refresh-persistent All workflows behavior and add a patch changeset.
Files changed:
.changeset/fn-7280-all-workflows-board-view.md | 7 +++
docs/dashboard-guide.md | 7 +--
.../workflow-selection-cross-surface.test.tsx | 15 ++++++
packages/dashboard/app/components/Board.tsx | 31 +++++++++---
.../app/components/__tests__/Board.test.tsx | 58 ++++++++++++++++++++--
.../app/hooks/__tests__/useBoardWorkflows.test.ts | 11 ++++
.../utils/__tests__/boardWorkflowSelection.test.ts | 13 +++++
.../dashboard/app/utils/boardWorkflowSelection.ts | 13 ++++-
8 files changed, 137 insertions(+), 18 deletions(-)
Fusion-Task-Id: FN-7280
Fusion-Task-Lineage: 12d83b05-5b2b-4435-9383-30b35c07c087
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 09:04:03 -07:00
gsxdsm
c848ce11de
FN-7273: fix mobile engine controls menu placement
...
Keep the footer engine controls reachable on constrained mobile and tablet viewports.
- Render footer engine controls as a fixed full-width bottom panel through tablet widths while preserving the desktop anchored popover.
- Account for executor footer, mobile navigation, safe-area, standalone, and ICB offsets in panel placement.
- Add CSS regression coverage, dashboard documentation, and a patch changeset.
Files changed:
.changeset/fn-7273-mobile-engine-controls-menu.md | 7 ++
docs/dashboard-guide.md | 3 +-
.../dashboard/app/components/EngineControlMenu.css | 38 +++++++++-
.../__tests__/EngineControlMenu.css.test.ts | 88 +++++++++++++++++++++-
4 files changed, 128 insertions(+), 8 deletions(-)
Fusion-Task-Id: FN-7273
Fusion-Task-Lineage: d4764555-c8eb-4086-9130-d2f568727ae1
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 08:25:21 -07:00
gsxdsm
a039c93f57
FN-7260: consolidate Done actions into column menu
...
Move Done column archive and sort controls into the shared column actions menu.
- Replace separate Done sort and archive header controls with menu items.
- Preserve Done sort mode selection and archive-all confirmation behavior for standard and workflow complete columns.
- Update menu styling, dashboard docs, release notes, and Column component coverage.
Files changed:
.changeset/fn-7260-done-actions-menu.md | 7 ++
docs/dashboard-guide.md | 5 +-
packages/dashboard/app/components/Column.tsx | 93 ++++++++++------
.../app/components/__tests__/Column.test.tsx | 118 ++++++++++++---------
packages/dashboard/app/styles.css | 61 +++++------
5 files changed, 168 insertions(+), 116 deletions(-)
Fusion-Task-Id: FN-7260
Fusion-Task-Lineage: e336aa55-9dda-47bf-b8a7-9d9bbf6a33ef
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 07:58:55 -07:00
gsxdsm
924bcb97d5
FN-7255: add task card context menus
...
Add shared task action menus across board and list task surfaces.
- Add reusable task context menu UI with open, copy, archive, delete, pause, duplicate, retry, refine, and dependency actions.
- Wire board cards, swimlanes, worktree groups, and list rows to expose consistent menu behavior.
- Reuse task-detail action handlers and cover menu interactions with dashboard tests.
- Document the new task context menu behavior and add a patch changeset.
Files changed:
.changeset/fn-7255-card-context-menu.md | 7 +
docs/dashboard-guide.md | 6 +
packages/dashboard/app/App.tsx | 2 +
packages/dashboard/app/components/Board.tsx | 61 ++-
packages/dashboard/app/components/Column.tsx | 43 +-
packages/dashboard/app/components/Lane.tsx | 11 +-
packages/dashboard/app/components/ListView.css | 25 ++
packages/dashboard/app/components/ListView.tsx | 438 ++++++++++++++++++-
packages/dashboard/app/components/TaskCard.css | 12 +
packages/dashboard/app/components/TaskCard.tsx | 472 ++++++++++++++++++++-
.../dashboard/app/components/TaskContextMenu.css | 57 +++
.../dashboard/app/components/TaskContextMenu.tsx | 346 +++++++++++++++
.../dashboard/app/components/TaskDetailModal.tsx | 235 ++++------
.../dashboard/app/components/WorktreeGroup.tsx | 60 ++-
.../app/components/__tests__/ListView.test.tsx | 159 ++++++-
.../__tests__/TaskCard.cli-states.test.tsx | 1 +
.../app/components/__tests__/TaskCard.test.tsx | 180 +++++++-
.../components/__tests__/TaskContextMenu.test.tsx | 205 +++++++++
.../app/components/__tests__/board-mobile.test.tsx | 1 +
.../app/components/dashboard/MainContent.tsx | 12 +
.../__tests__/MainContent.graph-popout.test.tsx | 1 +
.../dashboard/app/components/dashboard/types.ts | 1 +
packages/dashboard/app/hooks/useAppSettings.ts | 8 +
23 files changed, 2178 insertions(+), 165 deletions(-)
Fusion-Task-Id: FN-7255
Fusion-Task-Lineage: 5b5714a9-3eb5-4df1-a466-0d2f839b6bd9
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 01:57:09 -07:00
gsxdsm
b5da5d310a
FN-7263: refresh custom provider model lists
...
Refresh persisted custom-provider model lists from saved endpoints and expose manual refresh controls.
- Add dashboard API helpers and routes to refresh one or all custom-provider model lists while preserving concurrent settings edits.
- Start background model refresh from serve, dashboard, and daemon startup paths after the server begins listening.
- Add Settings UI refresh actions, row-level status messaging, styles, docs, and regression coverage for refresh behavior.
Files changed:
.changeset/fn-7263-custom-provider-model-refresh.md | 7 +
docs/dashboard-guide.md | 6 +-
docs/settings-reference.md | 2 +-
packages/cli/src/commands/__tests__/daemon.test.ts | 59 +++++
.../cli/src/commands/__tests__/dashboard.test.ts | 51 ++++
packages/cli/src/commands/__tests__/serve.test.ts | 59 ++++-
packages/cli/src/commands/daemon.ts | 39 +++-
packages/cli/src/commands/dashboard.ts | 10 +
packages/cli/src/commands/serve.ts | 11 +-
.../app/__tests__/api-custom-providers.test.ts | 43 ++++
packages/dashboard/app/api/legacy.ts | 11 +
.../app/components/CustomProvidersSection.css | 41 +++-
.../app/components/CustomProvidersSection.tsx | 68 +++++-
.../__tests__/CustomProvidersSection.test.tsx | 227 ++++++++++++++++++
packages/dashboard/src/index.ts | 6 +
.../__tests__/custom-provider-routes.test.ts | 255 ++++++++++++++++++++
.../src/routes/__tests__/custom-providers.test.ts | 12 +
.../src/routes/register-custom-provider-routes.ts | 259 ++++++++++++++++-----
18 files changed, 1101 insertions(+), 65 deletions(-)
Fusion-Task-Id: FN-7263
Fusion-Task-Lineage: 60ee0637-ac85-409f-a376-c01f4bc8e8c5
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 01:23:09 -07:00
gsxdsm
273553429c
FN-7262: restore terminal shortcut handling
...
Restore reliable copy, paste, and input gating for embedded session terminals.
- Add platform-aware copy handling so selected text copies while no-selection Ctrl+C reaches the shell.
- Gate xterm stdin, mobile controls, cursor blink, and input sends on authoritative attach-ticket writability.
- Keep mobile send submission on one form path and cover shortcut/input behavior across desktop, modal, and mobile tests.
- Document embedded terminal shortcut semantics and add a patch changeset for @runfusion/fusion.
Files changed:
.changeset/fn-7262-terminal-shortcuts.md | 7 ++
docs/dashboard-guide.md | 2 +-
.../dashboard/app/components/SessionTerminal.tsx | 76 +++++++++++++----
.../__tests__/SessionTerminal.mobile.test.tsx | 34 ++++++--
.../components/__tests__/SessionTerminal.test.tsx | 96 +++++++++++++++++++++-
.../components/__tests__/TerminalModal.test.tsx | 33 ++++++++
6 files changed, 221 insertions(+), 27 deletions(-)
Fusion-Task-Id: FN-7262
Fusion-Task-Lineage: 8a7af0a4-0b52-44fe-b949-63486068fa97
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 01:18:16 -07:00
gsxdsm
46232118e1
FN-7253: add worktree picker to terminal sessions
...
Terminal sessions can now start from a selected safe project worktree.
- Add a Terminal modal worktree selector with searchable branch/path context and responsive styling.
- Thread worktree selection through session hooks, terminal routes, and terminal service creation.
- Centralize safe git worktree discovery and reuse it from git and terminal routes.
- Cover the picker, hook behavior, service worktree validation, and route wiring with tests.
- Document the terminal worktree picker and add a release changeset.
Files changed:
.changeset/fn-7253-terminal-worktree-picker.md | 7 +
docs/dashboard-guide.md | 13 +-
.../dashboard/app/components/TerminalModal.css | 189 +++++++++++++++-
.../dashboard/app/components/TerminalModal.tsx | 190 ++++++++++++++++-
.../components/__tests__/TerminalModal.test.tsx | 169 +++++++++++++++
.../hooks/__tests__/useTerminalSessions.test.ts | 237 ++++++++++++++++++++-
.../dashboard/app/hooks/useTerminalSessions.ts | 59 +++--
.../src/__tests__/routes-automation.test.ts | 37 ++--
.../src/__tests__/terminal-service.test.ts | 125 +++++++++++
packages/dashboard/src/git-worktree-safety.ts | 113 ++++++++++
.../dashboard/src/routes/register-git-github.ts | 54 +----
.../src/routes/register-messaging-scripts.ts | 1 +
.../src/routes/register-terminal-routes.ts | 1 +
packages/dashboard/src/terminal-service.ts | 66 ++++--
14 files changed, 1157 insertions(+), 104 deletions(-)
Fusion-Task-Id: FN-7253
Fusion-Task-Lineage: 6a0c0b4f-74cc-42b3-8bbd-2ca94c4c26d9
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 00:03:37 -07:00
gsxdsm
7427fa3faa
FN-7249: show optional block child connectors
...
Show optional workflow block children as connected without persisting synthetic topology.
- Add visual-only optional-group boundary edges and refresh them after editor graph changes.
- Prevent manual connections from reserved boundary handles and exclude visual edges from IR saves/cycle checks.
- Cover built-in/custom optional block connector rendering across canvas and mobile graph tests.
- Document optional block boundary connector behavior and add a patch changeset.
Files changed:
.../fn-7249-optional-block-subnode-connections.md | 7 +
docs/dashboard-guide.md | 5 +-
.../app/components/WorkflowNodeEditor.tsx | 103 ++++--
.../__tests__/WorkflowNodeEditor.test.tsx | 90 ++++-
.../__tests__/workflow-flow-mapping.test.ts | 379 ++++++++++++++++++++-
.../__tests__/workflow-mobile-graph.test.ts | 14 +-
.../app/components/nodes/WorkflowNodeTypes.tsx | 15 +
.../app/components/workflow-flow-mapping.ts | 245 ++++++++++++-
.../app/components/workflow-mobile-graph.ts | 2 +
9 files changed, 799 insertions(+), 61 deletions(-)
Fusion-Task-Id: FN-7249
Fusion-Task-Lineage: edd5d37d-a0a9-4788-9b57-8e7d4649f459
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-29 23:41:51 -07:00
gsxdsm
17fce43205
FN-7259: add mobile task popup setting
...
Add an opt-in mobile board-card route that opens task details in the existing popup.
- Add the openMobileTasksInPopup project setting, defaults, types, docs, and changeset.
- Expose the Appearance setting and include it in dashboard settings persistence.
- Route mobile board-card clicks without deep tabs into the task FloatingWindow while preserving dock and main-panel behavior.
- Add coverage for settings defaults, Appearance controls, mobile routing, and task popup sizing.
Files changed:
.changeset/fn-7259-mobile-task-popups.md | 7 ++++
docs/dashboard-guide.md | 5 ++-
docs/settings-reference.md | 1 +
.../core/src/__tests__/settings-defaults.test.ts | 13 ++++++
packages/core/src/settings-schema.ts | 5 +++
packages/core/src/types.ts | 7 ++++
packages/dashboard/app/App.tsx | 45 ++++++++++++++++++--
.../__tests__/App.openTasksInRightSidebar.test.ts | 48 +++++++++++++++++++++-
.../dashboard/app/components/FloatingWindow.css | 28 +++++++++++++
.../dashboard/app/components/SettingsModal.tsx | 1 +
.../components/__tests__/FloatingWindow.test.tsx | 22 ++++++++++
.../settings/sections/AppearanceSection.tsx | 7 ++++
.../sections/__tests__/AppearanceSection.test.tsx | 19 +++++++++
packages/dashboard/app/hooks/useAppSettings.ts | 5 +++
14 files changed, 206 insertions(+), 7 deletions(-)
Fusion-Task-Id: FN-7259
Fusion-Task-Lineage: 05f22978-ede7-4d13-940c-5108390959f7
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-29 23:12:56 -07:00
gsxdsm
2a5a108123
FN-7265: preserve workflow on refinements
...
Preserve workflow context when creating refinement tasks from completed or reviewed work.
- Inherit explicit source workflow selections when creating refinement tasks and seed the new card into the workflow entry column.
- Write task rows and workflow-selection rows atomically so refinements cannot be stranded outside their intended board.
- Clear successful done-task chat refinement composer bubbles and document the dashboard behavior.
- Add core and dashboard regression coverage for refinement workflow preservation.
Files changed:
.changeset/fuzzy-refinements-dance.md | 7 +
.changeset/preserve-refinement-workflow.md | 7 +
docs/dashboard-guide.md | 3 +-
.../src/__tests__/workflow-selection-store.test.ts | 159 +++++++++++++++++++--
packages/core/src/store.ts | 55 ++++++-
.../workflow-selection-cross-surface.test.tsx | 41 +++++-
packages/dashboard/app/components/TaskChatTab.tsx | 5 +
.../app/components/__tests__/TaskChatTab.test.tsx | 27 +++-
.../TaskDetailModal.definition-actions.test.tsx | 52 +++++++
9 files changed, 335 insertions(+), 21 deletions(-)
Fusion-Task-Id: FN-7265
Fusion-Task-Lineage: 48700e3e-9f3a-474e-806c-47db0b75fca1
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-29 22:54:50 -07:00
gsxdsm
d05ca2154f
FN-7258: restore mobile board scroll on return
...
Preserve the board lane position when mobile users return from full-panel task detail.
- Capture and restore board, column, project-content, and document scroll offsets for board detail navigation.
- Retry board scroll restoration across bounded animation frames after remount and hydration.
- Cover mobile and desktop Back to board behavior with focused tests and document the mobile scroll contract.
- Add a patch changeset for the published CLI package.
Files changed:
.changeset/fn-7258-mobile-board-scroll.md | 7 ++
docs/dashboard-guide.md | 2 +
.../__tests__/navigation-history.test.tsx | 111 ++++++++++++++++++---
.../hooks/__tests__/useBoardScrollRestore.test.ts | 43 +++++++-
.../dashboard/app/hooks/useBoardScrollRestore.ts | 45 ++++++---
.../utils/__tests__/boardScrollSnapshot.test.ts | 91 +++++++++++++++--
.../dashboard/app/utils/boardScrollSnapshot.ts | 41 +++++++-
7 files changed, 305 insertions(+), 35 deletions(-)
Fusion-Task-Id: FN-7258
Fusion-Task-Lineage: 97faf031-4244-4117-9948-45491c364134
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-29 21:02:34 -07:00
gsxdsm
480d4d03fd
FN-7254: add worktree commit history targets
...
Allow Git Manager users to inspect commits and diffs from registered worktrees without changing mutation targets.
- Add read-only worktreePath targeting to Git commit list and commit diff APIs with registered-worktree validation.
- Add a Commits history target selector and Worktrees "View commits" shortcuts that clear stale diff state when targets change.
- Document the read-only scope and cover API, UI, responsive layout, and mutation-target invariants with tests.
Files changed:
.changeset/fn-7254-git-manager-worktree-commits.md | 7 +
.changeset/fn-7254-worktree-commit-target-ui.md | 7 +
.changeset/fn-7254-worktree-commits.md | 7 +
docs/dashboard-guide.md | 6 +-
packages/dashboard/app/api/legacy.ts | 15 +-
.../dashboard/app/components/GitManagerModal.tsx | 133 ++++++++++++++--
packages/dashboard/app/components/ScriptsModal.css | 113 ++++++++++++++
.../components/__tests__/GitManagerModal.test.tsx | 167 +++++++++++++++++++++
.../dashboard/src/__tests__/routes-git.test.ts | 34 +++++
.../dashboard/src/routes/register-git-github.ts | 31 +++-
10 files changed, 497 insertions(+), 23 deletions(-)
Fusion-Task-Id: FN-7254
Fusion-Task-Lineage: 37314175-fef4-4f8d-8268-cf27fee09857
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-29 20:24:24 -07:00
gsxdsm
45dd8082b3
FN-7256: reuse fresh task snapshots on board return
...
Reuse fresh task data when users return to Board or List views.
- Track the confirmed task snapshot context and freshness window before deciding whether task-view re-entry needs a catch-up fetch.
- Preserve SSE reconnect, stale snapshot, query, archive, project-change, missing-data, and error recovery fetch paths.
- Cover fresh, stale, empty, failed, no-snapshot, project-scoped, and reconnect return behavior in useTasks tests.
- Document the Board/List return cache behavior and add a patch changeset for the published CLI package.
Files changed:
.changeset/fn-7256-board-return-cache.md | 7 +
docs/dashboard-guide.md | 2 +
.../dashboard/app/hooks/__tests__/useTasks.test.ts | 221 ++++++++++++++++++++-
packages/dashboard/app/hooks/useTasks.ts | 34 +++-
4 files changed, 258 insertions(+), 6 deletions(-)
Fusion-Task-Id: FN-7256
Fusion-Task-Lineage: 14dd91c4-bf06-4dcf-8324-2572828fd2ee
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-29 20:16:41 -07:00
gsxdsm
f01e5c9651
FN-7247: document current workflow behavior
...
Refresh workflow documentation to match the latest runtime, dashboard, and agent tool behavior.
- Add a current workflow behavior inventory covering built-ins, fail-closed runtime semantics, optional gates, settings, tools, routing, and create forwarding.
- Clarify dashboard All workflows aggregation, workflow badges, and workflow-aware task creation behavior.
- Expand editor, agent, CLI, and settings docs for governed workflow authoring, values, trait inspection, and selection boundaries.
- Add docs drift tests requiring workflow docs index coverage and current behavior markers.
Files changed:
docs/agents.md | 5 +-
docs/cli-reference.md | 11 ++-
docs/dashboard-guide.md | 10 ++-
docs/settings-reference.md | 5 ++
docs/workflow-editor.md | 15 +++-
docs/workflow-steps.md | 48 ++++++++---
.../cli/src/__tests__/docs-readme-index.test.ts | 4 +
.../src/__tests__/workflow-docs-current.test.ts | 95 ++++++++++++++++++++++
8 files changed, 172 insertions(+), 21 deletions(-)
Fusion-Task-Id: FN-7247
Fusion-Task-Lineage: 72bf0c89-80a3-440c-b6aa-1aea315279f5
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-29 19:46:23 -07:00
gsxdsm
ffe2092109
FN-7248: require confirmation for footer concurrency edits
...
Footer concurrency controls now require explicit confirmation before persisting scheduler-capacity changes.
- Add local pending state for global and project footer concurrency slider edits so dismissals revert instead of saving.
- Reuse Command Center confirmation copy for single and grouped concurrency changes.
- Cover confirm, cancel, close, Escape, outside-click, loading, and error behaviors in EngineControlMenu tests.
- Document the footer confirmation and dismissal semantics and add a patch changeset.
Files changed:
.../fn-7248-footer-concurrency-confirmation.md | 7 +
docs/dashboard-guide.md | 3 +-
.../dashboard/app/components/EngineControlMenu.tsx | 235 ++++++++++++++---
.../__tests__/EngineControlMenu.test.tsx | 287 +++++++++++++++++++--
4 files changed, 478 insertions(+), 54 deletions(-)
Fusion-Task-Id: FN-7248
Fusion-Task-Lineage: cbcd21fa-62c3-4c05-ac3d-67a641cf47c8
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-29 19:29:36 -07:00
gsxdsm
797b30ce5d
FN-7242: add all-workflows board view and workflow badges
...
Adds an aggregate workflow board mode with workflow-name context on mixed-workflow task surfaces.
- Add a dashboard-only All workflows switcher option that unions visible workflow columns without persisting the sentinel as a real workflow selection.
- Thread workflow metadata into board cards, worktree groups, and task detail headers so mixed workflow views show the task workflow name.
- Update workflow status counts, quick-create targeting, docs, changesets, and regression coverage for aggregate board and badge behavior.
Files changed:
.changeset/fn-7242-all-workflows-board.md | 7 +
.changeset/fn-7242-task-detail-workflow-badge.md | 7 +
.changeset/fn-7242-workflow-badges.md | 7 +
docs/dashboard-guide.md | 8 +-
.../workflow-selection-cross-surface.test.tsx | 6 +-
packages/dashboard/app/components/Board.tsx | 295 +++++++++++++++++++--
packages/dashboard/app/components/Column.tsx | 6 +-
packages/dashboard/app/components/TaskCard.css | 16 +-
packages/dashboard/app/components/TaskCard.tsx | 23 +-
.../dashboard/app/components/TaskDetailModal.css | 14 +-
.../dashboard/app/components/TaskDetailModal.tsx | 43 ++-
.../dashboard/app/components/WorkflowSwitcher.tsx | 38 ++-
.../dashboard/app/components/WorktreeGroup.tsx | 5 +
.../app/components/__tests__/Board.test.tsx | 192 +++++++++++++-
.../__tests__/TaskCard.badge-wrap.test.tsx | 2 +
.../app/components/__tests__/TaskCard.test.tsx | 38 +++
.../__tests__/TaskDetailModal.rendering.test.tsx | 161 ++++++++++-
.../components/__tests__/WorkflowSwitcher.test.tsx | 50 ++++
.../__tests__/workflowStatusCounts.test.ts | 26 +-
.../app/components/workflowStatusCounts.ts | 16 +-
20 files changed, 887 insertions(+), 73 deletions(-)
Fusion-Task-Id: FN-7242
Fusion-Task-Lineage: 7ff9d35a-83ef-406c-88f4-a8846edad381
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-29 18:54:28 -07:00
gsxdsm
03d4f95e8a
FN-7224: separate Anthropic subscription and API-key auth
...
Separate Claude subscription OAuth from raw Anthropic API-key authentication surfaces.
- Add synthetic Anthropic Subscription and Anthropic API Key provider IDs while preserving upstream credential storage compatibility.\n- Map dashboard auth routes, CLI auth storage, Settings, and onboarding flows so OAuth login/logout and API-key save/clear no longer share one user-facing card.\n- Extend auth tests, docs, icons, and the release changeset for the split Anthropic authentication behavior.\n\nFiles changed:\n .changeset/fn-7224-separate-anthropic-api-key.md | 7 +\n docs/dashboard-guide.md | 2 +-\n docs/settings-reference.md | 2 +-\n .../src/commands/__tests__/provider-auth.test.ts | 233 +++++++++++++++++++--\n packages/cli/src/commands/provider-auth.ts | 202 +++++++++++++++---\n packages/dashboard/app/api/legacy.ts | 2 -\n .../app/components/ModelOnboardingModal.tsx | 146 ++++---------\n packages/dashboard/app/components/ProviderIcon.tsx | 7 +\n .../__tests__/AuthenticationSection.test.tsx | 89 ++++----\n .../__tests__/SettingsModal.models-auth.test.tsx | 77 ++++---\n .../components/__tests__/onboarding-flow.test.tsx | 29 ++-\n .../components/__tests__/settings-mobile.test.tsx | 17 +-\n .../settings/sections/AuthenticationSection.tsx | 20 +-\n .../dashboard/src/__tests__/routes-auth.test.ts | 111 ++++++----\n .../dashboard/src/routes/register-auth-routes.ts | 93 +++++---\n 15 files changed, 713 insertions(+), 324 deletions(-)
Fusion-Task-Id: FN-7224
Fusion-Task-Lineage: a2db2cf6-3452-4516-81e5-41dcdf47e1d2
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-29 18:32:36 -07:00