Highlight deep-linked thread replies#1699
Conversation
Why this mattersFor a human following a deeplink, opening the correct thread is only half of the navigation task. In a long thread, the reader still has to scan the replies to infer which specific message the sender intended to call out. Agents can query directly for an event ID, but humans need an immediate visual cue that connects the link they clicked to the relevant reply. Highlighting the target removes that ambiguity while keeping the surrounding thread context visible. One visual-detail note from the Slack comparison: Slack focuses the linked reply with a temporary outline rather than changing the reply's background color. This PR currently reuses Buzz's existing background-based route-target treatment so top-level and threaded deeplinks remain consistent. We can switch to an outline or refine the treatment if reviewers prefer closer Slack parity. |
Reuse the anchored-scroll target state so replies receive the same transient route highlight as top-level messages. Keep ordinary thread scroll targets unhighlighted and cover nested reply navigation with an end-to-end regression test. Co-authored-by: Aaron Goldsmith <aarong@squareup.com> Signed-off-by: Aaron Goldsmith <aarong@squareup.com>
f5008ba to
9cdaf22
Compare
Adversarial review follow-upThanks to the independent review, I made the following refinements before team review:
The optional visual observations remain unchanged: Buzz intentionally reuses its existing background pulse rather than Slack's outline, and the main timeline root can pulse alongside the targeted thread reply. Those are documented rather than expanded in this focused change. |
Description
Why this matters
Opening the correct thread is only half of navigation for a human reader. In a long thread, the reader otherwise has to scan replies to infer which message the sender intended to call out. Agents can query an event ID directly; humans need an immediate visual cue connecting the link they clicked to the relevant reply.
Research
Slack opens the relevant thread, brings the linked reply into view, and temporarily focuses it with an outline. This PR keeps the same transient behavior but reuses Buzz's existing background-based
route-target-highlight-fadetreatment so top-level and threaded deeplinks remain visually consistent. Closer outline parity can be considered separately if reviewers prefer it.Test Plan
pnpm build)Screenshots
Nested reply — highlight active (immediately after deeplink navigation):
Nested reply — highlight faded (after two seconds):
Known local hook limitations
The commit/push hooks also invoke unrelated repository-wide checks that could not complete locally: Flutter/Dart are not installed, Docker is not running for integration services, and the existing
desktop/src-tauri/src/managed_agents/readiness.rsexceeds the file-size limit by three lines. Relevant desktop validation above passed.