Skip to content

fix(cmux-next sidebar): the icon rail keeps its 48px column (it shared .acpmux-rail with the session rail) - #23012

Merged
teamleaderleo merged 2 commits into
feat-cmux-nextfrom
cmux/layout-pass-sidebar-rail
Oct 21, 2026
Merged

teamleaderleo merged 2 commits into
feat-cmux-nextfrom
cmux/layout-pass-sidebar-rail

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Layout pass, running list (full list in cmuxterm-hq knowledge/layout-pass.md):

Summary

The chats sidebar's icon rail and the chat's session rail (summary/SessionRail.tsx) both used the class .acpmux-rail. Where summary.css loads after the sidebar's styles.css (the pane's dev.tsx entry, and the gallery), the session rail's rules won:

  • its flex: 0 0 clamp(240px, 26%, 340px) column;
  • under 560px, its absolute 300px overlay.

So the 48px icon rail drew 268 to 300px wide, and the chat list was squeezed to 32 to 80px. The sidebar's rail is now .acpmux-sidebar-rail: in the markup, its rule in styles.css, the prototype's .proto-history hide rule, and the gallery anchor. The session rail keeps .acpmux-rail.

Before / after

Gallery agent-pane.session-sidebar / baseline. Measured rail x and width: before, 32/268 at 300 and 220/300 at 520; after, 0/48 at both.

Before After
300, dark
520, light

(The "No matching chats" line in both shots is a separate bug, fixed by #23002.)

Test

cd webviews && bun test test/sidebar-rail-css.test.tsx loads both sheets into happy-dom, renders the sidebar, and reads the icon rail's computed style.

  • Base (red commit e9c4f50): fails with ["stretch", "2px"] instead of ["center", "0px"] (the session rail's align-items and padding).
  • Head: passes.

Observed / Not run

  • Ran: the test above (red, then green). Also ran session-rail, chats-sidebar-empty, session-sidebar-preview and chat-rows-open-on-press (25 pass), oxfmt, oxlint, tsc (no errors in the changed files), check:{layers,type-scale,status-glyphs,system-blue,text-focus,dialog-keys,switch-fetches,browser-lanes} and prepush-gate.py. The stills come from the gallery dev server in Chromium.
  • Not run: the full bun run check (it's fleet-only on huge-blue; CI runs it) and the native app.

Changelog

Fixed: The chats sidebar's icon rail no longer stretches across the sidebar and squeezes the chat list.

Agent session: huge-blue

🤖 Generated with Claude Code

teamleaderleo and others added 2 commits October 21, 2026 05:40
…on rail's 240-340px column stops landing on it

Both rails were .acpmux-rail. Where summary.css loads after the sidebar's sheet (the pane, the
gallery), the session rail's clamp() column and its narrow-window overlay won: the icon rail
drew 300px wide and squeezed the chat list to 32-80px.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c2a-ee79-7910-9d76-ef0536b9880d&host=huge-blue
@teamleaderleo teamleaderleo added the risk:normal Risk tier (docs/ci/risk-tiers.md) label Oct 21, 2026
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

owner: 01a15c2a-ee79-7910-9d76-ef0536b9880d on huge-blue

@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Review 0d81a1f: HQ feed card · gallery before/after runs · checks

App of this head (app.zip, kept 1 day)

gh workflow run reload-build.yml -R manaflow-ai/cmux --ref feat-cmux-next -f tag=pr23012 -f ref=cmux/layout-pass-sidebar-rail -f platform=macos -f backend_mode=local

Unclear: web / react-apps-check failed: no known signature; failed step: Check webview test shards.

CI failed on 0d81a1f5dc (run 39551280638 attempt 1): 4 code, 1 unknown.

Job Verdict Why
web / react-apps-check (3) code a web test failed
web / react-apps-check (1) code a web test failed
web / react-apps-check (2) code a web test failed
web / react-apps-check (4) code a web test failed
web / react-apps-check unknown no known signature; failed step: Check webview test shards

Failures:

  • seen on other PRs chief-context-copy.test.ts chromium, Catppuccin Mocha, 300px: the context's Copy trails its label and covers no text: failed (job)
  • seen on other PRs chief-context-copy.test.ts chromium, Apple System Colors Light, 300px: the context's Copy trails its label and covers no text: failed (job)
  • seen on other PRs chief-context-copy.test.ts webkit, Catppuccin Mocha, 300px: the context's Copy trails its label and covers no text: failed (job)
  • seen on other PRs chief-context-copy.test.ts webkit, Apple System Colors Light, 300px: the context's Copy trails its label and covers no text: failed (job)
  • seen on other PRs composer-suggested-prompt.test.tsx nothing is suggested from another folder, another worktree, a merged PR, an old chat or a busy one: failed (job)
  • seen on other PRs composer-suggested-prompt.test.tsx a folder with a trailing slash is the same checkout: failed (job)
  • seen on other PRs composer-suggested-prompt.test.tsx a chat that knows its branch takes no PR from another branch: failed (job)
  • seen on other PRs composer-suggested-prompt.test.tsx a chat with turns gets no suggestion: failed (job)
  • seen on other PRs composer-location-strip.test.ts the chat composer at 420 px: the strip's marks line up with the prompt's edges: failed (job)
  • seen on other PRs composer-location-strip.test.ts the chat composer at 760 px: the strip's marks line up with the prompt's edges: failed (job)
  • ... 18 more in the job logs
Matched log lines
web / react-apps-check (3): (fail) chromium, Catppuccin Mocha, 300px: the context's Copy trails its label and covers no text [1987.92ms]
web / react-apps-check (1): (fail) the chat composer at 420 px: the strip's marks line up with the prompt's edges [1758.88ms]
web / react-apps-check (2): (fail) queued and steering prompts > the queue takes its own place in the stack: nothing is cut off or drawn over [1304.00ms]
web / react-apps-check (4): (fail) no description line on any Settings page is over 60 characters, in any language [15691.66ms]

Not re-run automatically: web / react-apps-check (3), web / react-apps-check (1), web / react-apps-check (2), web / react-apps-check (4), web / react-apps-check are not machine failures.

Written by scripts/ci/classify_failures.py (ci-failure-attribution.yml); signatures are its SIGNATURES table. A machine verdict is the runner's fault, not this PR's; yours means the failing file is one this PR changes, also red on main that main's latest full suite fails the same way, seen on other PRs that it failed on another pull request's run lately.

red: web / Web status; NEW: green on the base edf1ed0; do not merge until green; see lane-rules
red: web / react-apps-check; no finished base run on edf1ed0 to compare; do not merge until green; see lane-rules
red: web / react-apps-check (1); no finished base run on edf1ed0 to compare; do not merge until green; see lane-rules
red: web / react-apps-check (2); no finished base run on edf1ed0 to compare; do not merge until green; see lane-rules
red: web / react-apps-check (3); no finished base run on edf1ed0 to compare; do not merge until green; see lane-rules
red: web / react-apps-check (4); no finished base run on edf1ed0 to compare; do not merge until green; see lane-rules

CI fast guards failed on 0d81a1f5dc (https://github.com/manaflow-ai/cmux/actions/runs/39551280638). It does not block the merge; a red guard merged into main breaks it for every open PR.
The log named no failed step; see the run.

Agents: python3 scripts/ci/guard_attribution.py fix applies the mechanical fixes locally.

Tour of 0d81a1f5dc (run): no media. The tour did not run: only webview code changed (5 path(s)), which the gallery advisory run checks in Linux Chromium on the pull request (its artifact holds any captures); add the media-tour-mac label to tour it on a Mac.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Bead cx-hahjg created for this PR by the cmux coordinator.

@blacksmith-sh

blacksmith-sh Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Found 24 test failures on Blacksmith runners:

Failures

Test View Logs
src/pages/settings/rowSummary.test.tsx/rowSummary.test.tsx View Logs
src/pages/settings/rowSummary.test.tsx/rowSummary.test.tsx View Logs
test/agent-pane-adopted-tool-calls.test.ts/agent-pane-adopted-tool-calls.test View Logs
test/agent-pane-adopted-tool-calls.test.ts/agent-pane-adopted-tool-calls.test View Logs
test/agent-pane-column-edges.test.ts/agent-pane-column-edges.test View Logs
test/agent-pane-column-edges.test.ts/agent-pane-column-edges.test View Logs
test/agent-pane-queue-steer.test.ts/agent-pane-queue-steer.test View Logs
test/agent-pane-queue-steer.test.ts/agent-pane-queue-steer.test View Logs
test/agent-pane-stream-jitter.test.ts/agent-pane-stream-jitter.test View Logs
test/agent-pane-stream-jitter.test.ts/agent-pane-stream-jitter.test View Logs

...and 14 more test failures. View all on Blacksmith

Fix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

@teamleaderleo
teamleaderleo merged commit 3020a01 into feat-cmux-next Oct 21, 2026
@teamleaderleo
teamleaderleo deleted the cmux/layout-pass-sidebar-rail branch October 21, 2026 06:43
@github-actions

Copy link
Copy Markdown
Contributor

Shipped in:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk:normal Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant