From 521f5b5a5682b18f2d59cf95226fc203cd314240 Mon Sep 17 00:00:00 2001 From: Bilal Bakr <62337003+Bil0000@users.noreply.github.com> Date: Wed, 7 Oct 2026 19:34:41 +0300 Subject: [PATCH] fix(web): replace Lineage timers with Stop on hover (#16791) --- .../src/components/chat/ThreadDetailsControl.tsx | 1 + .../components/chat/ThreadRelationshipsControl.tsx | 14 ++++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/apps/web/src/components/chat/ThreadDetailsControl.tsx b/apps/web/src/components/chat/ThreadDetailsControl.tsx index f14a52c14496cafb2a3fdf8435fe03e8aad3a34e..0b83c931352206e2e3f3da8a7ec04583ac9b6710 100644 --- a/apps/web/src/components/chat/ThreadDetailsControl.tsx +++ b/apps/web/src/components/chat/ThreadDetailsControl.tsx @@ -20,6 +20,7 @@ import { ChevronDownIcon } from "lucide-react"; const parts = { row: THREAD_DETAILS_PANEL_ROW_CLASS, + "group-row": `${THREAD_DETAILS_PANEL_ROW_CLASS} hover:!bg-transparent dark:hover:!bg-transparent`, select: THREAD_DETAILS_PANEL_SELECT_ROW_CLASS, primary: THREAD_DETAILS_PANEL_SPLIT_PRIMARY_CLASS, secondary: THREAD_DETAILS_PANEL_SPLIT_SECONDARY_CLASS, diff --git a/apps/web/src/components/chat/ThreadRelationshipsControl.tsx b/apps/web/src/components/chat/ThreadRelationshipsControl.tsx index f56c1c92b5626a67e8aba137b5cbd8a65f2a435a..cd1265e46a60ec078fb8d78679918f3eb911b4af 100644 --- a/apps/web/src/components/chat/ThreadRelationshipsControl.tsx +++ b/apps/web/src/components/chat/ThreadRelationshipsControl.tsx @@ -388,6 +388,9 @@ export function ThreadRelationshipsPanel(props: { agent?.origin === "app_owned" && agent.startedAt && ["pending", "running", "waiting"].includes(agent.status); + const trailingVisibilityClass = canStop + ? "group-hover:opacity-0 group-focus-within:opacity-0 pointer-coarse:opacity-0 [@media(hover:none)]:opacity-0" + : ""; const threadTitle = relationshipThreadTitle({ title: node?.thread?.title ?? agent?.title ?? threadId, isSubagent, @@ -444,13 +447,13 @@ export function ThreadRelationshipsPanel(props: { carries status, so an agent with a known time shows only that. */} {agent && !failed && deriveSubagentElapsedMs(agent, 0) !== null ? ( ) : !isMergeTarget ? ( {threadRelationshipStatusLabel(status)} @@ -458,7 +461,10 @@ export function ThreadRelationshipsPanel(props: { ); return ( -
  • +
  • {isMergeTarget ? (
    @@ -528,7 +534,7 @@ export function ThreadRelationshipsPanel(props: { variant="ghost" disabled={node?.missing === true} onClick={() => openThread(threadId)} - part="row" + part={canStop ? "group-row" : "row"} /> } > -- 2.54.0