Skip to content

sidebar scrollbar always visible — should only appear when content overflows - #3249

Closed
lawrencecchen wants to merge 1 commit into
mainfrom
loader/issue-3241-sidebar-scrollbar-video
Closed

lawrencecchen wants to merge 1 commit into
mainfrom
loader/issue-3241-sidebar-scrollbar-video

Conversation

@lawrencecchen

@lawrencecchen lawrencecchen commented Apr 29, 2026 •

Copy link
Copy Markdown
Contributor

Addresses #3241

Generated by cmux-loader.

Codex final message:

Implemented the sidebar scrollbar fix with a narrow change in the workspace sidebar scroll setup:

  • Updated Sources/ContentView.swift in workspaceScrollArea’s SidebarScrollViewResolver callback:
    • scrollView?.autohidesScrollers = true
    • scrollView?.scrollerStyle = .overlay

Summary:

  • This should make the workspace sidebar scrollbar adopt native behavior (hidden until needed/interaction), removing the permanent track when content fits.

Verification performed:

  • ./scripts/reload.sh --tag loader-issue-3241-sidebar-scrollbar (failed: mkdir: /Users/runner/.cache/cmux: Operation not permitted)
  • HOME=/tmp/cmux-home ./scripts/reload.sh --tag loader-issue-3241-sidebar-scrollbar (failed: cannot resolve github.com while fetching prebuilt GhosttyKit)
  • HOME=/tmp/cmux-home CMUX_SKIP_ZIG_BUILD=1 ./scripts/reload.sh --tag loader-issue-3241-sidebar-scrollbar (failed same network/DNS issue resolving github.com)

Issue context:

Recorded videos:

  • None. Build/runtime environment could not complete a tagged launch/reload with network and cache access, so GUI capture wasn’t performed here.

Summary by cubic

Fixes #3241 by enabling native auto‑hiding, overlay scrollbars in the workspace sidebar. The scrollbar now stays hidden when content fits and appears on interaction or overflow.

Written for commit aafc1cb. Summary will update on new commits. Review in cubic

Summary by CodeRabbit

  • Bug Fixes
    • Improved sidebar scrollbar behavior to use overlay scrollers that automatically hide when not actively in use.

Generated by cmux-loader.
@vercel

vercel Bot commented Apr 29, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
cmux Ready Ready Preview, Comment Apr 29, 2026 0:33am
cmux-staging Building Building Preview, Comment Apr 29, 2026 0:33am

@coderabbitai

coderabbitai Bot commented Apr 29, 2026 •

Copy link
Copy Markdown

Caution

Review failed

Pull request was closed or merged during review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 86cd8b84-8416-422a-96eb-5403de259977

📥 Commits

Reviewing files that changed from the base of the PR and between 84bc711 and aafc1cb.

📒 Files selected for processing (1)
  • Sources/ContentView.swift

📝 Walkthrough

Walkthrough

The sidebar's ScrollView configuration now enables overlay scrollers and autohides the scroller UI through SidebarScrollViewResolver, while maintaining existing drag autoscroll attachment behavior.

Changes

Cohort / File(s) Summary
Sidebar Scroll Configuration
Sources/ContentView.swift
Configure NSScrollView with overlay scroller style and autohide behavior for the sidebar's main scroll view.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

Poem

🐰 Scrollers hide and dance with grace,
Overlay style takes their place,
The sidebar glides so smooth and clean,
The prettiest scroll I've ever seen! ✨

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description is missing key sections from the template: no manual testing verification, no demo video (though explained why), incomplete checklist items, and no review bot trigger comment included. Add explicit testing steps performed, include the review trigger block, and complete the checklist with status updates for the verification attempts made.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: configuring the sidebar scrollbar to use overlay style and autohide, making it appear only when content overflows.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch loader/issue-3241-sidebar-scrollbar-video

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
Review rate limit: 0/8 reviews remaining, refill in 59 minutes and 48 seconds.

Comment @coderabbitai help to get the list of available commands and usage tips.

@lawrencecchen

Copy link
Copy Markdown
Contributor Author

Closing this second dogfood attempt because Codex could not write cmux cache/DerivedData inside the sandbox, so it still could not reload or record before/after videos. Rerunning from a fresh branch with the sandbox writable dirs fixed in https://github.com/manaflow-ai/cmux-loader/pull/2.

@lawrencecchen
lawrencecchen deleted the loader/issue-3241-sidebar-scrollbar-video branch April 29, 2026 00:14
@greptile-apps

greptile-apps Bot commented Apr 29, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR fixes the workspace sidebar scrollbar always being visible by setting autohidesScrollers = true and scrollerStyle = .overlay on the underlying NSScrollView via the existing SidebarScrollViewResolver hook. The two-line change is consistent with identical settings applied to other scroll views in ContentView.swift (lines 5120–5121, 10999–11000).

Confidence Score: 5/5

Safe to merge — minimal, targeted, idiomatic change with no logic or security concerns.

Two-line addition using the same autohidesScrollers/scrollerStyle pattern already established in multiple other scroll views in the codebase. No new logic, no new state, fully idempotent on re-renders.

No files require special attention.

Important Files Changed

Filename Overview
Sources/ContentView.swift Adds autohidesScrollers = true and scrollerStyle = .overlay to the workspace sidebar scroll view resolver callback, matching the pattern used by other scroll views in the same file.

Sequence Diagram

sequenceDiagram
    participant SwiftUI as SwiftUI (workspaceScrollArea)
    participant Resolver as SidebarScrollViewResolver
    participant NSView as SidebarScrollViewResolverView
    participant ScrollView as NSScrollView (sidebar)

    SwiftUI->>Resolver: updateNSView(_:context:)
    Resolver->>NSView: resolveScrollView()
    NSView->>NSView: DispatchQueue.main.async
    NSView->>ScrollView: enclosingScrollView
    NSView->>ScrollView: autohidesScrollers = true
    NSView->>ScrollView: scrollerStyle = .overlay
    NSView->>ScrollView: dragAutoScrollController.attach(scrollView:)
Loading

Reviews (1): Last reviewed commit: "Address https://github.com/manaflow-ai/c..." | Re-trigger Greptile

This branch was successfully deployed

1 active deployment
Preview – cmux — aafc1cbb Deployed Apr 29, 2026 by vercel[bot]
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.

sidebar scrollbar always visible — should only appear when content overflows

1 participant