Skip to content

fix(web): stop settle controls overlapping the status label - #4574

Merged
maria-rcks merged 2 commits into
pingdotgg:mainfrom
ipanasenko:fix/settle-controls-overlap-status
Aug 1, 2026
Merged

fix(web): stop settle controls overlapping the status label#4574
maria-rcks merged 2 commits into
pingdotgg:mainfrom
ipanasenko:fix/settle-controls-overlap-status

Conversation

@ipanasenko

@ipanasenko ipanasenko commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

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.

image

Note

Fix settle controls overlapping the status label in SidebarV2Row

In SidebarV2.tsx, the action buttons and status label visibility now toggle on :focus-visible or 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-within fires on any focus. Switching to has-[: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 of focus-within on the action container and matching group-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. Keyboard focus-visible behavior is unchanged.

Reviewed by Cursor Bugbot for commit d889541. Bugbot is set up for automated code reviews on this repo. Configure here.

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.
@coderabbitai

coderabbitai Bot commented Jul 26, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: b765c082-1589-401d-ab48-fb0ed9f66633

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:S 10-29 changed lines (additions + deletions). labels Jul 26, 2026
@ipanasenko
ipanasenko marked this pull request as ready for review July 26, 2026 13:29
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Jul 26, 2026
@macroscopeapp

macroscopeapp Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved d889541

CSS-only fix that changes focus handling from focus-within to focus-visible to prevent settle controls from overlapping the status label after mouse clicks. Clear intent, limited scope, no runtime logic changes.

You can customize Macroscope's approvability policy. Learn more.

…verlap-status

# Conflicts:
#	apps/web/src/components/SidebarV2.tsx
@macroscopeapp
macroscopeapp Bot dismissed their stale review August 1, 2026 10:34

Dismissing prior approval to re-evaluate d889541

@maria-rcks
maria-rcks merged commit 78eb3ec into pingdotgg:main Aug 1, 2026
17 checks passed
@ipanasenko
ipanasenko deleted the fix/settle-controls-overlap-status branch August 1, 2026 20:02
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Aug 1, 2026
## 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
aorwall pushed a commit to aorwall/t3code that referenced this pull request Aug 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S 10-29 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants