gsxdsm
2367918fdf
FN-6650: add Overview analytics charts
...
Add graph-rich Overview visuals to the Command Center using existing analytics data.
- Add tokens-by-model, tool-category, and daily activity chart cards to the Overview tab.
- Style the chart section with responsive dashboard-token layouts and reduced-motion safeguards.
- Cover populated, partial, edge-case, and mobile-scroll chart rendering in tests.
- Document the Overview charts and add a patch changeset for the published CLI package.
Files changed:
.../fn-6650-command-center-overview-charts.md | 5 +
docs/dashboard-guide.md | 2 +-
.../components/command-center/CommandCenter.css | 111 +++++++++++++++++++++
.../components/command-center/CommandCenter.tsx | 73 +++++++++++++-
.../__tests__/CommandCenter.mobile-scroll.test.tsx | 73 +++++++++++++-
.../__tests__/CommandCenter.test.tsx | 58 +++++++++++
6 files changed, 313 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-6650
Fusion-Task-Lineage: 227f5809-ed71-42fb-8847-b137dbef6ac7
2026-06-18 14:38:07 -07:00
gsxdsm
3d28b3b212
FN-6632: preserve reattached chat stream chunks
...
Seed streaming accumulators from durable in-flight snapshots so reattached chat bubbles keep prior chunks.
- Add initial text, thinking, and tool-call snapshots to chat stream handlers.
- Wire main chat and QuickChat reattach flows to seed handler accumulators before replayed deltas arrive.
- Cover text, thinking, and tool-call continuation across shared handler, main chat, and QuickChat tests.
- Document the reattach accumulator invariant and add a published package changeset.
Files changed:
.changeset/fn-6632-chat-stream-reattach.md | 5 +
docs/architecture.md | 2 +-
docs/dashboard-guide.md | 2 +-
.../__tests__/createChatStreamHandlers.test.ts | 63 +++++++
.../dashboard/app/hooks/__tests__/useChat.test.ts | 182 +++++++++++++++++++++
.../app/hooks/__tests__/useQuickChat.test.ts | 147 +++++++++++++++++
.../app/hooks/createChatStreamHandlers.ts | 19 ++-
packages/dashboard/app/hooks/useChat.ts | 7 +
packages/dashboard/app/hooks/useQuickChat.ts | 7 +
9 files changed, 429 insertions(+), 5 deletions(-)
Fusion-Task-Id: FN-6632
Fusion-Task-Lineage: e2f2eb42-08aa-4bae-a79f-60cfc9fb03d4
2026-06-18 06:36:03 -07:00
gsxdsm
58a34e9cf0
FN-6631: fix Command Center completion gauges
...
Fix Command Center completion analytics and add futuristic activity visualizations.
- Compute SDLC completion rate as a triage cohort conversion capped between zero and one.
- Add a radial completion gauge plus a live activity strip with compact throughput sparkline styling.
- Cover the analytics and chart behavior with targeted tests, docs, and a patch changeset.
Files changed:
.changeset/fn-6631-command-center-rate-gauge.md | 5 +
docs/dashboard-guide.md | 4 +-
.../core/src/__tests__/activity-analytics.test.ts | 32 +++++-
packages/core/src/activity-analytics.ts | 23 +++-
.../components/command-center/CommandCenter.css | 128 ++++++++++++++++++++-
.../components/command-center/CommandCenter.tsx | 45 +++++++-
.../app/components/command-center/SdlcFunnel.tsx | 17 ++-
.../__tests__/CommandCenter.test.tsx | 12 +-
.../command-center/__tests__/SdlcFunnel.test.tsx | 2 +
.../command-center/__tests__/charts.test.tsx | 26 ++++-
.../command-center/charts/RadialGauge.tsx | 50 ++++++++
.../components/command-center/charts/charts.css | 83 +++++++++++++
.../vitest.config.ts | 2 +
scripts/lib/test-quarantine.json | 8 +-
14 files changed, 402 insertions(+), 35 deletions(-)
Fusion-Task-Id: FN-6631
Fusion-Task-Lineage: 0d09f18a-5f93-4dc8-8786-889f32eb63e8
2026-06-18 06:25:08 -07:00
gsxdsm
316968f0d3
FN-6628: Document Command Center dashboard view
...
Document the Command Center dashboard surface and its lazy-loaded view inventory entry.
- Add Command Center navigation, feature, and data-state guidance to the dashboard guide.
- Update the lazy-loaded heavy views count and include CommandCenter in the inventory.
Files changed:
docs/dashboard-guide.md | 27 ++++++++++++++++++++++++++-
1 file changed, 26 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-6628
Fusion-Task-Lineage: e4a25b2d-919e-443f-b17c-c1f64f96d8ed
2026-06-18 01:50:32 -07:00
gsxdsm
19aac38c51
FN-6605: load chat skill slash commands
...
Load dashboard chat slash-command skill requests into model-loop sessions.
- Parse /skill:{name} tokens in main chat, QuickChat, and room responders.
- Merge typed skill requests with existing agent and plugin skill selection while preserving normal filters.
- Strip slash-command tokens from model prompts without mutating persisted chat history.
- Cover slash-command parsing, deduplication, prompt stripping, and room responder skill selection.
- Document dashboard chat skill command behavior and add a published package changeset.
Files changed:
.changeset/fn-6605-chat-skill-slash-command.md | 5 +
docs/agents.md | 1 +
docs/dashboard-guide.md | 1 +
.../dashboard/src/__tests__/chat-manager.test.ts | 158 +++++++++++++++++++++
.../dashboard/src/__tests__/chat.rooms.test.ts | 46 ++++++
packages/dashboard/src/chat.ts | 100 ++++++++++++-
6 files changed, 307 insertions(+), 4 deletions(-)
Fusion-Task-Id: FN-6605
Fusion-Task-Lineage: 4ad2e015-30a5-4608-b69c-e42e46166f0e
2026-06-17 18:37:01 -07:00
gsxdsm
5b9ff047d3
FN-6599: preserve chat thread during streaming attach
...
Keep existing chat history visible when attaching to an in-flight streaming response.
- Commit attach-triggered message loads for the streaming session before active session refs settle.
- Avoid clearing cached main chat messages on attach cache misses while fetching prior thread history.
- Add regression coverage for main chat and QuickChat streaming thread visibility, plus quarantine ledger updates.
Files changed:
.changeset/fn-6599-chat-streaming-thread.md | 5 +
docs/architecture.md | 1 +
docs/dashboard-guide.md | 2 +-
packages/core/vitest.config.ts | 1 +
.../__tests__/ChatView.streaming-thread.test.tsx | 168 +++++++++++++++++++++
.../dashboard/app/hooks/__tests__/useChat.test.ts | 51 +++++++
.../app/hooks/__tests__/useQuickChat.test.ts | 39 +++++
packages/dashboard/app/hooks/useChat.ts | 37 +++--
packages/dashboard/app/hooks/useQuickChat.ts | 27 ++--
scripts/lib/test-quarantine.json | 5 +
10 files changed, 307 insertions(+), 29 deletions(-)
Fusion-Task-Id: FN-6599
Fusion-Task-Lineage: b2c94391-6a5b-4048-836d-e4bc56e16786
2026-06-17 17:49:20 -07:00
gsxdsm
01b80db603
FN-6589: add structured ask-question chat tool
...
Add a native chat-agent tool for presenting structured questions to dashboard users.
- Register `fn_ask_question` for dashboard chat sessions with prompt guidance to wait for user replies.
- Reuse the existing structured question card parser by recognizing the new tool name.
- Validate ask-question parameters in engine tooling and cover chat/parser behavior with tests.
- Document the dashboard chat question flow and add a patch changeset.
Files changed:
.changeset/fn-6589-chat-ask-question.md | 5 ++
docs/dashboard-guide.md | 3 +-
.../utils/__tests__/parseQuestionToolCall.test.ts | 19 +++++
.../dashboard/app/utils/parseQuestionToolCall.ts | 3 +-
.../dashboard/src/__tests__/chat-manager.test.ts | 10 ++-
packages/dashboard/src/chat.ts | 10 ++-
.../src/__tests__/agent-tools-ask-question.test.ts | 51 ++++++++++++
packages/engine/src/agent-tools.ts | 94 ++++++++++++++++++++++
packages/engine/src/index.ts | 2 +
9 files changed, 190 insertions(+), 7 deletions(-)
Fusion-Task-Id: FN-6589
Fusion-Task-Lineage: 3f416010-ed2f-40b3-a899-7a9f4a6ed265
2026-06-17 16:53:29 -07:00
gsxdsm
c261217ac1
FN-6597: add task chat timestamps
...
Show compact relative timestamps in task chat without adding live polling.
- Add a shared relative-time formatter for chat timestamps.
- Render muted timestamps on user message headers and agent group metadata.
- Cover timestamp formatting and chat header rendering with dashboard tests.
- Document task chat timestamp behavior in the dashboard guide.
Files changed:
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/TaskChatTab.css | 19 +++++
packages/dashboard/app/components/TaskChatTab.tsx | 23 ++++-
.../app/components/__tests__/TaskChatTab.test.tsx | 97 +++++++++++++++++++++-
.../app/utils/__tests__/relativeTimeAgo.test.ts | 32 +++++++
packages/dashboard/app/utils/relativeTimeAgo.ts | 23 +++++
6 files changed, 192 insertions(+), 4 deletions(-)
Fusion-Task-Id: FN-6597
Fusion-Task-Lineage: 52c54a9e-6d00-4df1-a454-2218a935ebda
2026-06-17 16:21:54 -07:00
gsxdsm
484f016334
FN-6576: align chat send touch dedupe
...
Align the direct and room chat mobile send controls around the same pointer/touch dedupe contract.
- Add a per-gesture touch action latch separate from the trailing synthetic-click latch.
- Apply the two-latch handling to direct send, room send, and send-to-stop transitions.
- Cover repeated iOS taps, pointer/touch/click dedupe, and stop-button swap behavior in ChatView tests.
- Document the shared mobile send dedupe behavior for direct and room chat.
Files changed:
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/ChatView.tsx | 70 ++++++++---
.../components/__tests__/ChatView.rooms.test.tsx | 30 +++++
.../app/components/__tests__/ChatView.test.tsx | 132 +++++++++++++++++++++
4 files changed, 215 insertions(+), 19 deletions(-)
Fusion-Task-Id: FN-6576
Fusion-Task-Lineage: b8ef427f-99f0-48d8-8cb8-d72ac352bdeb
2026-06-17 14:52:55 -07:00
gsxdsm
4f5c83e09b
FN-6526: add start node entry column inspector
...
Expose the workflow start node's editable entry column through the node inspector.
- Allow the workflow editor inspector to open for start nodes while keeping end nodes structural-only.
- Add a localized entry-column selector and explanatory copy for start nodes.
- Cover start-node inspector behavior and IR column mapping with regression tests.
- Update dashboard workflow editor documentation for start-node editing.
Files changed:
docs/dashboard-guide.md | 2 +-
.../app/components/WorkflowNodeEditor.tsx | 57 ++++++++---
.../__tests__/WorkflowNodeEditor.test.tsx | 106 ++++++++++++++++++++-
.../__tests__/workflow-flow-mapping.test.ts | 13 +++
packages/i18n/locales/en/app.json | 3 +
packages/i18n/locales/es/app.json | 3 +
packages/i18n/locales/fr/app.json | 3 +
packages/i18n/locales/ko/app.json | 3 +
packages/i18n/locales/zh-CN/app.json | 3 +
packages/i18n/locales/zh-TW/app.json | 3 +
10 files changed, 178 insertions(+), 18 deletions(-)
Fusion-Task-Id: FN-6526
Fusion-Task-Lineage: 0195e29b-9cd2-4663-8ad4-30805313ac5f
2026-06-17 03:53:51 -07:00
gsxdsm
4bfb6b46ad
FN-6528: add selection comments for new tasks
...
Adds a text-selection comment flow that opens New Task with source context.
- Add a reusable selection comment hook and popover for editor/document text selections.
- Thread selected-file and line-range context into the New Task modal.
- Enable comment-on-selection entry points in file editor, browser, documents, and memory surfaces.
- Cover the selection flow with focused component and hook tests, plus docs and copy updates.
Files changed:
docs/dashboard-guide.md | 6 +-
packages/dashboard/app/App.tsx | 7 +-
packages/dashboard/app/components/AppModals.tsx | 2 +
.../dashboard/app/components/DocumentsView.tsx | 25 ++-
.../dashboard/app/components/FileBrowserModal.tsx | 3 +
packages/dashboard/app/components/FileEditor.tsx | 35 +++-
packages/dashboard/app/components/MemoryView.tsx | 5 +-
packages/dashboard/app/components/NewTaskModal.tsx | 15 +-
.../app/components/SelectionCommentPopover.css | 73 +++++++++
.../app/components/SelectionCommentPopover.tsx | 181 +++++++++++++++++++++
.../components/__tests__/DocumentsView.test.tsx | 59 +++++++
.../components/__tests__/FileBrowserModal.test.tsx | 79 +++++++++
.../app/components/__tests__/FileEditor.test.tsx | 60 +++++++
.../app/components/__tests__/MemoryView.test.tsx | 48 +++++-
.../app/components/__tests__/NewTaskModal.test.tsx | 17 ++
.../__tests__/SelectionCommentPopover.test.tsx | 75 +++++++++
.../app/hooks/__tests__/useModalManager.test.ts | 29 ++++
.../hooks/__tests__/useSelectionComment.test.ts | 140 ++++++++++++++++
packages/dashboard/app/hooks/useModalManager.ts | 19 ++-
.../dashboard/app/hooks/useSelectionComment.ts | 95 +++++++++++
packages/i18n/locales/en/app.json | 11 ++
21 files changed, 973 insertions(+), 11 deletions(-)
Fusion-Task-Id: FN-6528
Fusion-Task-Lineage: ef79e450-e69f-497b-97cd-f82d3c832fdf
2026-06-17 03:29:39 -07:00
gsxdsm
66be2624fd
FN-6563: align room send tap dedupe
...
Align the chat room composer send button with direct chat's mobile tap handling.
- Dispatch room sends from touch pointer/touchstart paths when mobile browsers suppress click events.
- Consume duplicate synthetic click events so touch gestures send exactly once while desktop clicks still work.
- Cover iOS, Android, desktop, and room-to-direct routing parity in room chat tests.
- Document the mobile room composer send-button dedupe contract.
Files changed:
docs/dashboard-guide.md | 1 +
packages/dashboard/app/components/ChatView.tsx | 21 +++--
.../components/__tests__/ChatView.rooms.test.tsx | 90 ++++++++++++++++++++++
3 files changed, 104 insertions(+), 8 deletions(-)
Fusion-Task-Id: FN-6563
Fusion-Task-Lineage: 9abd1e29-1b25-4105-9326-5e479f5cb5e5
2026-06-17 03:23:47 -07:00
gsxdsm
7b3c628fba
FN-6524: add simple editor step reordering
...
Enable custom workflow authors to reorder simple editor steps from the mobile graph outline.
- Add move up/down controls for editable outline rows while keeping built-in workflows read-only.
- Swap sibling React Flow positions within columns or template parents so persisted order follows existing graph ordering.
- Cover reorder availability, behavior, styling, and documentation updates.
Files changed:
docs/dashboard-guide.md | 2 +-
.../app/components/MobileWorkflowGraphView.css | 17 ++-
.../app/components/MobileWorkflowGraphView.tsx | 134 +++++++++++++++------
.../app/components/WorkflowNodeEditor.tsx | 20 ++-
.../__tests__/MobileWorkflowGraphView.css.test.ts | 8 +-
.../__tests__/MobileWorkflowGraphView.test.tsx | 123 ++++++++++++++++++-
.../__tests__/workflow-mobile-graph.test.ts | 75 +++++++++++-
.../app/components/workflow-mobile-graph.ts | 41 +++++++
8 files changed, 372 insertions(+), 48 deletions(-)
Fusion-Task-Id: FN-6524
Fusion-Task-Lineage: 25ffa5aa-bdfb-4ee3-9365-07029f5bbbf6
2026-06-17 03:12:16 -07:00
gsxdsm
550715d10c
FN-6518: focus Quick Chat composer on open
...
Quick Chat now places keyboard focus in the composer whenever the panel opens without stealing existing external focus.
- Focus the Quick Chat composer after open on both desktop and mobile viewports.
- Preserve the existing mobile stealth-input handoff while letting desktop use the ready-state focus path.
- Add regression coverage for desktop, delayed session readiness, mobile handoff, and external focus preservation.
- Document the updated Quick Chat focus behavior and add a patch changeset.
Files changed:
.changeset/fn-6518-quick-chat-focus.md | 5 +
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/QuickChatFAB.tsx | 6 +-
.../app/components/__tests__/QuickChatFAB.test.tsx | 102 +++++++++++++++++++++
4 files changed, 113 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-6518
Fusion-Task-Lineage: 9fdaba17-e3f4-4269-91d9-aaad152c2ab1
2026-06-17 03:07:05 -07:00
gsxdsm
4a9fe9957d
FN-6504: allow attachment-only chat sends
...
Allow chat composers and API routes to deliver attachment-only messages without placeholder text.
- Permit main chat sends when staged attachments exist even if the textarea is blank.
- Accept upload-backed and referenced attachment-only payloads in chat and room message routes while still rejecting fully empty messages.
- Add UI/API regression coverage, documentation, and a patch changeset for attachment-only chat sends.
Files changed:
.changeset/fn-6504-attachment-only-send.md | 5 ++
docs/dashboard-guide.md | 1 +
packages/dashboard/app/components/ChatView.tsx | 72 ++++++++++++++++++++--
.../app/components/__tests__/ChatView.test.tsx | 39 ++++++++++++
.../src/__tests__/chat-attachment-routes.test.ts | 24 +++++++-
.../src/__tests__/chat-routes.rooms.test.ts | 62 +++++++++++++------
.../src/routes/register-chat-room-routes.ts | 13 +++-
.../dashboard/src/routes/register-chat-routes.ts | 21 ++++---
8 files changed, 205 insertions(+), 32 deletions(-)
Fusion-Task-Id: FN-6504
Fusion-Task-Lineage: f64f7874-4e32-4ae5-a5b1-d8c4b78e23dd
2026-06-17 02:39:36 -07:00
gsxdsm
bd328f2282
FN-6536: apply terminal preferences to sessions
...
Extend embedded session terminals to reuse the saved TerminalModal preferences while preserving replay safety.
- Apply shared font, font size, cursor style, cursor blink, and renderer preferences when SessionTerminal initializes.
- Live-apply font and cursor preference changes from storage events without remounting the terminal.
- Keep cursor blink disabled for read-only, idle, and ended sessions, and skip WebGL on mobile viewports.
- Add desktop and mobile tests plus dashboard documentation for embedded session preference behavior.
Files changed:
docs/dashboard-guide.md | 1 +
.../dashboard/app/components/SessionTerminal.tsx | 96 +++++++++---
.../__tests__/SessionTerminal.mobile.test.tsx | 53 ++++++-
.../components/__tests__/SessionTerminal.test.tsx | 166 +++++++++++++++++++--
4 files changed, 286 insertions(+), 30 deletions(-)
Fusion-Task-Id: FN-6536
Fusion-Task-Lineage: 836eafd7-923d-45b7-9cf6-e1236af8f168
2026-06-17 01:15:20 -07:00
gsxdsm
e923b5e84d
FN-6527: add terminal shortcuts and preferences
...
Adds persistent terminal customization and keyboard-less navigation controls to the dashboard terminal.
- Add arrow shortcut buttons that send ANSI cursor sequences alongside existing Ctrl/Alt helpers.
- Add localStorage-backed terminal preferences for font family, size, cursor style, blink, and renderer with legacy font-size migration.
- Apply font and cursor preferences live, document renderer behavior, and cover preference parsing and modal controls with tests.
Files changed:
docs/dashboard-guide.md | 3 +
.../dashboard/app/components/TerminalModal.css | 57 ++++-
.../dashboard/app/components/TerminalModal.tsx | 271 ++++++++++++++++-----
.../components/__tests__/TerminalModal.test.tsx | 135 +++++++++-
.../utils/__tests__/terminalPreferences.test.ts | 90 +++++++
.../dashboard/app/utils/terminalPreferences.ts | 197 +++++++++++++++
6 files changed, 690 insertions(+), 63 deletions(-)
Fusion-Task-Id: FN-6527
Fusion-Task-Lineage: bc863486-9d2c-41d5-84a4-7b697e81a298
2026-06-17 00:06:24 -07:00
gsxdsm
0fb6757100
FN-6521: refresh workflow documentation
...
Refresh the public docs to describe current workflow selection, editor, chat, and feature surfaces.
- Add a top-level README workflow overview with built-in workflow IDs and editor links.
- Update localized READMEs and docs index entries for workflows, chat, plugins, research, and remote access.
- Expand Getting Started, Dashboard Guide, and Workflow Steps with workflow selection and authoring guidance.
Files changed:
README.es.md | 71 ++++++++++++++++++++++++++++++++-----------------
README.fr.md | 67 +++++++++++++++++++++++++++++++---------------
README.ko.md | 71 ++++++++++++++++++++++++++++++++-----------------
README.md | 65 +++++++++++++++++++++++++++++---------------
README.zh-CN.md | 71 ++++++++++++++++++++++++++++++++-----------------
README.zh-TW.md | 71 ++++++++++++++++++++++++++++++++-----------------
docs/README.md | 11 ++++----
docs/dashboard-guide.md | 11 +++++---
docs/getting-started.md | 18 ++++++++++---
docs/workflow-steps.md | 34 +++++++++++++++++++++++
10 files changed, 339 insertions(+), 151 deletions(-)
Fusion-Task-Id: FN-6521
Fusion-Task-Lineage: 6f8683fe-4a7c-4d41-bcf6-e6e5db9b100f
2026-06-16 23:38:50 -07:00
gsxdsm
c073fdc85c
FN-6522: load earlier task chat messages
...
Preserve task-detail chat reading position while paging older agent log entries.
- Add top-of-transcript pagination with an explicit Load previous messages control and loading state.
- Preserve scroll anchoring when earlier log entries are prepended while keeping live bottom-follow behavior for new output.
- Cover scroll-to-top loading and manual loading with regression tests and document the behavior.
Files changed:
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/TaskChatTab.css | 28 ++++
packages/dashboard/app/components/TaskChatTab.tsx | 82 ++++++++++-
.../app/components/__tests__/TaskChatTab.test.tsx | 163 ++++++++++++++++++++-
4 files changed, 269 insertions(+), 6 deletions(-)
Fusion-Task-Id: FN-6522
Fusion-Task-Lineage: b93464cf-0b9a-4a73-b4f5-4f3a5e34cc89
2026-06-16 23:04:45 -07:00
gsxdsm
def4bd9464
FN-6499: add chat session rename controls
...
Adds regular Chat and Quick Chat rename flows backed by optimistic session title updates.
- Add rename actions to the regular Chat desktop context menu and mobile session switcher.
- Add Quick Chat session-row rename controls and show custom active titles in the panel header.
- Share PATCH title updates through chat hooks with null titles clearing custom names.
- Cover rename success, clearing, and rollback behavior in hook and component tests.
- Document the rename behavior and add a patch changeset for the published CLI bundle.
Files changed:
.changeset/chat-session-rename.md | 5 +
docs/dashboard-guide.md | 2 +
packages/dashboard/app/api/legacy.ts | 2 +-
packages/dashboard/app/components/ChatView.css | 44 ++++++++
packages/dashboard/app/components/ChatView.tsx | 111 +++++++++++++++++--
packages/dashboard/app/components/QuickChatFAB.css | 69 ++++++++++++
packages/dashboard/app/components/QuickChatFAB.tsx | 117 ++++++++++++++++++---
.../app/components/__tests__/ChatView.test.tsx | 108 +++++++++++++++++++
.../app/components/__tests__/QuickChatFAB.test.tsx | 25 +++++
.../dashboard/app/hooks/__tests__/useChat.test.ts | 108 +++++++++++++++++++
.../app/hooks/__tests__/useQuickChat.test.ts | 109 +++++++++++++++++++
packages/dashboard/app/hooks/useChat.ts | 48 +++++++++
packages/dashboard/app/hooks/useQuickChat.ts | 50 +++++++++
13 files changed, 773 insertions(+), 25 deletions(-)
Fusion-Task-Id: FN-6499
Fusion-Task-Lineage: f9f15b02-1590-46f4-b6f5-140a9ade30eb
2026-06-16 22:44:16 -07:00
gsxdsm
d35f93e1ef
FN-6512: refresh mobile PWA icons
...
Refresh the dashboard launcher artwork so installed mobile PWAs use the Fusion brand mark.
- Generate 192px and 512px dashboard PWA icons from the canonical logo in the desktop icon generator.
- Bump the service-worker cache name so installed PWAs refresh cached icon assets.
- Strengthen PWA tests to validate icon wiring, PNG dimensions, opacity, and non-blank brand content.
- Document the PWA icon regeneration workflow and add a patch changeset.
Files changed:
.changeset/fn-6512-dashboard-pwa-icons.md | 5 +
docs/dashboard-guide.md | 4 +
packages/dashboard/app/__tests__/pwa.test.ts | 178 ++++++++++++++++++++---
packages/dashboard/app/public/icons/icon-192.png | Bin 5466 -> 4634 bytes
packages/dashboard/app/public/icons/icon-512.png | Bin 17687 -> 14826 bytes
packages/dashboard/app/public/sw.js | 2 +-
packages/desktop/scripts/generate-icons.ts | 75 +++++++---
7 files changed, 227 insertions(+), 37 deletions(-)
Fusion-Task-Id: FN-6512
Fusion-Task-Lineage: a7a46e0d-fa7d-4ca1-b49c-f083aed92b17
2026-06-16 22:29:07 -07:00
gsxdsm
cc022867be
FN-6505: inline chat attachment contents for agents
...
Chat agents now receive readable attachment content when responding to user prompts.
- Add shared attachment loading and formatting for session and room chat surfaces.
- Inline supported text attachments and forward image attachments through prompt options.
- Cover session and room attachment handling with regression tests and document the behavior.
Files changed:
.changeset/fuzzy-chat-attachments.md | 5 +
docs/dashboard-guide.md | 2 +
.../src/__tests__/chat-attachment-content.test.ts | 139 ++++++++++++++++++
.../dashboard/src/__tests__/chat-manager.test.ts | 123 ++++++++++++++++
packages/dashboard/src/chat-attachment-content.ts | 163 +++++++++++++++++++++
packages/dashboard/src/chat.ts | 43 +++++-
6 files changed, 470 insertions(+), 5 deletions(-)
Fusion-Task-Id: FN-6505
Fusion-Task-Lineage: 9bc7a65c-2516-42a4-8d3c-2bc53ea1c895
2026-06-16 21:09:20 -07:00
gsxdsm
a4537167ab
FN-6501: render chat question response controls
...
Render structured assistant question prompts directly in chat surfaces.
- Add parser and formatter support for question tool calls.
- Add reusable question response UI for select, multi-select, text, and confirm prompts.
- Wire regular chat and quick chat to show live and answered question states.
- Cover parsing and chat response behavior with dashboard tests and localized labels.
Files changed:
.changeset/fn-6501-chat-question-response.md | 5 +
docs/dashboard-guide.md | 2 +
.../app/components/ChatQuestionResponse.css | 194 ++++++++++++++++
.../app/components/ChatQuestionResponse.tsx | 247 +++++++++++++++++++++
packages/dashboard/app/components/ChatView.tsx | 85 ++++++-
packages/dashboard/app/components/QuickChatFAB.tsx | 84 ++++++-
.../__tests__/ChatQuestionResponse.test.tsx | 52 +++++
.../app/components/__tests__/ChatView.test.tsx | 51 +++++
.../app/components/__tests__/QuickChatFAB.test.tsx | 64 ++++++
.../utils/__tests__/parseQuestionToolCall.test.ts | 82 +++++++
.../dashboard/app/utils/parseQuestionToolCall.ts | 240 ++++++++++++++++++++
packages/i18n/locales/en/app.json | 10 +
12 files changed, 1105 insertions(+), 11 deletions(-)
Fusion-Task-Id: FN-6501
Fusion-Task-Lineage: 1fd4a3aa-b2d7-4157-a196-852fdeda680d
2026-06-16 20:13:13 -07:00
gsxdsm
7852c34a9f
FN-6493: update lazy view inventory guard
...
Keep the lazy-loaded dashboard inventory aligned with AppModals imports.\n\n- Document SettingsModal and WorkflowNodeEditor alongside other lazy-loaded dashboard views.\n- Update the dashboard guide inventory count and modal lazy-load note.\n- Extend the docs guard test to scan AppModals lazy imports and assert the 22-view inventory.\n\nFiles changed:\n AGENTS.md | 6 ++--\n docs/dashboard-guide.md | 5 ++-\n .../app/__tests__/lazy-loaded-views-docs.test.ts | 40 +++++++++++++++++++---\n 3 files changed, 43 insertions(+), 8 deletions(-)
Fusion-Task-Id: FN-6493
Fusion-Task-Lineage: d2b4de05-fb3c-4965-921e-4f8551e3e96a
2026-06-16 18:22:28 -07:00
gsxdsm
963362cd43
FN-6490: add mission-goal linking controls
...
Add bidirectional mission-goal linking in the dashboard with route support and tests.
- Add Goals view controls to list, link, unlink, and navigate linked missions.
- Add Mission detail controls to link active goals and unlink existing goal chips while refreshing summaries.
- Expose goal-to-mission lookup through the goals API and cover route and UI behavior.
- Update mission and dashboard docs for cross-linking flows.
Files changed:
docs/dashboard-guide.md | 4 +-
docs/missions.md | 8 +-
packages/dashboard/app/App.tsx | 2 +-
packages/dashboard/app/components/GoalsView.css | 90 +++++++++-
packages/dashboard/app/components/GoalsView.tsx | 191 ++++++++++++++++++++-
.../dashboard/app/components/MissionManager.css | 38 +++-
.../dashboard/app/components/MissionManager.tsx | 125 +++++++++++++-
.../app/components/__tests__/GoalsView.test.tsx | 149 ++++++++++++++--
.../__tests__/MissionManager.goal-links.test.tsx | 140 +++++++++++++++
.../dashboard/src/__tests__/goals-routes.test.ts | 70 +++++++-
packages/dashboard/src/goals-routes.ts | 37 +++-
11 files changed, 821 insertions(+), 33 deletions(-)
Fusion-Task-Id: FN-6490
Fusion-Task-Lineage: aa51e053-04c5-4124-90a0-bc421c8f979f
2026-06-16 15:08:24 -07:00
gsxdsm
222b5cedf3
FN-6489: replace dashboard rgba tokens with color-mix
...
Replace raw dashboard RGB alpha colors with color-mix token expressions and guard the global CSS surface.
- Converted global theme shadow, state, mission, event, and theme-data alpha colors from raw rgba() to color-mix() expressions.
- Added CSS fixture loading for theme-data.css and a regression test banning raw rgb/rgba outside var() fallbacks across global app CSS.
- Documented the stricter dashboard styling rule for global and theme token CSS.
Files changed:
docs/dashboard-guide.md | 2 +-
.../__tests__/global-theme-css-no-raw-rgba.test.ts | 68 +++
packages/dashboard/app/public/theme-data.css | 573 +++++++++++----------
packages/dashboard/app/styles.css | 49 +-
packages/dashboard/app/test/cssFixture.ts | 7 +
5 files changed, 389 insertions(+), 310 deletions(-)
Fusion-Task-Id: FN-6489
Fusion-Task-Lineage: 7c466971-d15c-4382-a24b-1b32eea71974
2026-06-16 15:08:24 -07:00
gsxdsm
da44392fea
FN-6462: document OAuth refresh behavior
...
Document Claude OAuth refresh behavior across user-facing docs.
- Explain that auth status polling can refresh expired Anthropic OAuth credentials automatically.
- Clarify when OAuth expiry banners and notifications remain visible after refresh attempts.
- Update onboarding guidance to set expectations for Claude re-login frequency.
Files changed:
docs/dashboard-guide.md | 6 +++++-
docs/getting-started.md | 2 +-
docs/settings-reference.md | 10 ++++++++--
3 files changed, 14 insertions(+), 4 deletions(-)
Fusion-Task-Id: FN-6462
Fusion-Task-Lineage: 06a73655-483d-4379-aeba-ac6bf9bb8df9
2026-06-15 02:29:08 -07:00
gsxdsm
c9680b5767
FN-6448: document Quick Chat mobile reliability
...
Document Quick Chat's mobile send and stop-button reliability expectations.\n\n- Note the mobile delivery watchdog for stranded queued messages.\n- Describe duplicate pointer/touch send protection and immediate stop handling.\n- Document the streaming stop control's square touch-target sizing.\n\nFiles changed:\n docs/dashboard-guide.md | 3 +++\n 1 file changed, 3 insertions(+)
Fusion-Task-Id: FN-6448
Fusion-Task-Lineage: e5d4e5b5-05ba-47bc-9b64-0d641b8d75a8
2026-06-14 15:29:35 -07:00
gsxdsm
b898c3d1db
FN-6419: keep task metadata inline
...
Keep task detail metadata in a compact wrapping row across viewport sizes.
- Make the detail metadata container a wrapping flex row with aligned controls, provenance, PR context, and timestamps.
- Document the one-row metadata behavior in the dashboard guide.
- Add rendering and responsive CSS regression coverage for direct inline metadata children and mobile row behavior.
Files changed:
docs/dashboard-guide.md | 2 +-
.../dashboard/app/components/TaskDetailModal.css | 21 +++++++--
.../__tests__/TaskDetailModal.rendering.test.tsx | 53 ++++++++++++++++++++++
...etailModal.responsive-and-dependencies.test.tsx | 10 ++++
4 files changed, 81 insertions(+), 5 deletions(-)
Fusion-Task-Id: FN-6419
Fusion-Task-Lineage: 925c2f0d-8665-430f-8e4e-a00d80704e8d
2026-06-13 20:33:44 -07:00
gsxdsm
417183da9f
FN-6415: send task chat on Enter
...
Enable the task-detail Chat composer to submit messages with standard Enter behavior.
- Submit non-empty task chat drafts on plain Enter while preserving Shift+Enter newline entry and IME composition safety.
- Keep Cmd/Ctrl+Enter as a supported send path through the same handler.
- Document the composer keyboard shortcuts and add dashboard tests for steering, refinement, newline, shortcut, and composition behavior.
- Add a patch changeset for the published Fusion package.
Files changed:
.changeset/tiny-tasks-chat-enter.md | 5 +
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/TaskChatTab.tsx | 13 ++-
.../app/components/__tests__/TaskChatTab.test.tsx | 120 +++++++++++++++++++++
4 files changed, 136 insertions(+), 4 deletions(-)
Fusion-Task-Id: FN-6415
Fusion-Task-Lineage: 7d200bf6-5130-4fb8-b59c-66bccffe4265
2026-06-13 19:32:27 -07:00
gsxdsm
df01ab71dd
FN-6402: detect PR preflight conflicts by exit code
...
Use merge-tree exit status and empty-commit handling so PR conflict remediation reports clean states correctly.
- Treat git merge-tree exit code 1, not stdout, as the PR preflight conflict signal.
- Skip conflict-resolution commits when the branch already contains the selected base or the AI pass leaves no staged changes.
- Cover the preflight and resolver no-op paths with dashboard route and conflict resolver tests.
- Document the no-empty-commit conflict remediation behavior and add a published package changeset.
Files changed:
.changeset/fn-6402-pr-conflict-detection.md | 5 +
docs/dashboard-guide.md | 2 +-
.../src/__tests__/pr-conflict-resolver.test.ts | 130 +++++++++++++++++++++
...it-github.pr-options-preflight-metadata.test.ts | 22 +++-
.../register-git-github.pr-push-branch.test.ts | 2 +-
...egister-git-github.pr-resolve-conflicts.test.ts | 2 +-
packages/dashboard/src/pr-conflict-resolver.ts | 57 +++++++--
.../dashboard/src/routes/register-git-github.ts | 8 +-
8 files changed, 212 insertions(+), 16 deletions(-)
Fusion-Task-Id: FN-6402
Fusion-Task-Lineage: 9e709fb8-204a-4d88-8351-260a356c7520
2026-06-13 17:46:11 -07:00
gsxdsm
91e7da2906
FN-6404: group task card meta badges
...
Group task card metadata into a single header badge row.
- Move priority, fast mode, agent-created provenance, and time chips into a shared wrapping meta badge group.
- Keep GitHub and retry chips in the footer without rendering empty footer shells for timer-only cards.
- Update dashboard docs and TaskCard coverage for grouped metadata layout and responsive styling.
Files changed:
docs/dashboard-guide.md | 4 +-
packages/dashboard/app/components/TaskCard.css | 16 +-
packages/dashboard/app/components/TaskCard.tsx | 82 +++++-----
.../__tests__/TaskCard.footer-alignment.test.tsx | 9 +-
.../app/components/__tests__/TaskCard.test.tsx | 169 ++++++++++++++++++---
5 files changed, 213 insertions(+), 67 deletions(-)
Fusion-Task-Id: FN-6404
Fusion-Task-Lineage: 29c2c700-d4f3-430d-baaa-bf8d7d0d0011
2026-06-13 17:17:25 -07:00
gsxdsm
7fa8c4e5f4
FN-6397: fix mobile workflow board fill chain
...
Ensure workflow-mode boards fill the mobile viewport while preserving internal column scrolling.
- Reassert the mobile flex fill chain for project content, workflow board wrappers, and workflow columns.
- Extend mobile board regression coverage across empty/populated workflow states with and without the toolbar.
- Document the workflow board collapse root cause and add a transient temp-dir isolation guard test.
Files changed:
docs/dashboard-guide.md | 1 +
.../ui-bugs/mobile-workflow-board-fill-chain.md | 61 +++++++++++++
.../__tests__/board-mobile-initial-render.test.tsx | 101 +++++++++++++++++++++
packages/dashboard/app/styles.css | 52 +++++++++++
scripts/__tests__/check-test-isolation.test.mjs | 23 +++++
scripts/check-test-isolation.mjs | 12 ++-
6 files changed, 249 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-6397
Fusion-Task-Lineage: ddee773d-6d3a-46d1-b1c7-f601a961365e
2026-06-13 16:30:28 -07:00
gsxdsm
e8c2d516af
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
2026-06-13 16:30:28 -07:00
gsxdsm
8a53871de2
FN-6388: enable quick-entry GitHub tracking overrides
...
Allow quick entry to override GitHub tracking regardless of the project default.
- Send explicit githubTracking overrides whenever the quick-entry toggle is changed.
- Keep the GitHub toggle usable when settings are loading or default tracking is off.
- Cover off-default opt-in, opt-out, label, and reset behavior in QuickEntryBox tests.
- Document the quick-entry GitHub icon as a per-task tracking override.
Files changed:
docs/dashboard-guide.md | 1 +
.../dashboard/app/components/QuickEntryBox.tsx | 27 ++---
.../components/__tests__/QuickEntryBox.test.tsx | 118 ++++++++++++++++++---
3 files changed, 110 insertions(+), 36 deletions(-)
Fusion-Task-Id: FN-6388
Fusion-Task-Lineage: f46ef738-ccd6-48cc-8919-9c2de7ecb4e3
2026-06-13 16:30:28 -07:00
gsxdsm
59411c7054
FN-6381: expose simple workflow editor controls at every width
...
Styles the simple workflow editor so its mobile-style controls are available and documented across desktop and narrow layouts.
- Move simple editor tab, add, action, and touch-target styling out of the mobile-only media query.
- Cover desktop simple editor affordances for custom and built-in workflows with regression tests.
- Document desktop simple editor tabs and the surfaced workflow action buttons.
Files changed:
docs/dashboard-guide.md | 6 +-
.../app/components/WorkflowNodeEditor.css | 286 +++++++++++----------
.../__tests__/WorkflowNodeEditor.test.tsx | 53 ++++
3 files changed, 201 insertions(+), 144 deletions(-)
Fusion-Task-Id: FN-6381
Fusion-Task-Lineage: fd7f1ada-6e50-4d92-b455-7f38fb46c1e2
2026-06-13 12:00:58 -07:00
gsxdsm
eb607c6ffd
FN-6377: make tablet modals touch-resizable
...
Enable shared resize handles for modals on tablet and desktop while keeping mobile sheets full-screen.
- Add a pointer-driven resize grip to useModalResizePersist with debounced persistence and mobile cleanup.
- Widen the task-detail modal tablet default to 96vw / 1024px.
- Cover resize behavior and tablet width expectations with dashboard tests.
- Document the shared modal resize pattern and add the published package changeset.
Files changed:
.changeset/FN-6377-tablet-resizable-modals.md | 5 +
docs/dashboard-guide.md | 2 +-
.../task-detail-modal-tablet-width.test.ts | 4 +-
.../dashboard/app/components/TaskDetailModal.css | 4 +-
.../hooks/__tests__/useModalResizePersist.test.tsx | 218 +++++++++++++++++++++
.../dashboard/app/hooks/useModalResizePersist.ts | 140 ++++++++++---
packages/dashboard/app/styles.css | 36 ++++
7 files changed, 382 insertions(+), 27 deletions(-)
Fusion-Task-Id: FN-6377
Fusion-Task-Lineage: ecc12aa4-f881-4476-a69b-13d34a73e263
2026-06-13 11:46:53 -07:00
gsxdsm
6fff41817a
FN-6372: start refinements from done task chat
...
Done-task chat messages now create refinement tasks while preserving steering behavior elsewhere.
- Route completed-task Chat composer submissions through refineTask and show the created task ID.
- Keep non-done task sends on the existing steering-comment path with queued/live session copy.
- Cover refinement success, failure rollback, send lifecycle, and routing surfaces in TaskChatTab tests.
- Document the completed-task refinement behavior in the dashboard guide.
Files changed:
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/TaskChatTab.tsx | 45 +++---
.../app/components/__tests__/TaskChatTab.test.tsx | 152 ++++++++++++++++++++-
3 files changed, 177 insertions(+), 22 deletions(-)
Fusion-Task-Id: FN-6372
Fusion-Task-Lineage: 201f3a5e-e951-4f70-8b92-8d270e3181de
2026-06-13 11:30:45 -07:00
gsxdsm
4838c86b8c
FN-6370: add expandable task chat modal
...
Add a full-modal expansion affordance for task-detail chat conversations.
- Add an expand/collapse toolbar button to the task chat tab with accessible labels and icon states.
- Let the task detail modal switch into a chat-expanded layout and reset that state when leaving chat or entering edit mode.
- Cover the chat toggle and layout behavior with dashboard component tests and document the control.
Files changed:
docs/dashboard-guide.md | 1 +
packages/dashboard/app/components/TaskChatTab.css | 22 +++++
packages/dashboard/app/components/TaskChatTab.tsx | 21 ++++-
.../dashboard/app/components/TaskDetailModal.css | 42 +++++++++
.../dashboard/app/components/TaskDetailModal.tsx | 13 ++-
.../app/components/__tests__/TaskChatTab.test.tsx | 37 ++++++++
.../TaskDetailModal.attachments-and-tabs.test.tsx | 100 +++++++++++++++++++++
7 files changed, 233 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-6370
Fusion-Task-Lineage: 787300bb-b928-45cf-a5c1-7fed5f375111
2026-06-13 11:14:06 -07:00
gsxdsm
6e9f2a384d
FN-6369: make task chat send control icon-only
...
Refine the task-detail chat composer so the send action stays narrow and inline with the input.
- Replace the composer placeholder with the steering-focused copy.
- Convert the send button to an accessible icon-only control with loading state labels.
- Keep the send control inline at mobile breakpoints and cover the behavior in tests and docs.
Files changed:
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/TaskChatTab.css | 14 +++++++----
packages/dashboard/app/components/TaskChatTab.tsx | 11 ++++++---
.../app/components/__tests__/TaskChatTab.test.tsx | 27 ++++++++++++++++++++--
4 files changed, 44 insertions(+), 10 deletions(-)
Fusion-Task-Id: FN-6369
Fusion-Task-Lineage: b7e0717f-4cba-4380-a08a-e01fc12985e3
2026-06-13 10:51:31 -07:00
gsxdsm
b90f966a98
FN-6374: fix workflow board tablet fill height
...
Keep workflow-mode board columns stretched through the tablet viewport.
- Preserve a definite height chain from the workflow board wrapper to the column rows.
- Ensure workflow columns stretch and keep internal overflow ownership at tablet widths.
- Extend board layout tests to cover workflow-mode empty and populated tablet states.
- Document the footer-safe workflow fill-height invariant.
Files changed:
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/Lane.css | 12 ++
.../__tests__/board-mobile-initial-render.test.tsx | 121 ++++++++++++++++++++-
3 files changed, 129 insertions(+), 6 deletions(-)
Fusion-Task-Id: FN-6374
Fusion-Task-Lineage: 9b7042cf-c8bc-4d69-8599-42dafc333b15
2026-06-13 10:36:24 -07:00
gsxdsm
422833045c
FN-6359: add latest jump control to task chat
...
Adds an in-transcript control for returning to the newest task chat output after reviewing older messages.
- Track whether the task chat transcript is near the bottom and preserve live-follow behavior.
- Render an accessible sticky Latest button when populated transcripts are scrolled up, including mobile styling.
- Cover empty/loading, desktop, mobile, and click-to-jump behavior in TaskChatTab tests.
- Document the Latest jump affordance in the dashboard guide.
Files changed:
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/TaskChatTab.css | 40 +++++++++++
packages/dashboard/app/components/TaskChatTab.tsx | 40 ++++++++++-
.../app/components/__tests__/TaskChatTab.test.tsx | 82 ++++++++++++++++++++++
4 files changed, 162 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-6359
Fusion-Task-Lineage: 9b4a3533-2969-4f0d-a4de-6ba895662726
2026-06-13 10:20:11 -07:00
gsxdsm
2974f7e878
FN-6358: compact task chat tool-call entries
...
Tighten the task-detail chat tool-call presentation while documenting the denser layout.
- Reduce spacing and typography weight for collapsed tool-call summaries and expanded entry cards.
- Assert compact tool-call classes in TaskChatTab tests for paired and standalone result entries.
- Update the dashboard guide to describe compact summaries and dense expanded cards.
Files changed:
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/TaskChatTab.css | 21 ++++++++++++---------
.../app/components/__tests__/TaskChatTab.test.tsx | 18 ++++++++++++++++--
3 files changed, 29 insertions(+), 12 deletions(-)
Fusion-Task-Id: FN-6358
Fusion-Task-Lineage: 83cbf328-c062-4032-a2e7-e3550f386557
2026-06-13 09:55:49 -07:00
gsxdsm
66591ec11c
FN-6333: add legacy auto-merge cleanup surfaces
...
Expose operator controls for auditing and clearing legacy auto-merge stamps.
- Add CLI dry-run, apply, and JSON modes for legacy auto-merge stamp cleanup.
- Add dashboard maintenance endpoints and a Settings → Merge cleanup panel.
- Document the cleanup workflow and cover CLI, route, and UI behavior with tests.
Files changed:
.changeset/fn-6333-legacy-automerge-cleanup.md | 5 +
docs/cli-reference.md | 4 +
docs/dashboard-guide.md | 6 ++
docs/settings-reference.md | 2 +-
packages/cli/src/__tests__/bin.test.ts | 10 ++
.../cli/src/__tests__/pr-automerge-cleanup.test.ts | 107 ++++++++++++++++++++
packages/cli/src/bin.ts | 14 ++-
packages/cli/src/commands/pr.ts | 41 ++++++++
.../components/settings/sections/MergeSection.tsx | 109 ++++++++++++++++++++
.../MergeSection.legacy-automerge-cleanup.test.tsx | 110 +++++++++++++++++++++
.../legacy-automerge-stamps-routes.test.ts | 76 ++++++++++++++
packages/dashboard/src/routes.ts | 36 +++++++
12 files changed, 517 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-6333
Fusion-Task-Lineage: 55a3fa22-e0ba-4996-bfce-cad31c71177d
2026-06-13 06:12:09 -07:00
gsxdsm
35554e674e
FN-6347: keep chat composer visible on mobile
...
Keep the task detail chat layout constrained so mobile users can always reach the composer.
- Give the chat tab a fill-height flex layout with transcript-only scrolling.
- Apply chat-specific modal body and section classes alongside the agent log layout.
- Cover mobile chat layout behavior with component tests and document the modal contract.
- Add a patch changeset for the published Fusion package.
Files changed:
.changeset/fn-6347-chat-input-visible.md | 5 ++
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/TaskChatTab.css | 8 ++-
.../dashboard/app/components/TaskDetailModal.css | 29 +++++++++
.../dashboard/app/components/TaskDetailModal.tsx | 4 +-
.../app/components/__tests__/TaskChatTab.test.tsx | 36 ++++++++++
.../TaskDetailModal.attachments-and-tabs.test.tsx | 76 ++++++++++++++++++++++
7 files changed, 155 insertions(+), 5 deletions(-)
Fusion-Task-Id: FN-6347
Fusion-Task-Lineage: 37250539-d38e-4826-9c31-8b0279844883
2026-06-13 03:32:59 -07:00
gsxdsm
50bc80b26a
FN-6346: preserve chat steering fields from task detail
...
Keep task-detail Chat steerable when sparse list rows are hydrated with full task details.
- Merge live agent/session fields from fetched task details when parent task fields are undefined.
- Cover non-CLI engine agents, stale CLI session fallback, and desktop/mobile composer affordances in Chat tests.
- Document that Chat steering supports regular task-worktree engine agents as well as live CLI sessions.
Files changed:
docs/dashboard-guide.md | 2 +-
.../dashboard/app/components/TaskDetailModal.tsx | 7 +++
.../app/components/__tests__/TaskChatTab.test.tsx | 61 +++++++++++++++++++++-
.../__tests__/TaskDetailModal.test-helpers.ts | 1 +
.../components/__tests__/TaskDetailModal.test.tsx | 57 ++++++++++++++++++++
5 files changed, 126 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-6346
Fusion-Task-Lineage: 60982087-3135-4a28-8c44-779e157ea3b5
2026-06-13 03:02:09 -07:00
gsxdsm
9c9abc3bd7
FN-6344: combine adjacent chat text chunks
...
Task detail chat now renders adjacent text log chunks as continuous bubbles.
- Combine consecutive non-tool, non-thinking chat entries within each agent role group before rendering.
- Preserve tool and thinking segment boundaries while simplifying segment keys for grouped text.
- Add dashboard tests for single, consecutive, and cross-role text bubble behavior.
- Document the text chunk grouping behavior in the dashboard guide.
Files changed:
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/TaskChatTab.tsx | 28 ++++++++-----
.../app/components/__tests__/TaskChatTab.test.tsx | 48 ++++++++++++++++++++++
3 files changed, 66 insertions(+), 12 deletions(-)
Fusion-Task-Id: FN-6344
Fusion-Task-Lineage: e88f0383-7d91-4272-8c9b-532a382074d4
2026-06-13 00:15:52 -07:00
gsxdsm
97f3d6579b
FN-6332: improve task chat tool summaries
...
Refine task chat transcripts so collapsed tool groups summarize real invocations and expand into paired call/result details.
- Count tool calls by invocation instead of raw tool log rows.
- Show deduped tool names, overflow counts, and error badges in collapsed summaries.
- Pair tool calls with their result or error details when expanded.
- Cover the grouped summary behavior with dashboard tests and documentation.
Files changed:
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/TaskChatTab.css | 36 +++++--
packages/dashboard/app/components/TaskChatTab.tsx | 116 +++++++++++++++++----
.../app/components/__tests__/TaskChatTab.test.tsx | 105 ++++++++++++++++---
4 files changed, 213 insertions(+), 46 deletions(-)
Fusion-Task-Id: FN-6332
Fusion-Task-Lineage: 7c14b76c-dcaa-4227-8393-cb24f99b765d
2026-06-12 21:50:49 -07:00
gsxdsm
f19c4d64ee
FN-6316: collapse task chat tool and thinking entries
...
Make task-detail agent chat easier to scan during tool-heavy sessions.
- Group consecutive tool, result, and error entries into collapsed summaries with status counts.
- Render thinking output in expanded-by-default collapsible blocks.
- Add responsive styling, docs, and regression coverage for grouped transcript segments.
Files changed:
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/TaskChatTab.css | 120 +++++++++++++--
packages/dashboard/app/components/TaskChatTab.tsx | 161 ++++++++++++++++++---
.../app/components/__tests__/TaskChatTab.test.tsx | 100 +++++++++++--
4 files changed, 337 insertions(+), 46 deletions(-)
Fusion-Task-Id: FN-6316
Fusion-Task-Lineage: 84c83ea1-fa9a-4e30-9794-ae95e29f989e
2026-06-12 19:30:53 -07:00
gsxdsm
0a135c9367
FN-6315: Scroll task chat to latest output
...
Ensure the task-details Chat transcript opens at the newest agent output without breaking live scroll-away behavior.
- Track active-state transitions and initial log population to snap populated transcripts to the bottom.
- Preserve existing near-bottom live-follow behavior and inactive cached scroll bookkeeping.
- Cover initial desktop/mobile load, reactivation, delayed population, and empty transcript cases.
- Document the updated Chat tab behavior and add a published package patch changeset.
Files changed:
.changeset/fn-6315-chat-scroll-bottom.md | 5 +
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/TaskChatTab.tsx | 25 ++-
.../app/components/__tests__/TaskChatTab.test.tsx | 182 ++++++++++++++++++++-
4 files changed, 211 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-6315
Fusion-Task-Lineage: 6cd7c418-124f-4730-a533-cc866f9a16a8
2026-06-12 18:26:45 -07:00