Fusion Agent
c3aeff5ff1
FN-048: resize chat composers from the top edge and collapse stale heights
...
Resize shared chat composers around a top-edge drag model and clear manual heights when drafts shrink.
- Replace native textarea resizing with desktop/tablet top-edge pointer resizing.
- Collapse stale manual heights back to automatic sizing for shorter drafts.
- Update composer styles, regression coverage, and the published patch changeset.
Files changed:
.changeset/fn-048-chat-composer-resize.md | 7 ++
packages/dashboard/app/components/ChatView.css | 6 +-
packages/dashboard/app/components/TaskChatTab.css | 6 +-
.../app/components/TaskPlannerChatTab.css | 6 +-
.../__tests__/ChatView.autosize.test.tsx | 54 ++++++++++--
.../ChatView.chat-input-autosize.test.tsx | 80 +++++++++++++-----
.../app/components/__tests__/TaskChatTab.test.tsx | 24 ++++--
.../__tests__/TaskPlannerChatTab.test.tsx | 24 ++++--
packages/dashboard/app/utils/chatInputAutosize.ts | 96 ++++++++++++++++------
9 files changed, 223 insertions(+), 80 deletions(-)
Fusion-Task-Id: FN-048
Fusion-Task-Lineage: 83d573b2-fdaa-48bb-906a-c1e0b074539f
Co-authored-by: Fusion <noreply@runfusion.ai >
2026-08-20 03:57:23 +00:00
Fusion Agent
aad4b73a47
FN-033: use default chat model for task chat
...
Task chat now uses the resolved project default while matching general chat controls and session behavior.
- Resolve the effective task-chat model and expose model/thinking selectors in the task chat composer.
- Persist per-session model and thinking overrides through scoped task-chat routes.
- Refresh task-chat UI, documentation, tests, and release metadata for the new behavior.
Files changed:
.changeset/fn-033-task-chat-default-model.md | 7 +
docs/agents.md | 4 +-
docs/dashboard-guide.md | 26 +--
packages/dashboard/app/api/chat/chat.ts | 26 +--
.../dashboard/app/components/TaskDetailModal.tsx | 4 +-
.../app/components/TaskPlannerChatTab.css | 38 ++-
.../app/components/TaskPlannerChatTab.tsx | 211 +++++++++++++++++----
.../__tests__/TaskDetailModal.test-helpers.ts | 2 +
.../components/__tests__/TaskDetailModal.test.tsx | 4 +-
.../__tests__/TaskPlannerChatTab.test.tsx | 149 +++++++++------
.../__tests__/effective-model-resolution.test.ts | 32 +++
.../app/components/effective-model-resolution.ts | 30 ++-
.../dashboard/src/__tests__/chat-manager.test.ts | 14 +-
.../routes-task-planner-chat-session.test.ts | 210 +++++++++++++++++++
.../dashboard/src/routes/register-chat-routes.ts | 116 +++++++----
15 files changed, 700 insertions(+), 173 deletions(-)
Fusion-Task-Id: FN-033
Fusion-Task-Lineage: 10cffb5e-1a38-47e1-9b29-cd3cb0b99b81
Co-authored-by: Fusion <noreply@runfusion.ai >
2026-08-20 03:56:41 +00:00
Fusion Agent
21b3baa62d
FN-029: unify direct and planner chat queues
...
Standardize queued-message controls across Direct Chat and planner conversations while preserving force-send ordering during cancellation reconciliation.
- Add shared pending-message queue UI with edit, reorder, delete, and force-send actions.
- Coordinate durable cancellation reconciliation before dispatching selected queued messages.
- Disable the Direct composer and related controls until force-send reconciliation completes.
- Add localized queue copy, documentation, styling, and regression coverage.
Files changed:
docs/dashboard-guide.md | 8 +
packages/dashboard/app/components/ChatView.css | 63 ------
packages/dashboard/app/components/ChatView.tsx | 55 +++--
packages/dashboard/app/components/PendingChatMessageQueue.css | 94 +++++++++
packages/dashboard/app/components/PendingChatMessageQueue.tsx | 200 ++++++++++++++++++
packages/dashboard/app/components/TaskPlannerChatTab.css | 84 --------
packages/dashboard/app/components/TaskPlannerChatTab.tsx | 113 ++---------
packages/dashboard/app/components/__tests__/ChatView.core-interactions.test.tsx | 24 ++-
packages/dashboard/app/components/__tests__/PendingChatMessageQueue.test.tsx | 76 +++++++
packages/dashboard/app/hooks/__tests__/useChat.test.ts | 39 +++
packages/dashboard/app/hooks/useChat.ts | 224 ++++++++++++++++-----
packages/i18n/locales/en/app.json | 25 +--
packages/i18n/locales/es/app.json | 25 +--
packages/i18n/locales/fr/app.json | 25 +--
packages/i18n/locales/ko/app.json | 25 +--
packages/i18n/locales/pt-BR/app.json | 25 +--
packages/i18n/locales/zh-CN/app.json | 25 +--
packages/i18n/locales/zh-TW/app.json | 25 +--
packages/i18n/src/resources.d.ts | 25 +--
19 files changed, 746 insertions(+), 434 deletions(-)
Fusion-Task-Id: FN-029
Fusion-Task-Lineage: 3330d0e7-ba77-4392-98f7-69425070cfd1
Co-authored-by: Fusion <noreply@runfusion.ai >
2026-08-20 03:55:39 +00:00
Fusion Agent
df5c580a50
FN-024: cap and resize chat composers
...
Keep chat drafts compact by default while allowing intentional desktop resizing.
- Autosize Chat, Rooms, Activity, and Planner Chat composers through five lines.
- Cap overflow with internal scrolling and provide desktop/tablet-only manual resize behavior.
- Reset transient composer sizing on draft and target lifecycle changes, with regression coverage and operator documentation.
- Preserve shared terminal session documentation, including detach, end, and reopen behavior.
Files changed:
.changeset/fn-024-chat-composer-height.md | 7 +
docs/dashboard-guide.md | 3 +
packages/dashboard/app/components/ChatView.css | 28 ++-
packages/dashboard/app/components/ChatView.tsx | 65 +++----
packages/dashboard/app/components/TaskChatTab.css | 9 +-
packages/dashboard/app/components/TaskChatTab.tsx | 32 ++--
packages/dashboard/app/components/TaskPlannerChatTab.css | 11 +-
packages/dashboard/app/components/TaskPlannerChatTab.tsx | 27 ++-
packages/dashboard/app/components/__tests__/ChatView.autosize.test.tsx | 64 +++++--
packages/dashboard/app/components/__tests__/ChatView.chat-input-autosize.test.tsx | 148 ++++++++++------
packages/dashboard/app/components/__tests__/TaskChatTab.test.tsx | 34 ++++
packages/dashboard/app/components/__tests__/TaskPlannerChatTab.test.tsx | 41 ++++-
packages/dashboard/app/utils/chatInputAutosize.ts | 192 +++++++++++++++++++--
13 files changed, 516 insertions(+), 145 deletions(-)
Fusion-Task-Id: FN-024
Fusion-Task-Lineage: 663b9f18-87ac-467b-b67c-6d2e27f34ba4
Co-authored-by: Fusion <noreply@runfusion.ai >
2026-08-20 03:55:39 +00:00
Fusion Agent
2fe3382279
FN-020: add queued Planner Chat message management
...
Add browser-local queued follow-up management to Planner Chat while preserving ordered, session-scoped dispatch.
- Queue follow-up messages during active responses and dispatch them FIFO after completion or Stop reconciliation.
- Add editing, reordering, deletion, duplicate-safe force-send, persistence, responsive styling, documentation, translations, and regression coverage.
Files changed:
docs/dashboard-guide.md | 2 +
.../app/components/TaskPlannerChatTab.css | 84 ++++++
.../app/components/TaskPlannerChatTab.tsx | 301 ++++++++++++++++++---
.../__tests__/TaskPlannerChatTab.test.tsx | 216 +++++++++++++++
packages/i18n/locales/en/app.json | 13 +
packages/i18n/locales/es/app.json | 13 +
packages/i18n/locales/fr/app.json | 13 +
packages/i18n/locales/ko/app.json | 13 +
packages/i18n/locales/pt-BR/app.json | 13 +
packages/i18n/locales/zh-CN/app.json | 13 +
packages/i18n/locales/zh-TW/app.json | 13 +
packages/i18n/src/resources.d.ts | 13 +
12 files changed, 673 insertions(+), 34 deletions(-)
Fusion-Task-Id: FN-020
Fusion-Task-Lineage: 5627cdbd-00dd-4e17-a4bd-53d49efa836d
Co-authored-by: Fusion <noreply@runfusion.ai >
2026-08-20 03:55:38 +00:00
Fusion Agent
3ae22c23d1
FN-011: add project chat message width preference
...
Add a project-scoped conversation layout preference and apply full-width rendering consistently across dashboard chat surfaces.
- Add bubbles/full-width project settings with localized Appearance controls.
- Apply the preference to Chat, Activity, Planner Chat, Quick Chat, and docked hosts with responsive safeguards.
- Add regression coverage, documentation, and the published-package changeset.
Files changed:
.changeset/fn-011-chat-message-layout.md | 7 ++++
docs/dashboard-guide.md | 4 ++
.../core/src/__tests__/settings-defaults.test.ts | 14 ++++++-
.../core/src/__tests__/settings-parity.test.ts | 4 ++
packages/core/src/config/settings-schema.ts | 5 +++
packages/core/src/types/settings/settings-scope.ts | 5 +++
packages/dashboard/app/App.tsx | 7 +++-
packages/dashboard/app/components/AppModals.tsx | 5 +++
packages/dashboard/app/components/ChatView.css | 23 +++++++++++
packages/dashboard/app/components/ChatView.tsx | 4 +-
.../dashboard/app/components/SettingsModal.tsx | 14 +++++++
packages/dashboard/app/components/TaskChatTab.css | 42 +++++++++++++++++++++
packages/dashboard/app/components/TaskChatTab.tsx | 4 +-
.../app/components/TaskPlannerChatTab.css | 22 +++++++++++
.../app/components/TaskPlannerChatTab.tsx | 4 +-
.../components/__tests__/ChatView.core.test.tsx | 34 +++++++++++++++++
.../__tests__/SettingsModal.general.test.tsx | 42 +++++++++++++++++++++
.../app/components/__tests__/TaskChatTab.test.tsx | 31 +++++++++++++++
.../__tests__/TaskPlannerChatTab.test.tsx | 32 ++++++++++++++++
.../settings/sections/AppearanceSection.tsx | 24 +++++++++++-
.../sections/__tests__/AppearanceSection.test.tsx | 22 ++++++++++-
.../app/context/ChatMessageLayoutContext.tsx | 16 ++++++++
.../app/hooks/__tests__/useAppSettings.test.ts | 44 ++++++++++++++++++++++
packages/dashboard/app/hooks/useAppSettings.ts | 29 ++++++++++++++
.../app/task-modal-touch-resize-e2e-fixture.tsx | 2 +-
packages/i18n/locales/en/app.json | 6 ++-
packages/i18n/locales/es/app.json | 6 ++-
packages/i18n/locales/fr/app.json | 6 ++-
packages/i18n/locales/ko/app.json | 6 ++-
packages/i18n/locales/pt-BR/app.json | 6 ++-
packages/i18n/locales/zh-CN/app.json | 6 ++-
packages/i18n/locales/zh-TW/app.json | 6 ++-
packages/i18n/src/resources.d.ts | 4 ++
33 files changed, 471 insertions(+), 15 deletions(-)
Fusion-Task-Id: FN-011
Fusion-Task-Lineage: d858d00f-e05b-4dc2-8ddb-cfc5b9973871
Co-authored-by: Fusion <noreply@runfusion.ai >
2026-08-20 03:55:38 +00:00
gsxdsm
57636226b1
FN-8421: align tablet task modal control heights
...
Align Task Detail action controls and Planner Chat composer heights across tablet and desktop.
- Apply shared compact-height classes to inline Task Detail actions
- Use Quick Add control-height tokens and remove conflicting button padding
- Size Planner Chat Send and Stop controls to match the composer
- Add dashboard regression coverage and a patch changeset
Files changed:
.../fn-8421-task-detail-tablet-control-heights.md | 7 ++++++
.../dashboard/app/components/TaskDetailModal.css | 18 ++++++++++++---
.../dashboard/app/components/TaskDetailModal.tsx | 11 ++++++---
.../app/components/TaskPlannerChatTab.css | 10 ++++++++
.../__tests__/TaskDetailModal.rendering.test.tsx | 8 +++++++
...etailModal.responsive-and-dependencies.test.tsx | 13 +++++++++++
.../__tests__/TaskPlannerChatTab.test.tsx | 27 ++++++++++++++++++++++
7 files changed, 88 insertions(+), 6 deletions(-)
Fusion-Task-Id: FN-8421
Fusion-Task-Lineage: 151795c8-4c00-4976-8901-9446557fc1a3
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-20 01:00:37 -07:00
gsxdsm
2bea332ff2
FN-7685: make Planner Chat send button icon-only to match regular chat
...
Summary: The Planner Chat idle send button now renders icon-only, dropping its visible "Send" text span to match TaskChatTab's regular chat send button, while keeping the accessible name "Send" via aria-label.
- Removed `showSendText` prop from the planner chat send/stop button so the idle send button no longer shows a visible text span.
- Updated the CSS FNXC comment documenting that the send-text-hiding rule is now solely load-bearing for the streaming Stop button's icon-visibility contract, not the idle Send button.
- Updated the corresponding test to assert the send button has no visible text span (icon-only) while still asserting the accessible name resolves to "Send".
Files changed:
packages/dashboard/app/components/TaskPlannerChatTab.css | 7 +++++++
packages/dashboard/app/components/TaskPlannerChatTab.tsx | 5 ++++-
.../dashboard/app/components/__tests__/TaskPlannerChatTab.test.tsx | 4 +++-
3 files changed, 14 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-7685
Fusion-Task-Lineage: 5ec896c5-7ca3-415b-bd5f-99a49f6a21ec
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-08 09:40:59 -07:00
gsxdsm
51e389199a
FN-7634: widen Planner Chat stop button to match send button
...
Fix the Planner Chat composer's streaming Stop button rendering narrower than the idle Send button by giving both variants a shared width floor.
- Declare a locally-scoped --chat-input-control-size on .task-planner-chat-composer (same formula as ChatView.css's .chat-input-row so the shared .chat-input-send/.chat-input-stop classes no longer read an undefined custom property and fall back to width: auto.
- Add a min-inline-size floor bound to that property on .task-planner-chat-send (present on both send and stop variants) so neither button renders narrower than the other on desktop.
- Add a regression test asserting the desktop control-size floor, the pre-existing mobile square sizing, and the FN-7594 stop-icon visibility contract.
- Add a changeset documenting the fix as a patch release.
Files changed:
.changeset/fn-7634-planner-stop-button-width.md | 7 +++++
.../app/components/TaskPlannerChatTab.css | 8 ++++++
.../__tests__/TaskPlannerChatTab.test.tsx | 33 ++++++++++++++++++++++
3 files changed, 48 insertions(+)
EOF
)
Fusion-Task-Id: FN-7634
Fusion-Task-Lineage: e73c836f-3c2d-4871-ac93-fdf5e52de5f6
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-07 22:04:54 -07:00
gsxdsm
a4ef439212
FN-7376: preserve planner chat stop icon
...
Keep Planner Chat mobile action text hiding from clipping the streaming stop icon.
- Narrow the mobile Planner Chat send-button label selector to leave the shared stop icon span visible.
- Add regression coverage for send and stop icon visibility during planner thinking.
- Add a patch changeset for the published Fusion package.
Files changed:
.changeset/fn-7376-planner-chat-stop-icon.md | 7 ++++
.../app/components/TaskPlannerChatTab.css | 6 +++-
.../__tests__/TaskPlannerChatTab.test.tsx | 41 ++++++++++++++++++++++
3 files changed, 53 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-7376
Fusion-Task-Lineage: 45ef720e-5ae1-4890-a2ed-afc4f97a8bb0
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-01 10:30:45 -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
411f46a5ea
fix(FN-7344): keep planner chat empty state at top
2026-07-01 00:13:47 -07:00
gsxdsm
35d37d603d
fix(FN-7344): compact planner and activity chat inputs
2026-07-01 00:07:42 -07:00
gsxdsm
7c53c97137
fix(FN-7344): make planner chat expansion intentional
2026-06-30 23:51:16 -07:00
gsxdsm
6005f89979
fix(FN-7344): compact planner chat on mobile
2026-06-30 23:45:03 -07:00
gsxdsm
b52f92cb7c
FN-7328: keep Planner Chat controls compact
...
Keep Planner Chat compact while preserving expanded mobile task context.
- Match the Planner Chat composer sizing to Activity chat on desktop and mobile.
- Keep the expanded mobile detail tab bar, priority, and execution-mode controls visible while hiding lower-priority metadata.
- Move and constrain the planner model badge so header actions stay compact.
- Cover the responsive layout and header ordering with dashboard tests.
- Add a patch changeset for the published Fusion package.
Files changed:
.changeset/fn-7328-planner-chat-compact.md | 7 +++
.../dashboard/app/components/TaskDetailModal.css | 21 +++++++--
.../app/components/TaskPlannerChatTab.css | 51 +++++++++++++++++-----
.../app/components/TaskPlannerChatTab.tsx | 10 ++---
...etailModal.responsive-and-dependencies.test.tsx | 26 +++++++++--
.../__tests__/TaskPlannerChatTab.test.tsx | 2 +
6 files changed, 93 insertions(+), 24 deletions(-)
Fusion-Task-Id: FN-7328
Fusion-Task-Lineage: b787d818-e65c-486b-b5f7-cd0881bf3ee0
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 23:45:00 -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
f8b3e05b91
FN-7327: tighten planner chat composer layout
...
Make the planner chat composer align with the send button while preserving mobile stacking.
- Let the desktop composer wrap inline controls instead of forcing a tall textarea.
- Match the planner chat textarea height and padding to button sizing.
- Extend responsive CSS coverage for desktop wrapping, input height, and mobile send-button layout.
Files changed:
.../dashboard/app/components/TaskPlannerChatTab.css | 15 ++++++++++++---
...askDetailModal.responsive-and-dependencies.test.tsx | 18 +++++++++++++++---
2 files changed, 27 insertions(+), 6 deletions(-)
Fusion-Task-Id: FN-7327
Fusion-Task-Lineage: 10ec1f7a-f131-4760-b7c7-bba795a0c6e0
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 19:30:52 -07:00
gsxdsm
0915377a1c
FN-7314: reuse shared planner question UI
...
Reuse the existing question-response modal UI inside task-detail planner Chat clarification flows.
- Render planner fn_ask_question tool calls with ChatQuestionResponse, including answered read-only and duplicate-pending states.
- Preserve steering-tool confirmations while sending submitted clarification answers back through planner Chat.
- Extend parser and modal tests for multi-question payloads, submitted answers, duplicate prompts, and empty dependency labels.
- Add a patch changeset for the published Fusion package.
Files changed:
.changeset/fn-7314-planner-question-ui.md | 7 ++
.../app/components/TaskPlannerChatTab.css | 9 +++
.../app/components/TaskPlannerChatTab.tsx | 76 ++++++++++++++++--
...etailModal.responsive-and-dependencies.test.tsx | 3 +
.../__tests__/TaskPlannerChatTab.test.tsx | 89 ++++++++++++++++++----
.../utils/__tests__/parseQuestionToolCall.test.ts | 10 ++-
.../dashboard/app/utils/parseQuestionToolCall.ts | 6 +-
7 files changed, 176 insertions(+), 24 deletions(-)
Fusion-Task-Id: FN-7314
Fusion-Task-Lineage: bd5da323-0ba1-4094-a965-cc2801a1c9b7
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 19:21:53 -07:00
gsxdsm
cb0d38a0c6
FN-7313: add guarded planner chat steering
...
Task-detail planner chat now turns only clear task change requests into persisted steering comments while keeping ambiguous requests in clarification flow.
- Add a scoped planner-chat steering tool with task-bound persistence and richer result details.
- Refresh task details and show steering confirmation, pending, and error states in the planner chat transcript.
- Expand planner chat prompt guidance and tests for clear steering, ambiguous clarification, and ordinary status questions.
- Add a published Fusion changeset for the new task chat steering behavior.
Files changed:
.changeset/fn-7313-task-chat-steering.md | 7 ++
.../dashboard/app/components/TaskDetailModal.tsx | 1 +
.../app/components/TaskPlannerChatTab.css | 28 +++++
.../app/components/TaskPlannerChatTab.tsx | 96 ++++++++++++++++-
.../__tests__/TaskPlannerChatTab.test.tsx | 72 ++++++++++++-
.../dashboard/src/__tests__/chat-manager.test.ts | 120 +++++++++++++++++++++
packages/dashboard/src/chat.ts | 32 +++++-
7 files changed, 347 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-7313
Fusion-Task-Lineage: 29da54cc-c379-4fe5-8419-be3acc712495
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-30 19:15:11 -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