Repository navigation
Session Info: no scrollbar, as Claude Code's panel; it still scrolls - #33118
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-7a7568197607c3cdfb81
Leo, 2026-11-03: "i mean there's literally no scrollbar in claude code it's just scrollable". Web: the body hides its scrollbar in both engines (as the session rail's list) and keeps its edge fades. Native: the list's scroll view has no vertical scroller. Gallery: scroller-none (chosen, with a play that scrolls it and checks it keeps no scrollbar width) and scroller-thumb (before). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-7a7568197607c3cdfb81
|
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)
Gallery before/after for
States
Pick other states with a 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); base red: the same failure on the base 9f04908; does not block Shipped in:
|
teamleaderleo
left a comment
There was a problem hiding this comment.
Review (claude-opus-5-5 medium subagent): SHIP at f8530f0
Review (subagent claude-opus-5-5 medium): SHIP at f8530f0
Visual verdict: no images attached; code verdict only [follow-up].
Checked: the web body hides its scrollbar in both engines and keeps overflow-y auto and the edge fades. The native edge fades run from SessionInfoClipView's geometry callbacks, not the scroller, so dropping followThin and the scroller is safe, and AppKit still scrolls by wheel and keyboard. The Swift test uses the real APIs and its geometry holds. The bun test (11/11 in session-info/) and the gallery play are sound, and check-scrollbars adds no hits in the changed files.
Follow-ups: [follow-up] the scroller-thumb comparison shows no thumb in older WebKit that lacks scrollbar-width, and only while scrolling under overlay scrollbars.
|
Found 6 test failures on Blacksmith runners: Failures
|
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Leo, 2026-11-03: "interestingly ive noticed that there's basically no thumb on the claude code session info section", then: "i mean there's literally no scrollbar in claude code it's just scrollable". Earlier: "the grabber is too close to the thumb scroll thing".
Session Info's scroll body now draws no scrollbar at all, as Claude Code's panel. It still scrolls by wheel, trackpad and keyboard, and the existing edge fades (#31741) still show that there is more. Nothing takes width at the right edge, so no thumb sits next to a section's grip or the trailing value column.
sessionInfo.css):.acpmux-session-info__bodyhides its scrollbar in both engines (scrollbar-width: none,::-webkit-scrollbar { display: none }), the same way the session rail's list does (threadMinimap.css).check-scrollbars.shlists it as an exception with its reason, plus the gallery's comparison frame.AgentPaneSessionInfoContent.swift): the list's NSScrollView setshasVerticalScroller = false(and dropsfollowThin). The edge-fade mask is unchanged.Gallery (
agent-pane.chat-inspector):scroller-noneis the chosen variant. Its play waits until a busy body overflows, checksscrollbar-width: noneand thatclientWidthis the full inner width (no reserved gutter), then scrolls it and expectsscrollTop > 0.scroller-thumbshows the old thin thumb for comparison.References (cmux-design-references):
claude/live/sidebar-session-info-draggable-sections,claude/live/session-info-environment-and-context-panel.Spec: leo-workspace
design/session-info.mdgains the rule "The body scrolls with no scrollbar at all" (separate notes PR).Tests
bun test src/agent-session/acpmux/session-info/sessionInfoScroller.test.ts: fails on base (the body keeps WebKit's scroller), passes on head.AgentPaneNativeSessionInfoTests.panelScrollsWithNoScrollbar: no vertical or horizontal scroller, the content width is the full frame, and the list scrolls.Observed / Not run
bun test src/agent-session/acpmux/session-info/passes (11/11).scripts/web-lint.shandprepush-gate.pypass.check-scrollbars.shreports no hits in the changed files; the hits it does report are already on base.Changelog
Changed: the Session Info panel scrolls with no scrollbar, as in Claude Code.
Agent session: agent session
🤖 Generated with Claude Code
Open in [code]smith · Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Removes the Session Info panel's scrollbar to match Claude Code, whose equivalent panel scrolls with no visible scrollbar. The body still scrolls by wheel, trackpad and keyboard, and its existing edge fades still indicate overflow. No scrollbar is drawn and none takes width, so nothing sits beside a section's grip or the trailing value column.
Applies to both engines: the web body hides its scrollbar via CSS (
scrollbar-width: noneand::-webkit-scrollbar { display: none }), and the native list's scroll view drops its vertical scroller. The gallery'sscroller-nonevariant is the chosen one;scroller-thumbshows the old thin thumb for comparison.Tests
check-scrollbars.shnow lists the session info CSS and gallery files as known exceptions with reasons.Written for commit f8530f0. Summary will update on new commits.