Repository navigation
fix(web): keep hover timestamps available while commands run - #25685
BilalIrfanContact wants to merge 2 commits into
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
Calculate and render timestamp visibility apps/web/src/components/chat/MessagesTimeline.logic.ts, apps/web/src/components/chat/TimelineAssistantRows.tsx, apps/web/src/components/chat/MessagesTimeline.logic.test.ts |
The row model sets showAssistantTimestamp for a finished terminal assistant message whose response is still in progress. The assistant row renders timestamp-only metadata with copying disabled. Row equality compares the new flag. A regression test covers streaming and non-streaming replies. |
Priority:
Estimated code review effort: 2 (Simple) | ~10 minutes
Change: Bug fix · Severity of issue fixed: Low
Possibly related PRs
- pingdotgg/t3code#19203: Adds linkable timestamps to assistant rows, an area also changed by this PR.
Suggested reviewers: juliusmarminge, t3dotgg
Merge Risk: 
Minimal · up to b0828
-
The change is mergeable with no identified functional or availability risk.
Pre-merge checks: 
4
-
Full details: Title check
-
Explanation
The title "fix(web): keep hover timestamps available while commands run" matches the main change in the changeset: finished assistant replies keep their hover timestamp while a command in the same response is still running. It follows the conventional commit format and is specific, so it passes.
Full details: Description check
-
Explanation
The description covers the problem, the change, scope and approval, and verification. It links issue
#25466and states that the change is limited to timeline metadata visibility. The verification section lists a focused regression test, the 87 passing tests, a manual check in the dev web app, and a screen recording. The description does not follow the template's approval requirement fully. It gives a justification for a small, focused fix of an obvious bug but does not include the maintainer approval comment or a triaged issue link beyond the bug report. The description is mostly complete, so it passes.
Full details: Linked Issues check
-
Explanation
Issue
#25466requires every terminal assistant text message to show its hover timestamp, including the last message in a turn while a command runs. The whole-PR diff addsshowAssistantTimestampinMessagesTimeline.logic.ts. The flag is true when the message is terminal, its response is still active (assistantResponseStillInProgress), and the message is not streaming.AssistantTimelineRowinTimelineAssistantRows.tsxrendersAssistantMessageMetafor this flag whenshowAssistantMetais false.AssistantMessageMetarenders the timestamp only when!message.streaming. The fallback passesshowCopyButton={false}and omitsprojectedItem, so the copy button, fork button, and status badge stay hidden. The row-stability check includes the new flag, so row updates are not missed. Settled replies keep the existing relocatedassistant-metapath. Streaming replies keep their existing behavior. The PR summary reports a regression test for this case. I did not read the test file, so test coverage is taken from the summary.
Full details: Out of Scope Changes check
-
Explanation
The whole-PR diff changes three areas.
MessagesTimeline.logic.tsderives the new visibility flag and adds it to the stable-row comparison.TimelineAssistantRows.tsxadds a fallback branch that renders the existing metadata component with copy disabled. The focused test file adds a regression test. All changes support the timestamp visibility requirement from#25466. The change toisTerminalAssistantMessageonly refactors the existing expression forshowAssistantMetaand keeps its value. No unrelated product behavior or cleanup appears in the inspected hunks.
-
Finishing Touches
-
🧪 Generate unit tests (beta)
-
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Comment @coderabbitai help to get the list of available commands.
# Conflicts: # apps/web/src/components/chat/MessagesTimeline.logic.ts
|
closing at @StiensWout's request under Provide evidence for the changed behavior. Makes the hover timestamp visible on a finished assistant reply while a command continues. The only supplied visual artifact is a 23-second recording of the implemented behavior; sampled frames show the timestamp while sleep is running and after completion, with no baseline showing the disappearing timestamp. No clear before/after screenshots or baseline comparison is attached in the complete PR conversation. submission evidence: "Screen recording attached." Add a matching baseline showing the missing hover timestamp during a running command alongside the implemented result, with clear before/after screenshots. Keep the existing recording as supplementary interaction evidence. thanks for trying to help improve t3 code. if you think this closure was a mistake, please open a fresh pr addressing the requirement above, and link back to this one. |
Problem
A finished assistant message loses its hover timestamp while a command in the same response is still running. The timestamp only becomes available once the whole response ends.
Fixes #25466.
Change
Show the latest finished reply's timestamp while the response continues. Copy and fork controls stay hidden until the response finishes, and messages that are still streaming keep their existing behavior. This fixes web and desktop; mobile has no hover interaction and is unchanged.
Scope and approval
This is a small, focused fix for the obvious timestamp visibility bug reported in #25466. It changes only the timeline's metadata visibility and adds a focused regression test, with no unrelated cleanup or product changes.
Verification
MessagesTimeline.logic.test.tspass.vp run check:changed upstream/mainpassed: format, lint, both knip checks, affected-package typechecks, and all 87 focused tests. Full suites and builds remain for CI.t3code.25466.mp4