From 97ea7e50f8d936a14f89fd43740f9fb59b69fed8 Mon Sep 17 00:00:00 2001 From: Dotta Date: Fri, 24 Apr 2026 08:57:08 -0500 Subject: [PATCH] Revert raw transcript timestamp tooltips Co-Authored-By: Paperclip --- .../transcript/RunTranscriptView.test.tsx | 59 +------------------ .../transcript/RunTranscriptView.tsx | 23 +------- 2 files changed, 5 insertions(+), 77 deletions(-) diff --git a/ui/src/components/transcript/RunTranscriptView.test.tsx b/ui/src/components/transcript/RunTranscriptView.test.tsx index e1a869caa34..41f635d2b3f 100644 --- a/ui/src/components/transcript/RunTranscriptView.test.tsx +++ b/ui/src/components/transcript/RunTranscriptView.test.tsx @@ -1,32 +1,11 @@ -// @vitest-environment jsdom +// @vitest-environment node -import { act, type ReactNode } from "react"; -import { describe, expect, it, vi } from "vitest"; +import { describe, expect, it } from "vitest"; import { renderToStaticMarkup } from "react-dom/server"; -import { createRoot, type Root } from "react-dom/client"; import type { TranscriptEntry } from "../../adapters"; import { ThemeProvider } from "../../context/ThemeContext"; import { RunTranscriptView, normalizeTranscript } from "./RunTranscriptView"; -// eslint-disable-next-line @typescript-eslint/no-explicit-any -(globalThis as any).IS_REACT_ACT_ENVIRONMENT = true; - -function render(ui: ReactNode) { - const container = document.createElement("div"); - document.body.appendChild(container); - const root: Root = createRoot(container); - act(() => { - root.render(ui); - }); - return { - container, - unmount: () => { - act(() => root.unmount()); - container.remove(); - }, - }; -} - describe("RunTranscriptView", () => { it("keeps running command stdout inside the command fold instead of a standalone stdout block", () => { const entries: TranscriptEntry[] = [ @@ -131,38 +110,4 @@ describe("RunTranscriptView", () => { expect(html).toMatch(/]*>posted issue update<\/li>/); expect(html).not.toContain("result"); }); - - it("adds timestamp and age tooltip to raw mode labels lazily on hover", () => { - vi.useFakeTimers(); - vi.setSystemTime(new Date("2026-03-12T00:03:00.000Z")); - const { container, unmount } = render( - - - , - ); - try { - const label = container.querySelector("span[data-timestamp]"); - expect(label?.textContent).toBe("stdout"); - expect(label?.getAttribute("title")).toBeNull(); - - act(() => { - label?.dispatchEvent(new MouseEvent("mouseover", { bubbles: true })); - }); - - expect(label?.getAttribute("title")).toContain("Timestamp:"); - expect(label?.getAttribute("title")).toContain("Ago: 3m ago"); - } finally { - unmount(); - vi.useRealTimers(); - } - }); }); diff --git a/ui/src/components/transcript/RunTranscriptView.tsx b/ui/src/components/transcript/RunTranscriptView.tsx index b20deeae374..fee3a561e89 100644 --- a/ui/src/components/transcript/RunTranscriptView.tsx +++ b/ui/src/components/transcript/RunTranscriptView.tsx @@ -1,8 +1,7 @@ -import { useMemo, useState, type MouseEvent as ReactMouseEvent } from "react"; +import { useMemo, useState } from "react"; import type { TranscriptEntry } from "../../adapters"; import { MarkdownBody } from "../MarkdownBody"; -import { timeAgo } from "../../lib/timeAgo"; -import { cn, formatDateTime, formatTokens } from "../../lib/utils"; +import { cn, formatTokens } from "../../lib/utils"; import { Check, ChevronDown, @@ -137,18 +136,6 @@ function truncate(value: string, max: number): string { return value.length > max ? `${value.slice(0, Math.max(0, max - 1))}…` : value; } -function formatRawEntryTimestampTooltip(ts: string): string { - if (Number.isNaN(new Date(ts).getTime())) return ts; - return `Timestamp: ${formatDateTime(ts)}; Ago: ${timeAgo(ts)}`; -} - -function handleRawTimestampLabelHover(event: ReactMouseEvent) { - if (event.currentTarget.title) return; - const ts = event.currentTarget.dataset.timestamp; - if (!ts) return; - event.currentTarget.title = formatRawEntryTimestampTooltip(ts); -} - function humanizeLabel(value: string): string { return value .replace(/[_-]+/g, " ") @@ -1378,11 +1365,7 @@ function RawTranscriptView({ "grid-cols-[auto_1fr]", )} > - + {entry.kind}