Repository navigation
cmux NEXT sidebar: one leading icon column, header chevrons on the trailing column - #27292
Conversation
…n (failing)
Leo 2026-10-28: "the alignment", "eg look at this alignment :(".
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-cc7a5f5f0583aa302e45
Leo 2026-10-28: "eg look at this alignment :(".
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-cc7a5f5f0583aa302e45
…g column
Leo 2026-10-28: "the alignment"; "i feel like this is misaligned checkmark :( can we
all audit the checkmarks and whatnot"; "eg look at this alignment :(".
- SidebarStyle.iconColumnCenterX: band glyphs (Home and the band's rows), a pinned row's
pin and a pinned group's pin center their ink on the column a workspace row's icon
centers on, and on the row's center line. They started their ink at the inset, so Home
sat 2 pt and the pin 5 pt left of the icons' center at every density.
- The status header's, chat history's, band section header's and machine header's (without
its +) chevrons center on the shared trailing column instead of their own insets.
- Tests: SidebarIconColumnTests (red at 80b6dee: Home 2 pt and the pin 5 pt off), and the
Home/pinned and pin-spacing tests now check the icon column instead of the ink start.
Agent-Session: https://cmux.com/deeplink/agent?id=aid-cc7a5f5f0583aa302e45
Sidebar-Look: Leo 2026-10-28 "the alignment"; "eg look at this alignment :("
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-cc7a5f5f0583aa302e45
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-cc7a5f5f0583aa302e45
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
|
Owned by an agent session · session |
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
red: cmux-next checks (god files, concurrency, crash safety, l10n); no finished base run on 9d8337e to compare; do not merge until green; see lane-rules |
|
Bead |
|
Found 7 test failures on Blacksmith runners: Failures
|
…olumn Review of #27292 (Codex gpt-6-astra): in the card look the region gives a section's rows no trailing trim, but the header subtracted the configured trim, so its chevron sat 4.5 pt (compact) right of its rows' marks. SidebarRegionLayout.itemTrailingTrim is the one rule both use. Test: SidebarIconColumnTests.aBandHeadersChevronCentersOnItsRowsColumn, every look. Sidebar-Look: Leo 2026-10-28 "the alignment" Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-cc7a5f5f0583aa302e45
…olumn Review of #27292 (Codex gpt-6-astra): in the card look the region gives a section's rows no trailing trim, but the header subtracted the configured trim, so its chevron sat 4.5 pt (compact) right of its rows' marks. SidebarRegionLayout.itemTrailingTrim is the one rule both use. Test: SidebarIconColumnTests.aBandHeadersChevronCentersOnItsRowsColumn, every look. Sidebar-Look: Leo 2026-10-28 "the alignment" Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-cc7a5f5f0583aa302e45
9da363c to
eea0ccb
Compare
Default changesThis pull request changes 3 defaults at
Signed off on this commit by Merge receipt: merged as Regenerate the snapshot with |
|
Review (codex gpt-6-astra high, fast; review-router): SHIP at eea0ccb The first pass at 35226d0 blocked on the card-look header chevron (it took a trailing trim that its rows don't). That's fixed at this head, and the re-review found no remaining defect. The fleet ran 12 sidebar suites at this head and all passed (step 22d7327609954036e338ddcb). The cmux-next swift test red is the base compile red in BrowserEntryRetirementTests.swift:43 from #27166, which also fails on unrelated PR runs; #27301 fixes it. |
|
The feat-cmux-next push run https://github.com/manaflow-ai/cmux/actions/runs/40848323510 at 89e5f8a failed: cmux-next checks (god files, concurrency, crash safety, l10n). |
|
Shipped in:
|
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Leo, 2026-10-28, on a screenshot of the top of the sidebar (Search, a ⊘ row, "+ New…", then a workspace row with an app icon): "the alignment". Earlier the same day, on glyphs: "i feel like this is misaligned checkmark :( can we all audit the checkmarks and whatnot". Later, on two blue unread dots beside two red (i) marks: "eg look at this alignment :(".
What changes
One leading icon column. A new token,
SidebarStyle.iconColumnCenterX(leading:), is the center of the oneiconBoxslot that starts at the row inset plus the pill inset. Every leading glyph centers what it draws on that column and on its row's center line:Before this PR, band glyphs and pins started their drawn ink at the inset instead of centering it. Measured on the fleet at the red commit, Home's glyph centered 2 pt and the pin 5 pt left of the workspace icons' center, at every density, in Minimal Mode on and off, and at both widths. Titles keep the one text column (
SidebarStyle.leadingTextX).Header chevrons on the trailing column. The status header, chat history, band section header and machine header (when it has no +) placed their chevrons with their own insets. Each one now centers on
SidebarStyle.trailingColumnFrame, the column that every row's dot, spinner and error mark and the group header's chevron already share. The band section header gets its items'trailingTrimso that its chevron lands on its rows' column.Trailing marks. On this base, the unread dot, the error (i) and Home's dot already share one center x in workspace and band rows. The new test confirms it, and also checks that each mark's art (dot, info, error, done) is centered in its box at 10, 20 and 30 px. The 2 pt drift on inner-tab dots that Leo's screenshot most likely shows was fixed by #26622 (landed 10-28), after which those dots share the trailing column.
Cloud mark. A machine mark already draws only while the sidebar lists more than one machine, and this Mac's rows draw none by default (
sidebar.showLocalMachineis off). That matches the "only where it tells local from cloud apart" rule, so it is unchanged.Audit, not changed here:
trailingbadge style: its unread badge chains left of the column.Takes back #23800 and Lawrence's 2026-10-28 "home and pinned are not aligned" commits (2cf09e1), in part. Their first-ink rule ("a pin's ink starts at the row inset") becomes "a leading glyph centers on the icon column", because Leo asked for one center x. Text columns are unchanged.
plans/cmux-next/sidebar-owner.mdis updated to the new rule.Capture
State
scripts/cmux-next/media/states/sidebar-icon-column.json: the showcase with the Debug row badge preview rows, so the sidebar shows unread dots (blue), needs-you dots (orange) and error (i) marks (red). These are the marks in Leo's "eg look at this alignment :(" screenshot. At this base they already share one trailing column, before and after. The showcase has no pinned rows, and the stills are at 1x, where Home's 2 pt move is 2 px.SidebarIconColumnTestscarries the measured leading change.Before at
698b3ef64cf0After at
35226d0a9a40(fleet build, capture mini, text checked for private data)Review
Codex gpt-6-astra, high, fast, through the review-router route (lane-place found no working review box). At 35226d0 it returned BLOCK: in the card look, the band header took the trailing trim that its card's rows don't, so its chevron sat 4.5 pt right of their marks. Fixed in eea0ccb (
SidebarRegionLayout.itemTrailingTrim, one rule for the rows and the header, tested in every look). The re-review at eea0ccb returned SHIP with no findings. After the fix, the 12 affected suites passed on the fleet at eea0ccb (step 22d7327609954036e338ddcb).Tests
SidebarIconColumnTests(new):HomePinnedRowAlignmentTestsandSidebarUniformRowSpacingTests.thePinCentersOnAnUnpinnedRowsIconColumnnow check the icon column instead of the ink start.Performance
No perf numbers: not a performance change. It adds no timers, observers or per-frame work, only layout math on the same layout passes.
Risk
risk:normal. A small, contained sidebar look change: leading glyphs and pins move by up to 5 pt to one center, and four header chevrons move onto the trailing column. Nothing changes in behavior, hit targets or state.Changelog
Observed / Not run
cmux-ci run --class light --script scripts/ci/package-test-lane.sh --ref 80b6deec9c53 --arg=suite --arg=Packages/macOS/CmuxNext --arg=SidebarIconColumnTests,HomePinnedRowAlignmentTests.SidebarIconColumnTestsfailed: Home 2 pt and the pin 5 pt off the icon column in all 12 cases.HomePinnedRowAlignmentTestspassed.d4c70d05133(the head's Swift tree; the later commit adds only the capture state JSON), 20 of 21 suites passed (fleet step ea7e9ad73910b6820b78014c):SidebarIconColumnTests,HomePinnedRowAlignmentTests,SidebarUniformRowSpacingTests,PinnedRowsLookLikeRowsTests,SidebarTrailingColumnTests,GroupHeaderTrailingTests,SidebarChatHistoryTests,HostGroupHeaderStatusTests,MachineIconTests,SidebarGroupRailAlignmentTests,SidebarNestedGroupAlignmentTests,SidebarPinnedRowWidthTests,SidebarDragHeaderTests,SidebarLayoutFoldTests,HomeUnreadBlueDotTests,SidebarGroupMembersAlignTests,SidebarMinimalModeTests,HandSizedLabelClippingTests,SidebarGroupHeaderEveryDensityTestsandSidebarRowTitleAndCloseTests.SidebarTrailingColumnGalleryTestsran no tests, as it also does at base698b3ef64cf(fleet step 49e75c20bcc040df3a4e2bab, where the other 19 suites pass).🤖 Generated with Claude Code
Agent session: agent session
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Aligns the sidebar's leading glyphs (band icons, pins, workspace icons) on one shared icon column and header chevrons on the shared trailing column, fixing the misalignment Leo reported in review.
SidebarStyle.iconColumnCenterX; leading glyphs now center their ink on the column instead of starting at the row inset, and on their row's center line.SidebarRegionLayout.itemTrailingTrim) so the chevron lines up with its marks in every look, the card look included.SidebarIconColumnTestscovering leading, trailing and header alignment across densities and looks, and updates the Home/pinned and pin-spacing tests to check the column instead of the ink start.Written for commit eea0ccb. Summary will update on new commits.