Repository navigation
Fix sidebar and pane header alignment - #1409
Conversation
Remove the inline-button baseline gap beneath selected sidebar rows, align Team working-badge spacing with Solo, and optically center header controls without changing the tab strip's scrollbar geometry. Co-authored-by: bmo <a7b504d9a2bfe905589e9ac237d7d8d023b8d10547060ec9618e6487b55d756c@buzz.block.builderlab.xyz> Signed-off-by: Arjun Mahanti <arjun@squareup.com>
kalvinnchau
left a comment
There was a problem hiding this comment.
🤖 Two findings on header geometry; the focus-ring regression should be addressed before merge.
|
|
||
| /* The painted band includes the outer rim above and excludes the separator | ||
| below. Center its controls one hairline above the layout box's center. */ | ||
| .panel-header > * { |
There was a problem hiding this comment.
🤖 [P2] Preserve keyboard focus-ring clearance
Keyboard-focus a 32px header action in the 40px conversation header, such as Channel members, Toggle shared sessions, or Channel actions. The 2px outline plus 2px offset previously fit exactly inside the clipping container; translating the control up 1px clips the top pixel of its focus ring. Chromium and WebKit measurements showed ring clearance changing from 0px with the translation disabled to −1px here. Remove the translation or adjust header/ring geometry to preserve the full outline, and add a ring-clearance regression check alongside the geometry assertion.
There was a problem hiding this comment.
🤖 We’ll fix the keyboard focus-ring clearance in a separate PR, including regression coverage. Keeping this PR focused on the sidebar and header alignment fixes.
| padding-inline: var(--space-1); | ||
| } | ||
|
|
||
| /* The painted band includes the outer rim above and excludes the separator |
There was a problem hiding this comment.
🤖 [P3] Scope the optical offset to headers with matching framing
This rule also moves headers that lack the rim/separator combination described here. .mediaReviewThreadHeading removes the separator and has no rim (src/features/messages/Messages.module.css:1209,1236), while .mediaViewer has no border (:1123). Source tracing indicates that the adjustment puts their controls respectively 1px and 0.5px too high; these media-header offsets were not runtime-measured. If retaining the adjustment, scope it to contexts with the assumed framing instead of every PanelHeader child.
There was a problem hiding this comment.
🤖 Thanks for flagging the framing differences. We’ll revisit the header framing scope alongside the focus-ring fix in a separate PR, keeping this PR focused on the alignment fixes.
…-sessions * origin/main: (23 commits) Add Marketplace tab and shared agent profile panels (#1411) fix: publish scoped typing indicators from conversation composers (#1435) feat: add configurable composer and pane focus shortcuts (#1418) perf(messages): reuse captured video opening frames on remount (#1437) FOR OCT 22: let agents clone and push their channel's repository (#1324) perf(relay): keep row profile map identity while new authors load (#1431) perf: avoid redundant relay channel derivation (#1412) Normalize dialog sizing, headers, spacing, and motion (#1403) Polish agent activity pills and popover actions (#1429) feat(agents): ask to resume claude and codex turns stopped by reload or quit (#1235) test(sign-out): join listed paths with / so the tests pass on Windows (#1247) fix(deps): remove distrusted emsign certificate roots (#1436) fix(plugins): distinguish usage and costs from agent activity (#1392) refactor(design-system): extract named Appearance palettes and revise plugin gradients (#1339) fix(channels): cancel inert activity popover opens (#1426) fix(codex): set up Codex in a dialog from the agent creation card, as Claude does (#1419) Add community-local settings (#1363) Fix sidebar and pane header alignment (#1409) Show recorded Codex scripts in Activity (#1413) fix(agents): restore emoji avatars in the agent avatar picker (#1404) ... # Conflicts: # crates/agent-controller/src/app_agent.rs
…-sessions * origin/main: (23 commits) Add Marketplace tab and shared agent profile panels (#1411) fix: publish scoped typing indicators from conversation composers (#1435) feat: add configurable composer and pane focus shortcuts (#1418) perf(messages): reuse captured video opening frames on remount (#1437) FOR OCT 22: let agents clone and push their channel's repository (#1324) perf(relay): keep row profile map identity while new authors load (#1431) perf: avoid redundant relay channel derivation (#1412) Normalize dialog sizing, headers, spacing, and motion (#1403) Polish agent activity pills and popover actions (#1429) feat(agents): ask to resume claude and codex turns stopped by reload or quit (#1235) test(sign-out): join listed paths with / so the tests pass on Windows (#1247) fix(deps): remove distrusted emsign certificate roots (#1436) fix(plugins): distinguish usage and costs from agent activity (#1392) refactor(design-system): extract named Appearance palettes and revise plugin gradients (#1339) fix(channels): cancel inert activity popover opens (#1426) fix(codex): set up Codex in a dialog from the agent creation card, as Claude does (#1419) Add community-local settings (#1363) Fix sidebar and pane header alignment (#1409) Show recorded Codex scripts in Activity (#1413) fix(agents): restore emoji avatars in the agent avatar picker (#1404) ... Co-authored-by: Will Pfleger <wpfleger@block.xyz> Signed-off-by: Will Pfleger <wpfleger@block.xyz>
Sidebar avatar rows could paint 30px of selection behind a 28px button, leaving the avatar visibly high. Make the select button block-level flex to remove that baseline gap, and give Team working badges the same trailing inset as Solo.
Align pane-header controls with the painted band between the outer rim and separator using a 1px optical adjustment. Preserve the existing tab-strip height and scrollbar inset so overflowing WebKit tabs stay aligned with header actions.
Validation:
pnpm design:test --maxWorkers=1: 26 files / 163 tests passed. Higher-concurrency attempts hit the existing 5-second CSS-compilation test deadline under host load; no deadlines or assertions were changed.pnpm design:build(including design TypeScript),pnpm design:check, and mandatory commit/push hooks passed. The first push hit the existing 30-second runtime integration-test deadline under host load; the unchanged commit passed on a serial-worker rerun. No hooks, timeouts, or assertions were modified.Failure evidence: native selected-row height changed from 30px to 28px, matching the unchanged 28px button. The intermediate WebKit header implementation shifted tab inset from 3px to 1px on overflow; the final implementation preserves 3px in both states.
Broad browser/native suites are deferred to CI. Fixture screenshots are saved locally; GitHub attachment upload is unavailable in this tool session.
buzz-review-completed