From 3d5c22c075b40d56e2298a5637bb69337ccd47f8 Mon Sep 17 00:00:00 2001 From: gsxdsm Date: Sat, 13 Jun 2026 20:54:32 -0700 Subject: [PATCH] FN-6425: pin task chat expand control Keep the task chat expand action visible as an icon-only overlay inside the chat view. - Move the expand/collapse button out of the scrolling transcript and onto the task chat container. - Style the control as a centered icon-only button with stable overlay positioning. - Extend TaskChatTab coverage for empty, loading, populated, expanded, and scrolled transcript states. Files changed: packages/dashboard/app/components/TaskChatTab.css | 10 +++- packages/dashboard/app/components/TaskChatTab.tsx | 26 +++++----- .../app/components/__tests__/TaskChatTab.test.tsx | 58 +++++++++++++++++----- 3 files changed, 68 insertions(+), 26 deletions(-) Fusion-Task-Id: FN-6425 Fusion-Task-Lineage: 6526eb4a-4be9-472b-9595-c7fcea6971b1 --- .../dashboard/app/components/TaskChatTab.css | 10 +++- .../dashboard/app/components/TaskChatTab.tsx | 26 ++++----- .../components/__tests__/TaskChatTab.test.tsx | 58 +++++++++++++++---- 3 files changed, 68 insertions(+), 26 deletions(-) diff --git a/packages/dashboard/app/components/TaskChatTab.css b/packages/dashboard/app/components/TaskChatTab.css index 01b6392418..839257f0f8 100644 --- a/packages/dashboard/app/components/TaskChatTab.css +++ b/packages/dashboard/app/components/TaskChatTab.css @@ -1,4 +1,5 @@ .task-chat-tab { + position: relative; display: flex; flex: 1; flex-direction: column; @@ -11,9 +12,16 @@ .task-chat-expand-toggle { display: inline-flex; align-items: center; - gap: var(--space-xs); + justify-content: center; + min-inline-size: var(--space-2xl); + min-block-size: var(--space-2xl); + padding: 0; } +/* +FNXC:TaskChat 2026-06-13-00:00: +FN-6425 requires the chat expand control to stay inside the chat view as an icon-only affordance while remaining reachable at every transcript scroll offset. Anchor it to the non-scrolling task-chat wrapper rather than the transcript content. +*/ .task-chat-expand-toggle--overlay { position: absolute; top: var(--space-md); diff --git a/packages/dashboard/app/components/TaskChatTab.tsx b/packages/dashboard/app/components/TaskChatTab.tsx index 7c42b98b95..cb85c0a6b5 100644 --- a/packages/dashboard/app/components/TaskChatTab.tsx +++ b/packages/dashboard/app/components/TaskChatTab.tsx @@ -621,6 +621,19 @@ export function TaskChatTab({ task, projectId, active, addToast, sessionLive, on return (
+ {onToggleExpanded ? ( + + ) : null}
- {onToggleExpanded ? ( - - ) : null} {loading && transcriptItemCount === 0 ? (