Repository navigation
cmux-next sidebar: pinned rows end where the other rows do (row trim) - #23478
Conversation
…e (failing) SidebarPinnedRowWidthTests still wanted the group header to end at the list's right inset; since #22733 every list row ends rowTrailingTrim short of it, as SidebarRowGutterTests learned in #23304. The pinned Home and App Store pills must end at the same place, and do not yet: they run 8 pt past the header at every density and width. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15d18-aabc-7850-af29-f0655b1d2a1a&host=cosmic-gray
#22733 ends every list row SidebarStyle.rowTrailingTrim short of the right inset, but a block row (the pinned Home and App Store) lays out its own items across the full row, so their pills ran 8 pt past the group header and the workspace rows. SidebarRegionMetrics gets a trailingTrim (0 by default), which the list's blocks set to the row trim; a block's list rows end that much short. The fixed bands outside the list keep their full width. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15d18-aabc-7850-af29-f0655b1d2a1a&host=cosmic-gray
|
Owned by subsession-visibility-2 on cosmic-gray · 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)
Not verified: macOS jobs did not run: compile and app tests were skipped on CI passes on Written by red: cmux-next checks (god files, concurrency, crash safety, l10n); NEW: Tour of Both apps run cmux-tui from 48cfc9b (tree 5715f67083f1): the merge base's own tree 077ab7e6aca3 was not published yet. Path-selected interactions
Core UI (before): DEGRADED — 19 ok, 1 unavailable
Screenshots (15)1. Launch
Screenshots (15)1. Launch
Screenshots (7)1. Launch
Screenshots (7)1. Launch Tours are data in |
|
Review (independent subagent, correctness first): SHIP at 02b3b9bac08fb39a9fb8b0b4e75cbd52d9e19d9b Traced the geometry for the test's .builtIn top section under the default look: the plain list branch, uncarded. The pinned pills now span inset to W − inset − trim, which is exactly the depth-0 group header's pill. The test correction still catches the original overflow, so it is a correction, not a loosening. SidebarListBlocks is built in one place; the bands outside the list keep trim 0. Two cosmetic leftovers, not blocking: a block's section header and app rows keep the full width, and drag.restFrame and the list-gap settle frame ignore the trim, as they have since #22733. |
|
Bead |
|
|
|
Fleet run at 02b3b9b (cmux-ci step 5d6cb492, aws-m4pro-9): SidebarPinnedRowWidthTests passes, all 12 cases. On base 74b91c1 it fails all 12 (fleet step d2caf693). The one red here, the cmux-next checks aggregator, comes from tests/test_guard_hooks_from_base.py hitting a maintenance.lock rmtree race in its temp-repo cleanup: a script-test flake this Swift-only diff does not touch. Merging. |
|
Shipped in:
|
















































The pinned Home and App Store rows end where the sidebar's other rows end. Since #22733 every list row stops
SidebarStyle.rowTrailingTrim(8 pt) short of the list's right inset. The pinned rows draw in a block row, which lays out its own items across the full width, so their pills ran 8 pt past the group header and the workspace rows. This is theSidebarPinnedRowWidthTestsred on feat-cmux-next.What changes
SidebarRegionMetrics.trailingTrim(0 by default): a region's list rows end that much short of its right edge. Cards and the tile and inline arrangements are unchanged.SidebarView+Sections) set it torowTrailingTrim. The fixed bands outside the list keep their full width.Tests
SidebarPinnedRowWidthTests(failing first, 3f4d310): the test wanted the group header to end at the inset, which has been wrong since cmux-next sidebar: hover follows the pointer, row pills stop short of the edge, the row card stands off its row #22733 (the same correction cmux-next tests: SidebarRowGutterTests expects the sidebar pill's trailing trim from #22733 #23304 made inSidebarRowGutterTests). It now expects the header at the trimmed edge, and still requires the pinned pills to match the header's span and radius at every density and width, before and after a resize. At the base the pills end 8 pt past the header in all 12 cases (36 issues in the sidebar sweep run).No capture: the change is 8 pt on two pinned rows' right edge, measured exactly by the test above; a native capture needs a fleet Mac, and the Mac queue is stalled right now.
Risk: low. One new metric, 0 everywhere except the list's blocks.
Agent session: cosmic-gray
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Fixes pinned Home and App Store rows in the cmux-next sidebar ending 8 pt past the other list rows, so all rows now stop together at
SidebarStyle.rowTrailingTrimshort of the right inset.The list's blocks now draw their rows
trailingTrimshort of the right edge via a newSidebarRegionMetrics.trailingTrim(0 everywhere except the list blocks); the fixed bands outside the list keep their full width. UpdatesSidebarPinnedRowWidthTests, which still asserted the pre-#22733 layout, to expect the group header at the trimmed edge and to keep checking the pinned pills match the header's span across all densities and widths.Written for commit 02b3b9b. Summary will update on new commits.