From 6594a69f4a9f668fafbab2f146b9794dd143f966 Mon Sep 17 00:00:00 2001 From: iamnbutler Date: Thu, 22 Oct 2026 12:26:39 -0400 Subject: [PATCH] fix(ui): mark a group edited when any of its messages was edited, and label the hovered edit time --- packages/ui/src/components/timeline/timeline.tsx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/ui/src/components/timeline/timeline.tsx b/packages/ui/src/components/timeline/timeline.tsx index 49f0e3e9..1752d3f0 100644 --- a/packages/ui/src/components/timeline/timeline.tsx +++ b/packages/ui/src/components/timeline/timeline.tsx @@ -671,11 +671,17 @@ function frame( let meta = active ? group.rows.find(row => row.uid === active) ?? turn?.final : group.rows.at(-1) ?? turn?.final; - let edited = meta?.edited; + // Unhovered, the byline speaks for every message in the group, so any edit marks it. + let edited = active + ? meta?.edited + : [...group.rows, turn?.final].reduce( + (at, row) => row?.edited && row.edited > (at ?? 0) ? row.edited : at, + undefined, + ); let stamp = meta?.ts ?? group.ts; let date = timeFmt.format(stamp * 1000); let title = exactFmt.format(stamp * 1000); - let edit = edited && (active ? exactFmt.format(edited * 1000) : "edited"); + let edit = edited && (active ? `edited ${exactFmt.format(edited * 1000)}` : "edited"); let editTitle = edited ? exactFmt.format(edited * 1000) : undefined; let selection = meta?.agent; let agent = agentLabel(selection);