Skip to content

cmux-next sidebar: headers keep their layout on hover - #17591

Merged
teamleaderleo merged 2 commits into
feat-cmux-nextfrom
op-next-sidebar-merge-flicker
Oct 6, 2026
Merged

teamleaderleo merged 2 commits into
feat-cmux-nextfrom
op-next-sidebar-merge-flicker

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 6, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Hovering sidebar headers moved things around (cmux-b2's flicker sweep, findings 2 to 4). Per the stability rule, hover now only shows or hides controls in slots that are always there:

  • Group header: the edit, add and member-count slots are reserved at rest, so the name no longer narrows and re-truncates when the pointer enters.
  • Machine (Projects) header: the add button's slot is reserved whenever the section allows adding.
  • Titled section header: the chevron stays mounted and fades instead of switching isHidden.

The workspace row's close and badge swap (finding 1) waits for #17520, which changes that row's trailing layout.

Testing

  • SidebarHoverStabilityTests (committed red in fbb66c0 before the fix): a truncated group header and machine header keep their name frame when hovered; a titled section's chevron is never hidden, at alpha 0 at rest and 1 on hover.
  • Fleet build of this branch, captured on a capture Mac (captures in a comment).
  • check-no-godfiles passes locally. No new strings.

Changelog

  • Fixed: cmux-next sidebar header names no longer shift or re-truncate when the pointer moves over them.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.


Summary by cubic

Fixes sidebar header hover instability so header names no longer shift or re-truncate when the pointer enters.

  • Group headers reserve their edit, add, and member-count slots at rest; machine and titled section headers reserve their add button slots, so names keep their width across hover.
  • Titled section chevrons stay mounted and fade between alpha 0 and 1 instead of toggling isHidden, avoiding remount flicker.
  • Adds SidebarHoverStabilityTests covering name-frame stability and chevron fading.
  • The workspace row's close/badge swap on hover still waits on cmux-next sidebar: opt-in tab counts and a per-workspace tabs chevron #17520.

Written for commit 4acc822. Summary will update on new commits.

Review in cubic Turn on auto-fix

teamleaderleo and others added 2 commits October 6, 2026 09:21
cmux-b2's flicker sweep: a group or section header's hover controls
narrowed its name, and a titled section's chevron mounted on hover.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A group header reserves its edit, add and count slots and a machine
header its add slot, so hovering never re-truncates the name. A titled
section's chevron stays mounted and fades.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 6, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

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: manaflow-ai/cmux/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: be5e031f-23f7-4b2b-a6aa-5c9625232916

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
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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 commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Not verified: macOS jobs did not run: compile and app tests were skipped on 4acc822b55; ci-status is green without them.

CI passes on 4acc822b55 (run 37495272957 attempt 1).
macOS jobs did not run: compile and app tests were skipped: Fast static checks skipped (the macos job needs both to succeed). Re-run CI once they pass, before merging.

Written by scripts/ci/classify_failures.py (ci-failure-attribution.yml); signatures are its SIGNATURES table. A machine verdict is the runner's fault, not this PR's; yours means the failing file is one this PR changes, also red on main that main's latest full suite fails the same way.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Batch queue: green. Batch stack a850c9d6742b on feat-cmux-next 83058d8c627d with #17520 #17591. Fleet production build: job 26e3b6e270eabe154e4d271d (cmux-ci artifact 26e3b6e270eabe154e4d271d (job 26e3b6e270eabe154e4d271d, tag nb-local-20261006-163850-1)). heavy tier did not run on this branch (run); your PR's own checks are the tests. Validated this PR at 4acc822b5513.

Next: land it yourself with gh-merge-green on this receipt.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Group header hover, long name, narrow sidebar. Each strip is at rest, then hovered, then at rest again.

Before: the name is laid out at full width at rest and re-truncates when the hover controls appear, so the text moves under the pointer.

After: the header always reserves the control slots, so the name truncates the same way at rest and on hover.

@teamleaderleo
teamleaderleo merged commit 62fd9dd into feat-cmux-next Oct 6, 2026
60 of 66 checks passed
@teamleaderleo
teamleaderleo deleted the op-next-sidebar-merge-flicker branch October 6, 2026 16:57
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.

1 participant