fix(web): stop settle controls overlapping the status label - #4574
Conversation
The sidebar card row revealed its Snooze/Settle overlay on focus-within. A mouse click leaves the Settle button focused, so once the pointer left the row the overlay stayed pinned while the status label -- which only hides on row hover -- faded back in underneath it, printing "Working" over "Settle" (easy to hit when settling fails and you move over to dismiss the toast). Reveal on focus-visible instead, matching the compact row variant, and hide the status label while focus is inside the overlay so keyboard focus still cross-fades cleanly.
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
ApprovabilityVerdict: Approved d889541 CSS-only fix that changes focus handling from You can customize Macroscope's approvability policy. Learn more. |
…verlap-status # Conflicts: # apps/web/src/components/SidebarV2.tsx
Dismissing prior approval to re-evaluate d889541
## What's Changed * fix(web): stop settle controls overlapping the status label by @ipanasenko in pingdotgg/t3code#4574 * fix: normalize app icon glyph sizing by @t3-code[bot] in pingdotgg/t3code#5202 * fix(server): surface cloudflared FTL/PNC relay logs as warnings, not debug by @arhxam in pingdotgg/t3code#5076 ## New Contributors * @t3-code[bot] made their first contribution in pingdotgg/t3code#5202 **Full Changelog**: pingdotgg/t3code@v0.0.32-nightly.20260801.974...v0.0.32-nightly.20260801.976 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.32-nightly.20260801.976
Problem
Settling a thread that can't be settled leaves a broken-looking row: the status label renders on top of the Snooze/Settle controls.
Repro: click Settle on a newly created working thread.
Note
Fix settle controls overlapping the status label in
SidebarV2RowIn SidebarV2.tsx, the action buttons and status label visibility now toggle on
:focus-visibleor hover instead of:focus-within. Previously, clicking a button with a mouse would keep the action buttons pinned visible after the pointer left, because:focus-withinfires on any focus. Switching tohas-[:focus-visible]restricts the pinned state to keyboard navigation, so mouse clicks no longer cause the controls to overlap the status label.Macroscope summarized d889541.
Note
Low Risk
Tailwind class changes only in SidebarV2 card row hover/focus styling; no API or business logic.
Overview
Fixes sidebar card thread rows where Snooze/Settle stayed pinned over the status text after a mouse click (e.g. failed settle on a working thread).
The status slot now uses
has-[:focus-visible]instead offocus-withinon the action container and matchinggroup-has-[:focus-visible]on the status label, so hover still shows controls but post-click focus does not keep them in the in-flow “hover” layout. Keyboardfocus-visiblebehavior is unchanged.Reviewed by Cursor Bugbot for commit d889541. Bugbot is set up for automated code reviews on this repo. Configure here.