Commit Graph

122 Commits

Author SHA1 Message Date
gsxdsm
e8dc2ae6d1 FN-7498: show original task prompts in Plan tab
Display the initial task prompt separately from the generated plan in task details.

- Add a read-only Original prompt section above generated PROMPT.md content in task detail Plan views.
- Preserve plain-text formatting and responsive wrapping for original prompts while leaving plan edit/revision controls scoped to generated prompts.
- Cover modal, embedded, empty-state, CSS, docs, and release-note behavior.

Files changed:
 .changeset/fn-7498-original-task-prompt.md         |   7 ++
 docs/dashboard-guide.md                            |   1 +
 .../dashboard/app/components/TaskDetailModal.css   |  30 +++++
 .../dashboard/app/components/TaskDetailModal.tsx   |  18 +++
 ...lModal.inline-editing-and-integrations.test.tsx | 127 ++++++++++++++++++++-
 5 files changed, 182 insertions(+), 1 deletion(-)

Fusion-Task-Id: FN-7498

Fusion-Task-Lineage: df83c73d-d731-4ba4-942b-bd93ec1b9712

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-04 10:42:20 -07:00
gsxdsm
b42be87ad1 FN-7493: keep task popups on board layer
Keep task-detail popups below global utility windows while preserving Activity menu visibility.

- Route ordinary task-detail FloatingWindow instances through a lower task-detail z-index band.
- Emit and consume popup geometry-change signals so root-portaled Activity menus stay attached during drag and resize.
- Extend dashboard tests and docs for popup layering and Activity dropdown behavior.

Files changed:
 .changeset/fn-7493-task-popup-layer.md             |  7 +++
 docs/dashboard-guide.md                            |  8 ++-
 docs/settings-reference.md                         |  2 +-
 packages/dashboard/app/App.tsx                     |  4 ++
 .../App.taskDetailFloatingGeometry.test.tsx        | 45 +++++++++++++-
 .../dashboard/app/components/FloatingWindow.tsx    | 31 ++++++++--
 .../dashboard/app/components/TaskDetailModal.css   |  3 +
 .../dashboard/app/components/TaskDetailModal.tsx   | 27 ++++++++-
 .../components/__tests__/FloatingWindow.test.tsx   | 32 +++++++++-
 .../FloatingWindowStack.cross-type.test.tsx        | 48 ++++++++++++---
 .../TaskDetailModal.task-activity-chat.test.tsx    | 68 ++++++++++++++++++++++
 .../app/components/floatingWindowStack.ts          | 22 +++++--
 12 files changed, 272 insertions(+), 25 deletions(-)

Fusion-Task-Id: FN-7493

Fusion-Task-Lineage: 5f1ec72c-f8dc-44ee-b303-319e0faac0f9

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-04 10:42:19 -07:00
gsxdsm
b8e126eeaf FN-7425: add GitLab tracking metadata to tasks
Persist GitLab tracking metadata and surface it across task APIs and dashboard views.

- add task-store schema, migration, and update helpers for linked GitLab items and stale state
- expose validated GitLab tracking updates through task workflow routes and legacy task payloads
- render GitLab badges, detail-panel metadata, open/unlink actions, styling, i18n strings, and docs
- cover persistence, route validation, task card badges, and task detail interactions with tests
- add a patch changeset for the published Fusion package

Files changed:
 .changeset/fn-7425-gitlab-tracking.md              |   7 ++
 docs/cli-reference.md                              |   2 +-
 docs/dashboard-guide.md                            |   3 +
 packages/core/src/__tests__/db-migrate.test.ts     |  29 +++++
 .../src/__tests__/store-gitlab-tracking.test.ts    | 138 +++++++++++++++++++++
 packages/core/src/db.ts                            |  10 +-
 packages/core/src/gitlab-tracking.ts               |  10 ++
 packages/core/src/index.ts                         |   3 +-
 packages/core/src/store.ts                         | 135 +++++++++++++++++++-
 packages/core/src/types.ts                         |  49 ++++++++
 packages/dashboard/app/api/legacy.ts               |   3 +
 packages/dashboard/app/components/GitLabBadge.tsx  |  33 +++++
 packages/dashboard/app/components/TaskCard.tsx     |   7 +-
 .../dashboard/app/components/TaskCardBadge.tsx     |  15 ++-
 .../dashboard/app/components/TaskDetailModal.css   |  47 +++++--
 .../dashboard/app/components/TaskDetailModal.tsx   | 134 +++++++++++++++++++-
 .../app/components/__tests__/TaskCard.test.tsx     |  49 ++++++++
 .../TaskDetailModal.gitlab-tracking.test.tsx       | 121 ++++++++++++++++++
 .../__tests__/TaskDetailModal.test-helpers.ts      |   1 +
 packages/dashboard/app/styles.css                  |   9 ++
 .../src/__tests__/routes-tasks-ops.test.ts         | 136 ++++++++++++++++++++
 packages/dashboard/src/gitlab.ts                   |  24 +++-
 packages/dashboard/src/routes/register-gitlab.ts   |   1 +
 .../src/routes/register-task-workflow-routes.ts    | 106 +++++++++++++++-
 packages/i18n/locales/en/app.json                  |  31 +++++
 packages/i18n/src/resources.d.ts                   |  31 +++++
 26 files changed, 1106 insertions(+), 28 deletions(-)

Fusion-Task-Id: FN-7425

Fusion-Task-Lineage: 9b5e6005-7284-402e-995c-553be2275eff

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-02 11:38:34 -07:00
gsxdsm
b6da7fafd5 FN-7408: normalize task detail tab padding
Normalize task detail tab padding so chat-like views reuse the standard modal body inset.

- Remove Activity and planner Chat body padding overrides while preserving their flex and internal-scroll behavior.
- Strengthen CSS contract tests for desktop, expanded, and mobile task-detail tab spacing.
- Add a patch changeset for the published Fusion package.

Files changed:
 .changeset/fn-7408-task-detail-tab-padding.md      |  7 ++++++
 .../dashboard/app/components/TaskDetailModal.css   | 26 ++++----------------
 .../TaskDetailModal.attachments-and-tabs.test.tsx  | 10 +++++++-
 .../__tests__/TaskDetailModal.css.test.ts          | 28 ++++++++++++++++++++++
 ...etailModal.responsive-and-dependencies.test.tsx | 26 ++++++++++++--------
 5 files changed, 64 insertions(+), 33 deletions(-)

Fusion-Task-Id: FN-7408

Fusion-Task-Lineage: ffff5aed-ebb9-4f81-b90c-8d58d218cd95

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-01 23:36:35 -07:00
gsxdsm
4378053433 FN-7386: overlay Activity expand controls and remove Raw duplicate
Overlay Activity expansion controls while keeping Raw logs to a single fullscreen affordance.

- Move Live and Feed Activity expand controls into overlaid buttons instead of a reserved toolbar row.
- Let Raw logs rely on AgentLogViewer fullscreen controls, including loading and empty states, to avoid duplicate expand buttons.
- Update responsive CSS and regression coverage for Activity overlay behavior and Raw fullscreen uniqueness.
- Add a patch changeset for the dashboard Activity control fix.

Files changed:
 .changeset/fn-7386-activity-expand.md              |  7 ++++
 .../dashboard/app/components/AgentLogViewer.css    |  6 ++++
 .../dashboard/app/components/AgentLogViewer.tsx    | 34 ++++++++++++-------
 packages/dashboard/app/components/TaskChatTab.tsx  |  2 +-
 .../dashboard/app/components/TaskDetailModal.css   | 36 ++++++++++++++------
 .../dashboard/app/components/TaskDetailModal.tsx   | 29 +++++++++--------
 .../TaskDetailModal.attachments-and-tabs.test.tsx  | 38 ++++++++++++++++++----
 ...etailModal.responsive-and-dependencies.test.tsx | 17 ++++++++++
 8 files changed, 128 insertions(+), 41 deletions(-)

Fusion-Task-Id: FN-7386

Fusion-Task-Lineage: 93728fc2-785d-44de-9903-b61df4911053

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-01 11:07:32 -07:00
gsxdsm
7e5d908efa FN-7375: fix Activity dropdown clipping
Keep the task Activity view selector visible without blanking the mobile tab strip.

- Portal the Activity view menu to the document body and clamp its fixed position to the visual viewport.
- Close and refocus the menu safely across task changes, scrolling, resizing, keyboard selection, and outside clicks.
- Add regression coverage for mobile clipping, tab-strip preservation, and the changeset release note.

Files changed:
 .changeset/fn-7375-activity-dropdown-overlay.md    |   7 +
 .../dashboard/app/components/TaskDetailModal.css   |  15 +-
 .../dashboard/app/components/TaskDetailModal.tsx   | 186 ++++++++++++++++++---
 .../__tests__/TaskDetailModal.css.test.ts          |   7 +-
 ...etailModal.responsive-and-dependencies.test.tsx |  12 +-
 .../TaskDetailModal.task-activity-chat.test.tsx    |  61 +++++++
 6 files changed, 254 insertions(+), 34 deletions(-)

Fusion-Task-Id: FN-7375

Fusion-Task-Lineage: 5999507a-edd3-4485-935a-885f7c143ed4

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-01 09:18:47 -07:00
gsxdsm
72eb9af16c FN-7351: Make Activity tab switch views
Make the Activity tab act as the Live, Feed, and Raw view picker in task details.

- Add an Activity tab dropdown with keyboard, outside-click, and Escape handling.
- Remove the duplicate in-panel Activity view selector while preserving legacy segment routing.
- Keep Activity view switching available in expanded mode and update responsive styling/tests.
- Add a patch changeset for the published Fusion package.

Files changed:
 .changeset/fn-7351-activity-tab-dropdown.md        |   7 +
 .../dashboard/app/components/TaskDetailModal.css   |  84 +++++++++---
 .../dashboard/app/components/TaskDetailModal.tsx   | 148 +++++++++++++++------
 .../TaskDetailModal.attachments-and-tabs.test.tsx  |  49 +++++--
 .../__tests__/TaskDetailModal.css.test.ts          |   8 +-
 ...lModal.inline-editing-and-integrations.test.tsx |   2 +-
 ...skDetailModal.models-progress-workflow.test.tsx |  15 ++-
 .../__tests__/TaskDetailModal.rendering.test.tsx   |   2 +-
 ...etailModal.responsive-and-dependencies.test.tsx |  29 ++--
 .../TaskDetailModal.task-activity-chat.test.tsx    |  53 ++++++--
 .../components/__tests__/TaskDetailModal.test.tsx  |  30 ++++-
 11 files changed, 318 insertions(+), 109 deletions(-)

Fusion-Task-Id: FN-7351
Fusion-Task-Lineage: 7b544505-953f-4c77-a92f-eadb2d9477f3
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-01 07:33:56 -07:00
gsxdsm
d96eb3c644 FN-7349: expand Plan prompt editor width
Make Plan prompt editing surfaces span the task-detail layout consistently.

- Scope a Plan prompt wrapper around markdown, empty, inline edit, and revision controls.
- Let SpecEditor action rows and text inputs shrink and wrap within modal, embedded, and mobile layouts.
- Cover full-width Plan prompt behavior with task-detail CSS and rendering tests.

Files changed:
 .changeset/plan-prompt-full-width.md               |   7 ++
 packages/dashboard/app/components/SpecEditor.css   |  27 ++++-
 .../dashboard/app/components/TaskDetailModal.css   |  58 ++++++++-
 .../dashboard/app/components/TaskDetailModal.tsx   |  13 +-
 .../TaskDetailModal.definition-actions.test.tsx    | 134 ++++++++++++---------
 ...etailModal.responsive-and-dependencies.test.tsx |  44 +++++++
 6 files changed, 219 insertions(+), 64 deletions(-)

Fusion-Task-Id: FN-7349

Fusion-Task-Lineage: 65defcea-ce70-49fb-bd00-2127239e09d0

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-01 00:28:25 -07:00
gsxdsm
7c53c97137 fix(FN-7344): make planner chat expansion intentional 2026-06-30 23:51:16 -07:00
gsxdsm
e37260b30c fix(FN-7344): keep planner chat context expanded 2026-06-30 23:45:03 -07:00
gsxdsm
4ab4aae02e FN-7344: replace Activity subtabs with a dropdown
Replace the task detail Activity subtab strip with a compact selector while keeping legacy routing intact.

- Swap the Live, Feed, and Raw Logs segmented control for an Activity view dropdown.
- Preserve legacy Activity segment ids and initial-tab routing for Live, Feed, and Raw views.
- Update Activity styling, coverage, and the published CLI changeset for the dropdown behavior.

Files changed:
 .changeset/fn-7344-activity-dropdown.md            |  7 ++
 .../dashboard/app/components/TaskDetailModal.css   | 63 +++---------------
 .../dashboard/app/components/TaskDetailModal.tsx   | 56 +++++++---------
 .../TaskDetailModal.attachments-and-tabs.test.tsx  | 76 ++++++++++++----------
 .../__tests__/TaskDetailModal.css.test.ts          | 10 +--
 ...lModal.inline-editing-and-integrations.test.tsx |  2 +-
 ...skDetailModal.models-progress-workflow.test.tsx | 12 ++--
 .../__tests__/TaskDetailModal.rendering.test.tsx   |  2 +-
 ...etailModal.responsive-and-dependencies.test.tsx | 43 +++++-------
 .../TaskDetailModal.task-activity-chat.test.tsx    | 39 ++++++-----
 .../components/__tests__/TaskDetailModal.test.tsx  | 28 ++++----
 11 files changed, 153 insertions(+), 185 deletions(-)

Fusion-Task-Id: FN-7344

Fusion-Task-Lineage: cb609122-d9b6-4ef2-9cf0-35130c3dcffc

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 23:45:02 -07:00
gsxdsm
65822a02b4 FN-7333: stabilize Planner Chat expanded spacing
Stabilize Planner Chat task detail spacing across expanded and mobile layouts.

- Move Planner Chat body padding to the base selector so expand/collapse only changes height and flex behavior.
- Apply the mobile Planner Chat padding override to the same base body selector.
- Add CSS regression coverage and a patch changeset for the published CLI bundle.

Files changed:
 .changeset/planner-chat-stable-spacing.md          |  7 ++++
 .../dashboard/app/components/TaskDetailModal.css   | 11 +++++-
 ...etailModal.responsive-and-dependencies.test.tsx | 44 ++++++++++++++++++++++
 3 files changed, 60 insertions(+), 2 deletions(-)

Fusion-Task-Id: FN-7333

Fusion-Task-Lineage: 84130908-fabb-433f-a48d-5d9c6649c234

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 23:45:01 -07:00
gsxdsm
a48ff305db FN-7330: normalize Activity segment sizing
Normalize the task-detail Activity segmented control so active tabs do not change row height.

- Set base Activity segment sizing, label size, line-height, and border-box behavior for consistent Live/Feed/Raw Logs heights.
- Add regression coverage for equal-height, horizontally scrollable Activity segment tabs across modal and embedded surfaces.
- Add a patch changeset for the dashboard Activity tab sizing fix.

Files changed:
 .changeset/silver-activity-segments.md             |  7 +++++
 .../dashboard/app/components/TaskDetailModal.css   |  8 +++++-
 ...etailModal.responsive-and-dependencies.test.tsx | 30 ++++++++++++++++++++++
 3 files changed, 44 insertions(+), 1 deletion(-)

Fusion-Task-Id: FN-7330

Fusion-Task-Lineage: b833c5f0-b46b-4a05-84a5-e199c1547a6a

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 23:45:00 -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
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
e6be1f765f FN-7307: add Activity segments to task details
Unify task-detail activity surfaces under one segmented Activity tab.

- Add Current, Feed, and Raw Logs segments inside the Activity tab while preserving legacy chat/logs entrypoints.
- Route log-based stall jumps and raw log loading through the new Activity segments.
- Update task-detail styles, plugin modal types, and tests for the segmented Activity layout.
- Add a minor changeset for the published CLI package.

Files changed:
 .changeset/fn-7307-activity-segments.md            |   7 ++
 .../dashboard/app/components/TaskDetailModal.css   |  42 +++++--
 .../dashboard/app/components/TaskDetailModal.tsx   | 122 +++++++++++--------
 .../TaskDetailModal.attachments-and-tabs.test.tsx  | 134 +++++++++++----------
 .../__tests__/TaskDetailModal.css.test.ts          |  11 ++
 ...lModal.inline-editing-and-integrations.test.tsx |   7 +-
 ...skDetailModal.models-progress-workflow.test.tsx |  26 ++--
 .../__tests__/TaskDetailModal.rendering.test.tsx   |   3 +-
 .../components/__tests__/TaskDetailModal.test.tsx  |  30 ++---
 packages/dashboard/app/hooks/useModalManager.ts    |   4 +-
 packages/dashboard/app/plugins/types.ts            |   4 +-
 11 files changed, 230 insertions(+), 160 deletions(-)

Fusion-Task-Id: FN-7307
Fusion-Task-Lineage: 20ce70a6-2c94-4980-b528-ae4079b59016
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 15:23:51 -07:00
gsxdsm
da15c1ceee FN-7305: add prompt file access to task plans
Expose task plans as the user-facing Definition tab label and add a direct PROMPT.md editor entry point.

- Rename the task detail Definition tab label to Plan while preserving the existing tab id.
- Add an Open PROMPT.md action that uses the file browser provider for project task plan files.
- Adjust Plan action row layout for multiple buttons and mobile wrapping.
- Cover the Plan label and PROMPT.md action with task detail modal tests.
- Add a published package changeset for the dashboard task plan improvement.

Files changed:
 .changeset/tidy-plan-prompt-editor.md              |  7 +++
 .../dashboard/app/components/TaskDetailModal.css   | 14 ++++++
 .../dashboard/app/components/TaskDetailModal.tsx   | 20 +++++++-
 .../TaskDetailModal.definition-actions.test.tsx    | 55 +++++++++++++++++-----
 4 files changed, 83 insertions(+), 13 deletions(-)

Fusion-Task-Id: FN-7305

Fusion-Task-Lineage: afe732f9-e9a1-409f-9b09-ae1deccbe3be

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 14:37:51 -07:00
gsxdsm
1bf86d15ea FN-7303: add workflow badge icon spacing
Add token-based spacing so workflow badge icons read clearly beside labels.

- Add consistent column gaps to task-card and task-detail workflow badges.
- Cover badge icon-label ordering and spacing expectations in dashboard tests.
- Add a patch changeset for the published Fusion package.

Files changed:
 .changeset/workflow-badge-spacing.md                           |  7 +++++++
 packages/dashboard/app/components/TaskCard.css                 |  4 ++++
 packages/dashboard/app/components/TaskDetailModal.css          |  5 +++++
 packages/dashboard/app/components/__tests__/TaskCard.test.tsx  | 10 ++++++++--
 .../TaskDetailModal.responsive-and-dependencies.test.tsx       |  1 +
 5 files changed, 25 insertions(+), 2 deletions(-)

Fusion-Task-Id: FN-7303
Fusion-Task-Lineage: 6d129e6c-0f8a-43c2-9c6d-88ff9acd520f
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 14:25:13 -07:00
gsxdsm
85e925a12a FN-7279: move workflow badges to task timestamps
Move the task-detail workflow badge into the Updated timestamp metadata row.

- Render one canonical workflow badge in the timestamp group for desktop and mobile task details.
- Remove desktop/mobile workflow badge variants and keep timestamp layout from wrapping on mobile.
- Update rendering and responsive CSS tests for the new badge ownership.
- Add a patch changeset for the published Fusion package.

Files changed:
 .../fn-7279-task-detail-workflow-timestamps.md     |  7 ++++
 .../dashboard/app/components/TaskDetailModal.css   | 43 ++++++++++------------
 .../dashboard/app/components/TaskDetailModal.tsx   |  7 +---
 .../__tests__/TaskDetailModal.rendering.test.tsx   | 25 ++++++++-----
 ...etailModal.responsive-and-dependencies.test.tsx | 27 ++++++++------
 5 files changed, 58 insertions(+), 51 deletions(-)

Fusion-Task-Id: FN-7279

Fusion-Task-Lineage: a1f11f51-99c9-42c7-bbb6-bb58384594a2

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 08:40:14 -07:00
gsxdsm
d04ee5b4c3 FN-7271: move mobile workflow badge into timestamp row
Move the mobile task-detail workflow badge next to the updated timestamp while preserving desktop placement.

- Add separate desktop and mobile workflow badge render targets in the task detail modal.
- Hide the header badge on mobile and reveal the timestamp-row badge with scoped responsive styles.
- Cover the mobile badge placement and CSS guardrails in task detail tests.
- Add a patch changeset for the published Fusion package.

Files changed:
 .changeset/fn-7271-mobile-workflow-badge.md         |  7 +++++++
 .../dashboard/app/components/TaskDetailModal.css    | 18 ++++++++++++++++++
 .../dashboard/app/components/TaskDetailModal.tsx    |  7 ++++++-
 .../__tests__/TaskDetailModal.rendering.test.tsx    | 10 ++++++++--
 ...DetailModal.responsive-and-dependencies.test.tsx | 21 +++++++++++++++++----
 5 files changed, 56 insertions(+), 7 deletions(-)

Fusion-Task-Id: FN-7271

Fusion-Task-Lineage: def0b5c5-b881-45f8-aa7c-80243d8de8ec

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 07:52:54 -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
f0b3003c0a FN-7195: keep model names readable in token table
Keep Summary token-usage model labels readable in narrow task detail layouts.

- Add a desktop token table minimum width so right-dock layouts scroll instead of collapsing model labels.
- Restore normal model-name wrapping while preserving mobile stacked-card behavior.
- Cover the responsive CSS contract and add a patch changeset for the published package.

Files changed:
 .changeset/fn-7195-model-name-wrap.md                       |  7 +++++++
 packages/dashboard/app/components/TaskDetailModal.css       |  8 +++++++-
 .../__tests__/TaskDetailModal.summary-tab.test.tsx          | 13 ++++++++++++-
 3 files changed, 26 insertions(+), 2 deletions(-)

Fusion-Task-Id: FN-7195

Fusion-Task-Lineage: 97f972f6-ac6e-4632-86ed-b3184c7abbc2

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-28 09:47:07 -07:00
gsxdsm
63d1079d44 FN-7142: show task summary token costs
Add task summary visibility into token usage, model-level costs, and locale coverage.

- Render done-task Summary token usage by model with input, output, cached, total, and estimated cost columns.
- Thread global model pricing overrides into the summary cost calculation and mark unpriced models as unavailable.
- Add responsive token-cost styling, summary-tab coverage, dashboard docs, release notes, and locale keys.

Files changed:
 .changeset/fn-7142-summary-token-cost.md           |   7 +
 docs/dashboard-guide.md                            |   2 +-
 .../dashboard/app/components/TaskDetailModal.css   | 125 +++++++++++
 .../dashboard/app/components/TaskDetailModal.tsx   |   2 +-
 .../dashboard/app/components/TaskSummaryTab.tsx    | 177 ++++++++++++++-
 .../__tests__/TaskDetailModal.summary-tab.test.tsx | 241 ++++++++++++++++++++-
 packages/i18n/locales/en/app.json                  |  11 +
 packages/i18n/locales/es/app.json                  |  52 ++++-
 packages/i18n/locales/fr/app.json                  |  52 ++++-
 packages/i18n/locales/ko/app.json                  |  52 ++++-
 packages/i18n/locales/zh-CN/app.json               |  52 ++++-
 packages/i18n/locales/zh-TW/app.json               |  52 ++++-
 12 files changed, 794 insertions(+), 31 deletions(-)

Fusion-Task-Id: FN-7142
Fusion-Task-Lineage: ec1c7244-4779-46e7-be7c-b0e00b361fd7
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-27 17:56:32 -07:00
gsxdsm
a19df338ad FN-7131: add done-task summary tab
Done task details now open to a read-only Summary tab before Chat.

- Add TaskSummaryTab with completion summary markdown, landed-file stats, completed steps, workflow results, and retry context.
- Default done-task detail entrypoints to Summary while preserving explicit tab selections and plugin tab typing.
- Style and localize the Summary tab, document it, and add dashboard coverage for defaulting and tab content.
- Add a minor changeset for the published CLI package.

Files changed:
 .changeset/fn-7131-summary-tab.md                  |   7 +
 docs/dashboard-guide.md                            |   1 +
 packages/dashboard/app/App.tsx                     |   2 +-
 .../dashboard/app/components/TaskDetailModal.css   | 181 +++++++++++++++++
 .../dashboard/app/components/TaskDetailModal.tsx   |  63 ++++--
 .../dashboard/app/components/TaskSummaryTab.tsx    | 160 +++++++++++++++
 .../TaskDetailModal.definition-actions.test.tsx    |  56 +++---
 .../__tests__/TaskDetailModal.summary-tab.test.tsx | 222 +++++++++++++++++++++
 .../dashboard/app/components/dashboard/types.ts    |   2 +-
 .../app/hooks/__tests__/useModalManager.test.ts    |  10 +-
 .../dashboard/app/hooks/useMainPanelTaskDetail.ts  |   9 +-
 packages/dashboard/app/hooks/useModalManager.ts    |  12 +-
 packages/dashboard/app/plugins/types.ts            |   2 +-
 packages/i18n/locales/en/app.json                  |  16 ++
 14 files changed, 687 insertions(+), 56 deletions(-)

Fusion-Task-Id: FN-7131

Fusion-Task-Lineage: e8ca4ade-9904-4705-a151-d9e55f67b398

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-27 12:15:42 -07:00
gsxdsm
93da87dc5d FN-7048: enable mobile detail tab swiping
Allow task detail tabs to keep horizontal touch scrolling on mobile surfaces.

- Add pan-x touch-action overrides on detail tab buttons for modal, embedded, mobile, and tablet contexts.
- Extend responsive CSS coverage to assert each task-detail tab target allows horizontal panning.
- Add a patch changeset documenting the mobile task-detail tab scroll fix.

Files changed:
 .changeset/fn-7048-task-detail-mobile-tab-touch-action.md  |  7 +++++++
 packages/dashboard/app/components/TaskDetailModal.css      | 14 ++++++++++++++
 .../TaskDetailModal.responsive-and-dependencies.test.tsx   | 14 +++++++++++++-
 3 files changed, 34 insertions(+), 1 deletion(-)

Fusion-Task-Id: FN-7048

Fusion-Task-Lineage: bb07b72f-8843-4ed4-a45b-ea8172bc4957
2026-06-26 00:48:51 -07:00
gsxdsm
977000ca99 FN-7012: restore mobile task tab scrolling
Restores mobile access to all task detail tabs by making the tab strip the horizontal scroller.

- Allow the task-detail content, body, modal tabs, tablet tabs, and embedded tabs to shrink within narrow containers.
- Preserve touch horizontal panning and momentum scrolling on tab strips without moving horizontal overflow to the detail body.
- Cover the Board modal, List embedded pane, and complete tab label set with responsive CSS regression tests.
- Add a patch changeset for the published Fusion package.

Files changed:
 .../fn-7012-task-detail-mobile-tabs-scroll.md      |  7 +++
 .../dashboard/app/components/TaskDetailModal.css   | 25 +++++++-
 ...etailModal.responsive-and-dependencies.test.tsx | 67 +++++++++++++++++++++-
 3 files changed, 96 insertions(+), 3 deletions(-)

Fusion-Task-Id: FN-7012

Fusion-Task-Lineage: 06b06a81-b9ec-4058-879f-2f5e187a63a4
2026-06-25 17:26:16 -07:00
gsxdsm
b293525751 fix(dashboard): repair CSS token/contrast regressions and stale tests
Fixes ~19 deterministic dashboard test failures pre-existing on origin/main
(non-blocking full-suite lane). Mix of real product fixes and stale-test
reconciliation; no appeasement (no widened timeouts, skips, or weakened
assertions).

Product CSS fixes (real regressions the guards caught):
- Info toast contrast: shadcn-custom light theme had white-on-#0284c7 (4.10,
  below WCAG AA 4.5); enrolled it in the light-mode dark-text correction.
- 27 undefined CSS token references (typos/foreign tokens) renamed to canonical
  defined tokens; defined the genuinely-intended --border-strong and
  --right-dock-min/max-width.
- Raw rgba() box-shadow fallback tokenized to color-mix; dev-server mobile
  header split into its own responsive rule.

Stale tests reconciled with intentional product changes:
- workflowColumns graduated to always-on (board-workflows unit test).
- workflow optional-steps source re-pointed to v2 optional-group nodes.
- command-center pricing docs (one doc gap filled: openai-codex:* keying).
- SetupWizardModal added detectWorkspace + workspaceMode/taskPrefix payload.
- board-mobile listener-count assertion → unmount no-throw behavior.
- CommandCenterControls / ThemeSelector: default theme relabeled "Fusion Legacy".
- ProjectOverview / WorkflowNodeEditor: header divider intentionally removed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 14:37:52 -07:00
gsxdsm
0744ab3814 FN-6961: restore dashboard spinner animations
Restore Fusion dashboard loading indicators by preventing spinner keyframe collisions.

- Move shared spinner utilities onto the collision-proof fusion-spinner-spin keyframe.
- Rename component-local spin keyframes and scoped spinner utility overrides so lazy CSS chunks cannot override global loaders.
- Extend spinner CSS contract coverage across shared utilities, CSS-only loaders, and renamed loading affordances.
- Add a patch changeset for the published CLI package.

Files changed:
 .changeset/fn-6961-spinner-animation.md            |   7 +
 .../app/__tests__/spinner-animation.css.test.ts    | 149 +++++++++++++++++----
 .../dashboard/app/components/AgentMentionPopup.css |   6 -
 .../app/components/CustomProvidersSection.css      |   2 +-
 .../app/components/CustomProvidersSection.tsx      |   6 +-
 .../dashboard/app/components/FileMentionPopup.css  |   8 +-
 .../dashboard/app/components/GitHubImportModal.css |   2 +-
 packages/dashboard/app/components/Header.css       |   4 +-
 .../dashboard/app/components/IssueMentionPopup.css |   8 +-
 packages/dashboard/app/components/NodesView.css    |   8 +-
 packages/dashboard/app/components/ScriptsModal.css |   8 +-
 packages/dashboard/app/components/TaskCard.css     |  15 ++-
 .../dashboard/app/components/TaskDetailModal.css   |   4 +-
 .../dashboard/app/components/TerminalModal.css     |   6 -
 packages/dashboard/app/components/TodoView.css     |   4 +-
 .../app/components/WorkflowResultsTab.css          |   4 +-
 packages/dashboard/app/styles.css                  |  13 +-
 17 files changed, 178 insertions(+), 76 deletions(-)

Fusion-Task-Id: FN-6961

Fusion-Task-Lineage: 464e0a50-52c3-4b89-ac72-2f0227d97ce2
2026-06-25 08:34:44 -07:00
gsxdsm
0c53f46afb FN-6983: remove branch reattachment warning
Remove the stale branch reattachment affordance from Task Detail while preserving self-healing as the recovery path.

- Remove unused rebind banner styles and mobile action-shell rules.
- Drop stale recoverBranchBinding mocks from TaskDetailModal tests.
- Add rendering coverage proving Task Detail and embedded content do not show reattachment affordances across missing, populated, workspace, and mobile branch states.
- Add a patch changeset for the published Fusion package.

Files changed:
 .changeset/fn-6983-task-detail-rebind-warning.md   |  7 ++
 .../dashboard/app/components/TaskDetailModal.css   | 42 +-----------
 .../TaskDetailModal.create-pr-e2e.test.tsx         |  1 -
 .../TaskDetailModal.create-pr-integration.test.tsx |  1 -
 .../__tests__/TaskDetailModal.rendering.test.tsx   | 80 ++++++++++++++++++++++
 .../__tests__/TaskDetailModal.test-helpers.ts      |  1 -
 6 files changed, 88 insertions(+), 44 deletions(-)

Fusion-Task-Id: FN-6983

Fusion-Task-Lineage: 1a45c38e-f7d0-4df7-94cf-7d1309758e0d
2026-06-25 08:34:44 -07:00
gsxdsm
dcee0d3172 Merge remote-tracking branch 'origin/main' into conflict-resolution-1713
# Conflicts:
#	packages/engine/src/__tests__/executor-recovery.test.ts
#	packages/engine/src/agent-tools.ts
#	packages/engine/src/executor.ts
#	packages/engine/src/worktree-acquisition.ts
2026-06-23 15:56:06 -07:00
gsxdsm
f9043d733e fix(dashboard): polish workflow and chrome defaults 2026-06-22 19:48:50 -07:00
gsxdsm
4fd8d444fb fix(dashboard): polish app chrome and workflow defaults 2026-06-22 18:21:06 -07:00
gsxdsm
a1cac3a6a3 fix(dashboard): replace quick chat with modal chat 2026-06-22 15:23:43 -07:00
gsxdsm
2a28967133 fix(dashboard): smooth terminal drag/resize; task-detail tweaks + popup fix
- Terminal move/resize: pointer-capture + captured-element listeners + rAF-batched updates + touch-action:none on the move grip; stop per-move localStorage writes. Matches the dock pop-out smoothness.
- Task detail: Summarize-as-title inline at the title's bottom-right; priority + speed controls shorter and equal height (30px); trimmed the gray id-header vertical padding.
- Fix footer Actions/Move dropdowns that vanished — they opened downward off the panel bottom (clipped by overflow); now open upward (above the trigger).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 04:50:43 -07:00
gsxdsm
e6aebdc316 feat(dashboard): full issue/PR preview, floating dock pop-out, header dedups, gm one-row, single-line quick entry
- GitHub import preview shows the full issue/PR body (markdown) + metadata (list already returned full bodies; removed client truncation).
- Task-detail main view: constrain width (no right cutoff); move 'Back to board' into the gray header far right.
- Dock pop-out: smoother touch drag (touch-action:none + captured-element listeners); popping out closes the dock but keeps the floating modal; modal survives dock dismiss.
- Remove duplicate inner headers in Git Manager / Activity Log / Dev Server / Secrets (dock + pop-out chrome already titles them); keep the title on mobile narrow; relocate gm Refresh into the section tab strip.
- Git Manager tabs: one scrollable row of compact icon-only tabs (max visible, scroll if needed).
- List quick entry is single-line (not tall) via singleLine prop; Board unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 04:37:28 -07:00
gsxdsm
023e4b057d feat(workspace): Phase A U3 — dashboard "doesn't look broken" floor
Workspace tasks (no task.worktree, populated workspaceWorktrees) now render in
existing task views without crashing or going blank. New read-only
WorkspaceWorktreesSummary component (placeholder "N repos acquired" + a flat
repo→worktree/branch list — within the "doesn't look broken" ceiling, not a rich
status UI); TaskCard and TaskDetailModal nil-guard on isWorkspaceTask. Single-repo
rendering unchanged. CONCEPTS.md notes workspace-task merges are non-atomic
(repos land independently on local integration refs; partial-land is local and
operator-resettable). Tests 8/8; TaskCard regression 251/251.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 21:07:20 -07:00
gsxdsm
300c31e335 FN-6864: enable touch panning for task detail tabs
Restores horizontal swiping for overflowing task detail tabs on touch viewports.

- Allow the detail tab strip to opt into horizontal touch panning despite the mobile pan-y default.
- Extend the CSS contract test to require the task detail tabs to remain touch-pannable.

Files changed:
 packages/dashboard/app/components/TaskDetailModal.css               | 6 ++++++
 .../dashboard/app/components/__tests__/TaskDetailModal.css.test.ts  | 3 ++-
 2 files changed, 8 insertions(+), 1 deletion(-)

Fusion-Task-Id: FN-6864

Fusion-Task-Lineage: 0863d551-8088-4c8d-b583-1212b199ed69
2026-06-21 13:25:41 -07:00
gsxdsm
aadc0a0817 FN-6517: keep expanded chat title visible
Expanded agent chat now keeps the modal title context while hiding the rest of the chrome.

- Preserve the task title row when chat expands and keep header spacing balanced.
- Continue hiding tabs and modal actions while expanded chat occupies the modal body.
- Extend desktop, mobile, and embedded chat coverage for the expanded title-row behavior.

Files changed:
 .../dashboard/app/components/TaskDetailModal.css   | 10 ++--
 .../TaskDetailModal.attachments-and-tabs.test.tsx  | 58 ++++++++++++++++++++--
 2 files changed, 59 insertions(+), 9 deletions(-)

Fusion-Task-Id: FN-6517

Fusion-Task-Lineage: 77a82f16-5711-4e8d-9560-fd6e0fdfa655
2026-06-16 22:39:06 -07:00
gsxdsm
98cb80d88d FN-6500: fix tablet task detail modal sizing
Keeps tablet task detail modals wide enough and within the viewport.\n\n- Reconcile the tablet overlay offset with modal max-height so actions remain visible.\n- Widen the tablet task detail modal to use more horizontal viewport space.\n- Add CSS-focused coverage for tablet sizing plus unchanged desktop and mobile guards.\n- Add a patch changeset for the published Fusion package.\n\nFiles changed:\n .changeset/fn-6500-tablet-task-detail-modal.md     |  5 ++\n .../task-detail-modal-tablet-width.test.ts         | 14 +++--\n .../dashboard/app/components/TaskDetailModal.css   | 15 +++--\n ...etailModal.responsive-and-dependencies.test.tsx | 64 ++++++++++++++++++++++\n .../__tests__/core-modals-mobile.test.tsx          |  5 +-\n 5 files changed, 94 insertions(+), 9 deletions(-)

Fusion-Task-Id: FN-6500

Fusion-Task-Lineage: 016a2839-29f9-48de-b644-a5fcd27b35e3
2026-06-16 19:49:45 -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
b8dbe69b21 FN-6418: tighten task chat composer spacing
Tightens the task detail chat layout so the composer sits closer to the transcript without affecting other detail tabs.

- Reduce the chat tab stack gap and composer vertical padding on desktop and mobile.
- Remove the chat section's inherited top margin while keeping shared tab padding intact.
- Document the spacing requirement with FNXC comments near the affected chat styles.

Files changed:
 packages/dashboard/app/components/TaskChatTab.css     | 10 ++++++----
 packages/dashboard/app/components/TaskDetailModal.css |  7 ++++++-
 2 files changed, 12 insertions(+), 5 deletions(-)

Fusion-Task-Id: FN-6418

Fusion-Task-Lineage: 4b484de5-9d6f-403b-902d-5df9f0591811
2026-06-13 20:22:03 -07:00
gsxdsm
537cc2ab7f FN-6387: clamp long task detail titles
Clamp long task-detail headings to two lines with an explicit expand control.

- Replace character-count title truncation with measured two-line CSS clamping.
- Add overflow detection so the Show more/Show less toggle only appears when the heading actually wraps past two lines.
- Update task detail rendering tests for triage, non-triage, editing, summarize, chat-expanded, desktop, and mobile title surfaces.

Files changed:
 .../dashboard/app/components/TaskDetailModal.css   |  10 +
 .../dashboard/app/components/TaskDetailModal.tsx   | 111 ++++-
 .../__tests__/TaskDetailModal.rendering.test.tsx   | 441 +++++++++------------
 3 files changed, 261 insertions(+), 301 deletions(-)

Fusion-Task-Id: FN-6387

Fusion-Task-Lineage: 8c1b860c-8fe7-4f91-89e1-b387dbd7320e
2026-06-13 16:30:28 -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
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
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
3cb0f9f371 FN-6231: enlarge tablet modal and expose triage prompt
Increase tablet task detail modal height while keeping triage prompt contracts testable.\n\n- Set tablet task detail modal height to 92vh with a dynamic viewport max-height guard.\n- Add CSS regression coverage for desktop, tablet, mobile, and embedded modal height invariants.\n- Export the standard triage prompt and include it in invariant wording tests.\n\nFiles changed:\n .../dashboard/app/components/TaskDetailModal.css   |   2 +\n .../__tests__/core-modals-mobile.test.tsx          |  74 ++++-\n packages/engine/src/__tests__/triage.test.ts       |   5 +-\n packages/engine/src/triage.ts                      | 333 +++++++++++++++++++++\n 4 files changed, 406 insertions(+), 8 deletions(-)

Fusion-Task-Id: FN-6231

Fusion-Task-Lineage: 58e990dd-2dbb-4c6e-869d-661b02699cef
2026-06-11 17:15:24 -07:00
gsxdsm
ece4a37745 FN-6059: add task title summarization action
Add an inline task-detail action to summarize descriptions into titles.

- add a read-mode "Summarize as title" control in Task Detail for editable tasks with descriptions
- call the title summarizer, persist the generated title, and show loading/success/error feedback
- cover button visibility, pending, success, error, and mobile behavior in Task Detail tests
- document the new Task Detail modal action in the dashboard guide

Files changed:
 docs/dashboard-guide.md                            |   1 +
 .../dashboard/app/components/TaskDetailModal.css   |  47 +++++++
 .../dashboard/app/components/TaskDetailModal.tsx   |  56 +++++++-
 .../__tests__/TaskDetailModal.test-helpers.ts      |   5 +-
 .../components/__tests__/TaskDetailModal.test.tsx  | 145 +++++++++++++++++++++
 5 files changed, 247 insertions(+), 7 deletions(-)

Fusion-Task-Id: FN-6059

Fusion-Task-Lineage: ed5a2f1b-a490-45f7-a747-d28c345f143b
2026-06-09 03:57:40 -07:00
gsxdsm
6c129dafce FN-6040: show loading indicators for task detail activity and agent logs
Add first-load loading states so task activity and agent log views do not flash empty states.

- show a loading status row in the task detail Activity tab while detail history is still loading
- keep agent logs in a loading state until the active task/project context has completed its initial fetch
- add accessible loading markup, regression tests, and dashboard guide documentation for the new behavior

Files changed:
 docs/dashboard-guide.md                            |   1 +
 .../dashboard/app/components/AgentLogViewer.css    |  18 +++
 .../dashboard/app/components/AgentLogViewer.tsx    |   2 +-
 .../dashboard/app/components/TaskDetailModal.css   |  17 +++
 .../dashboard/app/components/TaskDetailModal.tsx   |   7 +-
 .../components/__tests__/AgentLogViewer.test.tsx   |   3 +-
 .../components/__tests__/TaskDetailModal.test.tsx  | 144 +++++++++++++++++++++
 .../app/hooks/__tests__/useAgentLogs.test.ts       |  74 +++++++++++
 packages/dashboard/app/hooks/useAgentLogs.ts       |  14 +-
 9 files changed, 276 insertions(+), 4 deletions(-)

Fusion-Task-Id: FN-6040

Fusion-Task-Lineage: cd4b8f7f-63cd-4d75-be00-d362e915f4e8
2026-06-08 13:32:58 -07:00
gsxdsm
08d25f041a FN-5968: streamline Changes-tab mobile controls
Tighten the Task Changes toolbar so mobile diff navigation and actions stay compact.

- reuse a shared Changes header renderer so empty and populated states keep the same controls
- add mobile-specific Task Changes toolbar layout rules for wrapped navigation and secondary actions
- cover the mobile header structure, empty-diff actions, and publish a patch changeset

Files changed:
 .changeset/fn-5968-changes-tab-mobile.md           |   5 +
 packages/dashboard/app/components/TaskChangesTab.tsx    | 137 +++++++++++----------
 packages/dashboard/app/components/TaskDetailModal.css   |  39 ++++++
 packages/dashboard/app/components/__tests__/TaskChangesTab.test.tsx   | 103 +++++++++++++++-
 4 files changed, 216 insertions(+), 68 deletions(-)

Fusion-Task-Id: FN-5968

Fusion-Task-Lineage: 70865b8f-7f77-4cdb-aa0f-0d497d05e4ac
2026-06-07 18:51:46 -07:00