镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

Fix sidebar and pane header alignment - #1409

Merged
mahanti merged 1 commit into
mainfrom
am-1020-minor-nits
Oct 20, 2026
Merged

mahanti merged 1 commit into
mainfrom
am-1020-minor-nits

Conversation

@mahanti

@mahanti mahanti commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

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:

  • Native desktop geometry: painted sidebar row/button now both 28px; header stays 40px with controls shifted up 1 CSS pixel. Visually accepted by Arjun.
  • Independent agent review completed; the WebKit overflow issue it found was fixed and rechecked.
  • Two new browser journeys (four Chromium/WebKit cases) cover status-bearing avatar centering against the painted row, Team/Solo activity spacing, closable profile headers, and fitting/overflowing tabs. Real layout is required; jsdom cannot detect baseline or scrollbar geometry. No browser cases removed.
  • 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

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>
@mahanti
mahanti requested a review from a team as a code owner October 20, 2026 15:31

@kalvinnchau kalvinnchau left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 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 > * {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 [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.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 [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.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 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.

@mahanti
mahanti requested a review from kalvinnchau October 20, 2026 16:38
@mahanti
mahanti merged commit dbb0a9d into main Oct 20, 2026
33 checks passed
@mahanti
mahanti deleted the am-1020-minor-nits branch October 20, 2026 18:30
wpfleger96 pushed a commit that referenced this pull request Oct 20, 2026
…-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
wpfleger96 added a commit that referenced this pull request Oct 20, 2026
…-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>
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.

2 participants