cmux-next sidebar: an 8 pt margin above the window's bottom edge
Leo: the sidebar's bottom (the account row and the last list rows) sits too close to the window's bottom edge, and the scroller touches it.
Change
SidebarStyle.bottomInset (Metrics.space4, 8 pt) is a margin under the pinned footer section in SidebarView.layoutBands. Everything above it stacks as before: the band below the list, the profile row, the update and notice cards, and the list with its scroller. So the whole bottom moves up by 8 pt and the list loses 8 pt of height.
This matches the chat side: composer-polish ends the transcript 8 px above the composer (DOCK_GAP = 8) and adds 10 px under the composer's footer row, both as plain px in the webview CSS. The sidebar uses the 8 pt grid step.
Commits: the first adds SidebarBottomInsetTests (red), the second adds the margin.
Verification
SidebarBottomInsetTests: the footer section and the list's frame end at least 8 pt above the bottom. Runs on CI (the Swift test job waits on base's web-bundles red, #22649). Not run locally (no Mac builds on this machine).- No screenshot yet.
Agent session: cosmic-gray
🤖 Generated with Claude Code
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Adds an 8 pt margin under everything the sidebar draws so the account row, the last list rows, and the scroller no longer sit on the window's bottom edge.
SidebarStyle.bottomInset(Metrics.space4) pins the footer section 8 pt above the bottom inlayoutBands; everything else stacks above it as before, so the list loses 8 pt of height.- The empty-footer case (no band below the list, no profile footer) also keeps the inset, so the Search button stays 8 pt above the bottom edge.
- Matches the chat side's composer gap and uses the same 8 pt grid step.
- Adds
SidebarBottomInsetTestsasserting the footer section and the list end at least 8 pt above the bottom.