From eee04bc1a8fe7ab0846725d5b61ae4e072924170 Mon Sep 17 00:00:00 2001 From: gsxdsm Date: Fri, 17 Jul 2026 16:34:16 -0700 Subject: [PATCH] FN-8248: fix Quick Chat popup stacking Make Quick Chat and task popups honor their most recent interaction order. - Place Quick Chat in the task-detail peer stack while retaining higher utility windows. - Raise Create Room dialogs above Chat on each open, including mobile sheets. - Add stacking regression coverage and operator documentation with screenshots. Files changed: docs/assets/fn-8248-chat-above-task.png | Bin 0 -> 55108 bytes docs/assets/fn-8248-mobile-create-room.png | Bin 0 -> 56699 bytes docs/assets/fn-8248-task-above-chat.png | Bin 0 -> 74263 bytes docs/dashboard-guide.md | 5 +- packages/dashboard/app/App.tsx | 13 +++- .../dashboard/app/components/CreateRoomModal.tsx | 15 ++++- .../dashboard/app/components/FloatingWindow.tsx | 11 +++- .../components/__tests__/CreateRoomModal.test.tsx | 72 +++++++++++++++++++++ .../FloatingWindowStack.cross-type.test.tsx | 37 +++++++---- .../app/components/floatingWindowStack.ts | 10 +-- 10 files changed, 139 insertions(+), 24 deletions(-) Fusion-Task-Id: FN-8248 Fusion-Task-Lineage: 94ef20f1-96da-4249-9812-169f780c9451 Co-authored-by: Fusion (runfusion.ai) --- docs/assets/fn-8248-chat-above-task.png | Bin 0 -> 55108 bytes docs/assets/fn-8248-mobile-create-room.png | Bin 0 -> 56699 bytes docs/assets/fn-8248-task-above-chat.png | Bin 0 -> 74263 bytes docs/dashboard-guide.md | 5 +- packages/dashboard/app/App.tsx | 13 +++- .../app/components/CreateRoomModal.tsx | 15 +++- .../app/components/FloatingWindow.tsx | 11 ++- .../__tests__/CreateRoomModal.test.tsx | 72 ++++++++++++++++++ .../FloatingWindowStack.cross-type.test.tsx | 37 ++++++--- .../app/components/floatingWindowStack.ts | 10 ++- 10 files changed, 139 insertions(+), 24 deletions(-) create mode 100644 docs/assets/fn-8248-chat-above-task.png create mode 100644 docs/assets/fn-8248-mobile-create-room.png create mode 100644 docs/assets/fn-8248-task-above-chat.png diff --git a/docs/assets/fn-8248-chat-above-task.png b/docs/assets/fn-8248-chat-above-task.png new file mode 100644 index 0000000000000000000000000000000000000000..9bd3a70f6d9fdeed1bc2801d11d8af7a0ca5ced2 GIT binary patch literal 55108 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 O+w-mcuKb;c&iw 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 literal 0 HcmV?d00001 diff --git a/docs/assets/fn-8248-task-above-chat.png b/docs/assets/fn-8248-task-above-chat.png new file mode 100644 index 0000000000000000000000000000000000000000..a192cf4085095a4fc0fa3ffd8cd190bcebfe3936 GIT binary patch literal 74263 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

*c{>Q_V?xF3nFePSl1}HT;1H#is%n z3)r87C?`wk=B6}f8i%u8AI^(u+eT*tCV&yvdnukc;c0b3H>Qqg}~)0PcxIhj>IzV4%wx4h`qI=HS5s|vEU&~HUD jYZ2PokN+lATj3X2!5o~KHRRt0{w}F#UCcgjcK5#kNV%U! literal 0 HcmV?d00001 diff --git a/docs/dashboard-guide.md b/docs/dashboard-guide.md index 7f223e24b5..91cf775a41 100644 --- a/docs/dashboard-guide.md +++ b/docs/dashboard-guide.md @@ -127,9 +127,9 @@ If **Settings → Appearance → Open tasks in the right sidebar** is enabled, b -**Settings → Appearance → Open tasks as popups** changes ordinary board task-card clicks, List row/card opens, and right-dock Tasks-list clicks across desktop, tablet, and mobile viewports. When enabled, those clicks use the existing task popup/FloatingWindow surface on the board/task-detail layer instead of the full-panel task detail, List split-detail/docked detail, or right-dock task detail, keeping the board, List view, or dock list visible in the background while utility windows keep their higher global stacking. On desktop and tablet, task popups restore the last saved popup size and position between tasks; on mobile, task popups stay full-screen sheets. Deep `changes`/`retries`/`workflow` opens, List context-menu/refine actions, task-detail links, plugin/graph opens, and explicit pop-out actions keep their existing paths. +**Settings → Appearance → Open tasks as popups** changes ordinary board task-card clicks, List row/card opens, and right-dock Tasks-list clicks across desktop, tablet, and mobile viewports. When enabled, those clicks use the existing task popup/FloatingWindow surface on the board/task-detail layer instead of the full-panel task detail, List split-detail/docked detail, or right-dock task detail, keeping the board, List view, or dock list visible in the background. Overlapping Quick Chat and task popups interleave by the most-recent pointer or focus interaction; other utility windows retain their higher global stacking. On desktop and tablet, task popups restore the last saved popup size and position between tasks; on mobile, task popups stay full-screen sheets. Deep `changes`/`retries`/`workflow` opens, List context-menu/refine actions, task-detail links, plugin/graph opens, and explicit pop-out actions keep their existing paths. **Settings → Appearance → Keep task popups on the view where they were opened** is enabled by default. Every task-detail popup is attached to its exact originating view, including Planning, Agents, Command Center, Documents, Missions, and plugin views: navigating elsewhere hides it without closing it, and returning re-shows it in the same saved position. You can open the same task independently in more than one view; closing or pressing Escape on one popup does not affect the other. Disable this setting only to restore legacy globally shared popups. Legacy saved popups without an origin remain visible everywhere for compatibility. @@ -669,6 +669,7 @@ Quick Chat is an optional fast, project-scoped assistant surface for conversatio - On first open for a project, Quick Chat restores the last opened non-archived session from per-project local storage; if that saved session is missing, it falls back to the most recently touched non-archived session by latest activity (`max(lastMessageAt, updatedAt)`), and only falls back to the first agent / configured default model when no prior session exists. - Closing and reopening Quick Chat keeps the active conversation warm in memory, so messages stay visible without a conversation reload or "Loading conversation…" flash. - Clicking outside the desktop Quick Chat floating window closes it by default; disable **Settings → General → Close Quick Chat on outside click** to keep it open until you explicitly close/minimize/maximize it. Model, thinking-level, agent, dependency, node, and priority dropdowns that open from Quick Chat are treated as part of the panel even when they render in a page-level portal, so selecting from them does not close Quick Chat. Task pop-out floating windows remain persistent on page clicks. +- Quick Chat and task popups use an interaction-driven peer stack: clicking or focusing either overlapping surface raises it above the other. Blocking dialogs opened from Quick Chat, including **Create Room**, claim a fresh top layer on every open so they remain above both the desktop floating panel and the mobile full-screen sheet. - Queued follow-up messages entered while a Quick Chat response is still streaming now persist per session, so closing/reopening the panel restores the queued stack and flushes the messages one at a time in FIFO order as active responses complete. - Resume lookups still use targeted session queries instead of loading the full active-session list first - Tool-call summaries in the floating quick-chat panel are intentionally condensed into a single-line header row (especially on small screens) so tool name + status stay scannable without multi-line wrapping diff --git a/packages/dashboard/app/App.tsx b/packages/dashboard/app/App.tsx index e5abd27a1b..5dfd2474d6 100644 --- a/packages/dashboard/app/App.tsx +++ b/packages/dashboard/app/App.tsx @@ -1838,6 +1838,13 @@ function AppInner() { hideHeader dragHandleSelector=".chat-view--floating .view-header" className="floating-window--chat" + layer="task-detail" + /* + FNXC:ChatModal 2026-07-17-15:55: + Quick Chat and task-detail popups must share the task popup interaction stack: either + overlapping surface claims the front on pointer/focus. Other utility FloatingWindows keep + their higher utility band, so this scoped opt-in cannot change Terminal, Files, or New Task. + */ /* FNXC:ModalGeometryPersistence 2026-07-15-19:30: Chat is a full-screen sheet at ≤768px, so preserve its desktop location and size instead of restoring or overwriting them there. */ suspendGeometryPersistenceOnMobile persistGeometryKey="kb-dashboard-chat-floating-window" @@ -1874,8 +1881,10 @@ function AppInner() { FNXC:TaskPopupGeometry 2026-07-03-00:00: Every task-detail FloatingWindow keeps its per-task windowKey for DOM identity, dedupe, cascade fallback, and z-index independence, but all task-detail popups share one persisted geometry key so operators do not resize or reposition the popup between tasks. - FNXC:TaskPopupLayer 2026-07-04-18:36: - Ordinary task-detail popups belong to the board/task-detail layer, not the global floating-utility stack. Pass the task-detail layer so board/right-dock task opens preserve the visible board context while utility windows keep the higher app-wide raise/focus contract. + FNXC:TaskPopupLayer 2026-07-17-15:55: + Task-detail popups and Quick Chat share the task-detail interaction stack, so pointer/focus + moves either overlapping surface above the other. Other utility windows retain their separate, + higher utility band and cannot be reordered by task-popup interaction. FNXC:TaskPopupViewGating 2026-07-15-15:20: Rendering uses only the active view's scoped entries; state keeps hidden snapshots so returning remounts them with shared geometry. Each FloatingWindow key includes its origin so identical task ids never collide across views. diff --git a/packages/dashboard/app/components/CreateRoomModal.tsx b/packages/dashboard/app/components/CreateRoomModal.tsx index a3d1eaa9a3..c239d056c7 100644 --- a/packages/dashboard/app/components/CreateRoomModal.tsx +++ b/packages/dashboard/app/components/CreateRoomModal.tsx @@ -1,10 +1,11 @@ -import { useEffect, useMemo, useRef, useState } from "react"; +import { useEffect, useLayoutEffect, useMemo, useRef, useState } from "react"; import { useTranslation } from "react-i18next"; import { createPortal } from "react-dom"; import { fetchAgents } from "../api"; import type { Agent } from "@fusion/core"; import { AgentAvatar } from "./AgentAvatar"; import { LoadingSpinner } from "./LoadingSpinner"; +import { nextFloatingZ } from "./floatingWindowStack"; import "./CreateRoomModal.css"; export interface RoomDraft { @@ -50,6 +51,16 @@ export function CreateRoomModal({ isOpen, onClose, onCreate, projectId, existing const [isSubmitting, setIsSubmitting] = useState(false); const nameInputRef = useRef(null); const previousFocusRef = useRef(null); + /* + FNXC:ChatRoomModal 2026-07-17-15:56: + Create Room is a blocking dialog launched from Quick Chat's non-blocking FloatingWindow. Because + both surfaces portal to body, claim a fresh shared top-layer z-index on every open so the dialog + stays above its parent on desktop and the mobile full-screen Chat sheet, including after reopen. + */ + const [overlayZ, setOverlayZ] = useState(undefined); + useLayoutEffect(() => { + if (isOpen) setOverlayZ(nextFloatingZ()); + }, [isOpen]); useEffect(() => { if (!isOpen) return; @@ -140,7 +151,7 @@ export function CreateRoomModal({ isOpen, onClose, onCreate, projectId, existing }; return createPortal( -

event.target === event.currentTarget && onClose()}> +
event.target === event.currentTarget && onClose()} style={overlayZ ? { zIndex: overlayZ } : undefined}>
event.stopPropagation()}>

{t("createRoom.title", "Create room")}

diff --git a/packages/dashboard/app/components/FloatingWindow.tsx b/packages/dashboard/app/components/FloatingWindow.tsx index e7dc706b54..b399f7bea9 100644 --- a/packages/dashboard/app/components/FloatingWindow.tsx +++ b/packages/dashboard/app/components/FloatingWindow.tsx @@ -58,7 +58,10 @@ export interface FloatingWindowProps { * Persistent task/terminal pop-outs must omit this so page clicks do not close them. */ closeOnOutsidePointerDown?: boolean; - /** Layer band for z-index claiming. Task details stay with the board/task-detail surface; utilities use the global floating stack. */ + /** + * Layer band for z-index claiming. Task-detail peers (including Quick Chat) interleave by + * interaction; unrelated utilities use the global floating stack. + */ layer?: "utility" | "task-detail"; // FNXC:FloatingWindow 2026-07-11-11:30: accessible name for the dialog overlay so headerless windows (e.g. artifact viewers with their own header chrome) stay queryable/announcable by label. ariaLabel?: string; @@ -213,8 +216,10 @@ export function FloatingWindow({ const claimFrontZ = useCallback(() => (layer === "task-detail" ? nextTaskDetailFloatingZ() : nextFloatingZ()), [layer]); const readCurrentZ = useCallback(() => (layer === "task-detail" ? currentTaskDetailFloatingZ() : currentFloatingZ()), [layer]); /* - FNXC:TaskPopupLayer 2026-07-04-18:36: - Task-detail popups intentionally claim the lower board/task-detail band, while utility FloatingWindow callers keep the higher global stack. This preserves raise/focus among multiple task popups without making ordinary board popups cover utility surfaces like Terminal or Quick Chat. + FNXC:TaskPopupLayer 2026-07-17-15:55: + Task-detail popups and Quick Chat intentionally claim the same board/task-detail interaction + band, so either may rise above the other on pointer/focus. Other utility FloatingWindow callers + retain the higher global stack; only Chat opts into this task-popup peer contract. */ const [zIndex, setZIndex] = useState(() => claimFrontZ()); const panelRef = useRef(null); diff --git a/packages/dashboard/app/components/__tests__/CreateRoomModal.test.tsx b/packages/dashboard/app/components/__tests__/CreateRoomModal.test.tsx index 73850eb0fd..da6bcb6995 100644 --- a/packages/dashboard/app/components/__tests__/CreateRoomModal.test.tsx +++ b/packages/dashboard/app/components/__tests__/CreateRoomModal.test.tsx @@ -2,6 +2,7 @@ import { fireEvent, render, screen, waitFor } from "@testing-library/react"; import { describe, expect, it, vi, beforeEach } from "vitest"; import { userEvent } from "@testing-library/user-event"; import { CreateRoomModal, validateRoomName } from "../CreateRoomModal"; +import { FloatingWindow } from "../FloatingWindow"; import * as apiModule from "../../api"; vi.mock("../../api", () => ({ @@ -72,6 +73,77 @@ describe("CreateRoomModal", () => { expect(onCreate).toHaveBeenCalledWith({ name: "engineering", displayName: "#engineering", memberAgentIds: ["agent-1"] }); }); + it("claims a fresh top layer above floating Chat on open and reopen", async () => { + const { rerender } = render( + <> + {}} layer="task-detail" className="floating-window--chat"> +
floating chat representative
+
+ + , + ); + + const chatPanel = screen.getByTestId("floating-window-chat-modal"); + const firstOverlay = document.querySelector(".create-room-modal")?.parentElement as HTMLElement; + expect(Number(firstOverlay.style.zIndex)).toBeGreaterThan(Number(chatPanel.style.zIndex)); + await screen.findByRole("button", { name: /Alpha/i }); + + // Another Chat interaction can claim its peer stack while the dialog is closed. + rerender( + <> + {}} layer="task-detail" className="floating-window--chat"> +
floating chat representative
+
+ + , + ); + fireEvent.pointerDown(chatPanel); + + rerender( + <> + {}} layer="task-detail" className="floating-window--chat"> +
floating chat representative
+
+ + , + ); + + const reopenedOverlay = document.querySelector(".create-room-modal")?.parentElement as HTMLElement; + expect(Number(reopenedOverlay.style.zIndex)).toBeGreaterThan(Number(chatPanel.style.zIndex)); + expect(Number(reopenedOverlay.style.zIndex)).toBeGreaterThan(Number(firstOverlay.style.zIndex)); + }); + + it("stays above floating Chat while agent data is loading or empty", async () => { + mockFetchAgents.mockImplementation(() => new Promise(() => {})); + const loading = render( + <> + {}} layer="task-detail" className="floating-window--chat"> +
floating chat representative
+
+ + , + ); + + const loadingOverlay = document.querySelector(".create-room-modal")?.parentElement as HTMLElement; + expect(screen.getByRole("status")).toHaveTextContent("Loading agents..."); + expect(Number(loadingOverlay.style.zIndex)).toBeGreaterThan(Number(screen.getByTestId("floating-window-chat-loading").style.zIndex)); + loading.unmount(); + + mockFetchAgents.mockResolvedValueOnce([]); + render( + <> + {}} layer="task-detail" className="floating-window--chat"> +
floating chat representative
+
+ + , + ); + + const emptyOverlay = document.querySelector(".create-room-modal")?.parentElement as HTMLElement; + expect(await screen.findByText("No agents in this project yet.")).toBeInTheDocument(); + expect(Number(emptyOverlay.style.zIndex)).toBeGreaterThan(Number(screen.getByTestId("floating-window-chat-empty").style.zIndex)); + }); + it("closes on escape and overlay click", async () => { const onClose = vi.fn(); render(); diff --git a/packages/dashboard/app/components/__tests__/FloatingWindowStack.cross-type.test.tsx b/packages/dashboard/app/components/__tests__/FloatingWindowStack.cross-type.test.tsx index 859df36c64..6fbf6b8fa3 100644 --- a/packages/dashboard/app/components/__tests__/FloatingWindowStack.cross-type.test.tsx +++ b/packages/dashboard/app/components/__tests__/FloatingWindowStack.cross-type.test.tsx @@ -8,8 +8,9 @@ import { currentFloatingZ, currentTaskDetailFloatingZ, nextFloatingZ, nextTaskDe FNXC:FloatingWindow 2026-06-22-21:30: Cross-type shared-stack contract. Utility floating modal types (utility FloatingWindow, the right-dock pop-out, the floating terminal, the floating New Task dialog) draw their z-index from the SINGLE module-level utility counter so tapping ANY utility raises it above ALL other utilities REGARDLESS of type. RightDockExpandModal stands in for the three non-FloatingWindow floating modals (terminal + New Task wire the identical claim-on-mount + bring-to-front-on-pointerdown pattern; they are heavier to mount in JSDOM and assert the same inline-zIndex contract). -FNXC:TaskPopupLayer 2026-07-04-18:36: -Task-detail FloatingWindow callers are excluded from the global utility stack. They use a lower board/task-detail counter so ordinary board/right-dock task popups can raise among themselves without becoming topmost utility overlays. +FNXC:TaskPopupLayer 2026-07-17-15:55: +Quick Chat opts into the task-detail counter so task popups and Chat interleave by interaction. +Unrelated utility windows remain excluded and keep their independent, higher utility stack. */ const renderProps = { addToast: () => {}, projectId: "project-1" } as const; @@ -59,26 +60,40 @@ describe("floatingWindowStack (cross-type)", () => { expect(Number(dockPanel.style.zIndex)).toBeGreaterThan(Number(fwPanel.style.zIndex)); }); - it("keeps task-detail FloatingWindow popups out of the global utility band", () => { + it("interleaves Quick Chat with one or multiple task popups while utility windows stay higher", () => { render( <> - {}} layer="task-detail" className="floating-window--task-detail"> -
task body
+ {}} layer="task-detail" className="floating-window--chat"> +
chat body
+
+ {}} layer="task-detail" className="floating-window--task-detail"> +
task a body
+
+ {}} layer="task-detail" className="floating-window--task-detail"> +
task b body
{}} /> , ); - const taskPanel = screen.getByTestId("floating-window-task"); - const taskOverlay = screen.getByTestId("floating-window-overlay-task"); + const chatPanel = screen.getByTestId("floating-window-chat-modal"); + const taskA = screen.getByTestId("floating-window-task-a"); + const taskB = screen.getByTestId("floating-window-task-b"); const dockPanel = screen .getByTestId("right-dock-expand-modal") .querySelector(".right-dock-expand-modal--floating") as HTMLElement; - expect(Number(taskPanel.style.zIndex)).toBeLessThan(Number(dockPanel.style.zIndex)); - expect(Number(taskOverlay.style.zIndex)).toBeLessThan(Number(dockPanel.style.zIndex)); + // Later task mounts above Chat; utility surfaces still retain their higher independent band. + expect(Number(taskB.style.zIndex)).toBeGreaterThan(Number(chatPanel.style.zIndex)); + expect(Number(dockPanel.style.zIndex)).toBeGreaterThan(Number(taskB.style.zIndex)); - fireEvent.pointerDown(taskPanel); - expect(Number(taskPanel.style.zIndex)).toBeLessThan(Number(dockPanel.style.zIndex)); + // Task and Chat both claim the same peer counter in either interaction direction. + fireEvent.pointerDown(chatPanel); + expect(Number(chatPanel.style.zIndex)).toBeGreaterThan(Number(taskB.style.zIndex)); + fireEvent.focus(taskA); + expect(Number(taskA.style.zIndex)).toBeGreaterThan(Number(chatPanel.style.zIndex)); + fireEvent.focus(chatPanel); + expect(Number(chatPanel.style.zIndex)).toBeGreaterThan(Number(taskA.style.zIndex)); + expect(Number(chatPanel.style.zIndex)).toBeLessThan(Number(dockPanel.style.zIndex)); }); }); diff --git a/packages/dashboard/app/components/floatingWindowStack.ts b/packages/dashboard/app/components/floatingWindowStack.ts index 01e78631e6..02fdadc9ba 100644 --- a/packages/dashboard/app/components/floatingWindowStack.ts +++ b/packages/dashboard/app/components/floatingWindowStack.ts @@ -5,8 +5,10 @@ SHARED floating-utility z-index stack. This is the ONE source of z-index for uti FNXC:FloatingWindow 2026-06-22-22:30: Base band sits at 10100+ — ABOVE the page overlay/popover band (log viewer, workflow-editor modal, selection popover, static fullscreen fallbacks at z 10000-10001) so a utility floating window the user is dragging is never painted over by those. Transient top-right toasts are bumped to 10500 (styles.css) so system feedback still shows above a dragged utility window. The workflow prompt fullscreen overlay is itself a floating utility surface and claims `nextFloatingZ()` when opened, because a static z 10000 fallback is hidden by the workflow editor's full-screen mobile FloatingWindow sheet. The counter is module-level and intentionally monotonic: it only ever climbs, which is fine for a session-length dashboard. All floating overlays are `pointer-events: none` (click-through) so raising panels into this shared band never traps clicks on the page behind them. CRITICAL: every floating modal must be portaled to document.body so this shared z is compared in ONE root stacking context (an inline panel cannot beat siblings outside its own context no matter its z). -FNXC:TaskPopupLayer 2026-07-04-18:36: -Task-detail popups are ordinary board/task-detail surfaces, not global utilities. Keep their focus stack in a lower board-layer band so task popups can raise among themselves without covering terminal, right-dock expand, Quick Chat, file browser, workflow editor, or other utility windows that intentionally use the 10100+ band. +FNXC:TaskPopupLayer 2026-07-17-15:55: +Task-detail popups and Quick Chat are interaction-stack peers in this lower board-layer band: the +most recently mounted or pointer/focus-interacted peer is on top. Terminal, right-dock expand, +Files, New Task, and other utility surfaces continue to use the separate 10100+ utility band. */ let topZ = 10100; let taskDetailTopZ = 220; @@ -21,12 +23,12 @@ export function currentFloatingZ(): number { return topZ; } -/** Claim the front of the board/task-detail popup stack. Monotonic, session-length. */ +/** Claim the front of the task-popup peer stack (task details and Quick Chat). Monotonic, session-length. */ export function nextTaskDetailFloatingZ(): number { return ++taskDetailTopZ; } -/** Current top of the board/task-detail popup stack (read-only). */ +/** Current top of the task-popup peer stack (read-only). */ export function currentTaskDetailFloatingZ(): number { return taskDetailTopZ; }