镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

Highlight an already-open thread tab when reopening it - #1050

Merged
kalvinnchau merged 1 commit into
mainfrom
morganm/thread-tab-flash
Oct 14, 2026
Merged

kalvinnchau merged 1 commit into
mainfrom
morganm/thread-tab-flash

Conversation

@morgmart

Copy link
Copy Markdown
Contributor

What this does

Opening a thread that already has a tab briefly highlights that tab, including when it is already selected. Repeated openings restart the cue, so the app visibly answers “it’s right here” instead of appearing to do nothing.

New tabs, ordinary tab switching, history restoration, and retained-tab remounts do not flash. This first version covers thread openings from conversations; sidebar activity and navigation-only openings are unchanged.

How it works

The existing thread-tab owner recognizes a repeated opening. The shared navigation-tab control paints the cue using existing neutral pressed colors and motion tokens, reveals an overflowed tab without changing focus, and removes the cue when its animation finishes. Only the decorative layer restarts—not the tab, its thread reader, or its reply draft. Reduced motion holds the tint briefly and removes it without fading.

Shared guidance, the component catalog, and the interactive tab specimen document the behavior.

Demo

Shared-tab specimen, light mode. This animation uses controlled playback of the actual shared cue; it is not a real community recording.

Existing thread tab briefly highlights and returns to its selected fill

Verification

  • Morgan tried the local desktop preview and confirmed the treatment on October 13. Acceptance was on the pre-sync trial; the later update preserves the cue and incorporates current main’s tab shortcuts.
  • Independent product/UX, design-system, architecture, runtime, and test-honesty reviews completed. Removed an unnecessary delayed-root-resolution trigger to keep history restoration quiet; added ordinary-selection coverage.
  • Final owner checks: 44 tests across thread-tab state, workspace integration, and pane behavior, including current main’s tab-switching coverage.
  • Full thread-history browser file: 22 passed across Chromium and WebKit on the final working tree over 2caaffe25. The existing real-app reopen journey now observes painted feedback and animation completion; no browser cases were added or removed.
  • Regression proof: disabling the reopen trigger failed both integration cases; disabling the cue’s animation failed the browser case in both engines; restoring each owner passed. Source was restored byte-for-byte.
  • Earlier trial: design types, guards, build, and 160 design-system tests passed; light/dark, narrow/intermediate/wide, enlarged-text, keyboard, pointer, and reduced-motion checks were exercised in bounded browser diagnostics.

The initial push hook hit load-sensitive timeouts and menu-interaction failures with its default concurrency. All 169 tests across the four failing files passed separately with two workers; the complete required push hook subsequently passed with that existing worker limit and unchanged assertions/timeouts.

Hosted CI supplies broad validation. Packaged native acceptance of the latest main integration, exhaustive overflow/narrow host combinations, and sidebar-only cue behavior are not established by this PR. Kept as draft pending hosted checks; no full local scan was run.

@morgmart
morgmart marked this pull request as ready for review October 14, 2026 04:16
@morgmart
morgmart requested a review from a team as a code owner October 14, 2026 04:16

@kalvinnchau kalvinnchau left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 No actionable findings in the code-only review of 58922b9 against merge base 2caaffe. Reviewed reopening behavior, lifecycle and security boundaries. No tests or browser/native checks were run. Required CI was reported failing with unresolved WebKit failures; their relationship to this change is unestablished. Resolve those failures before merging. This is not an approval.

Keep repeated conversation openings visible without remounting tabs or drafts. Use the shared navigation-tab paint layer and preserve history, selection, and reduced-motion behavior.

Co-authored-by: Carl (AI agent) <goose@block.xyz>
Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>
@morgmart
morgmart force-pushed the morganm/thread-tab-flash branch from 58922b9 to a13908e Compare October 14, 2026 21:00
@kalvinnchau
kalvinnchau merged commit 8e1ac1f into main Oct 14, 2026
33 checks passed
@kalvinnchau
kalvinnchau deleted the morganm/thread-tab-flash branch October 14, 2026 21:52
johnmatthewtennant added a commit that referenced this pull request Oct 15, 2026
…-drag

* origin/main: (34 commits)
  fix(channels): resolve template agents from ready inventory (#922)
  [buzz-app] Fit uploaded videos to the relay's 4K envelope and name video rejections (#1129)
  feat(github): reveal the PR comment a link points at (#947)
  fix(messages): stop WebKit freeze from muted composer video previews (#1143)
  test(browser): fix route-unroute and virtua-hold webkit flakes (#1149)
  test(browser): let dnd-kit see its first resize before text shrinks (#1150)
  fix(previews): keep a hovered preview through scroll anchoring (#1138)
  Unify owned agent profile panels (#1083)
  feat(agents): import old Buzz teams from the Teams tab (#985)
  Mark Me chats as personal in the session description for remote agents (#1058)
  feat(messages): optional way to open buzz message links in a thread tab (#1113)
  Distinguish thread originals and tighten conversation spacing (#929)
  fix(buzz-mcp): page channel reads past the relay limit (#1131)
  fix(inbox): show a session's top-level timeline as one conversation (#1094)
  feat: reorder sidebar groups by dragging their headers (#1118)
  fix(avatars): request the cached relay thumbnail at every avatar site (#1054)
  fix(messages): soften quote styling and tighten spacing (#1098)
  fix(emoji): shrink and raise inline custom emoji (#1097)
  fix: follow host theme in media review chrome (#1117)
  Highlight an already-open thread tab when reopening it (#1050)
  ...

Signed-off-by: John Tennant <jtennant@block.xyz>
Co-authored-by: Claude Worker <f425b86c3b780d43f8d9cf1802429d04dd985bf92eac44fca9468b5ad3887c5e@buzz.block.builderlab.xyz>

# Conflicts:
#	src/features/channel-navigation/ChannelSidebarDnd.tsx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants