Skip to content

fix(app): style native scrollbars to match the theme#2473

Open
magic-peach wants to merge 1 commit into
different-ai:devfrom
magic-peach:fix/native-scrollbar-styling-2444
Open

fix(app): style native scrollbars to match the theme#2473
magic-peach wants to merge 1 commit into
different-ai:devfrom
magic-peach:fix/native-scrollbar-styling-2444

Conversation

@magic-peach

Copy link
Copy Markdown

Summary

Fixes #2444

The desktop app currently renders the raw OS scrollbar — square corners, flat, visually out of place against the app design, most noticeably in long conversations and thinking sections.

This adds global WebKit scrollbar styling in apps/app/src/app/index.css, matching the spec in the issue:

  • 8px wide (and 8px high for horizontal bars), always visible
  • pill-shaped thumb (border-radius: 9999px) with a subtle inset border for depth
  • transparent track and corner
  • thumb color comes from the slate alpha tokens (--slate-a6, --slate-a8 on hover), which the palette flips per theme — so it's a translucent dark gray on light surfaces and a translucent light gray on dark surfaces, rather than the issue's hardcoded rgba(255,255,255,…) which would only suit dark mode

Radix ScrollArea components draw their own scrollbars and no-scrollbar opt-outs hide theirs entirely; neither is affected by these rules.

Testing

  • pnpm build — clean; verified all five ::-webkit-scrollbar* rules are present in the emitted CSS bundle
  • bun test tests/ — 110 pass, 0 fail
  • CSS-only change; no runtime code paths touched

Could not capture a recording in this environment; the quickest manual check is opening any long conversation and comparing the scrollbar in both themes.

The app showed the raw OS scrollbar — square, flat, and jarring against
the app design, especially in long conversations. Style the WebKit
scrollbar globally: 8px wide, pill-shaped thumb, transparent track,
subtle inset border for depth. The thumb uses the slate alpha tokens,
which flip with the theme, so it reads as a translucent gray on both
light and dark surfaces. Custom ScrollArea components and no-scrollbar
opt-outs are unaffected.

Fixes different-ai#2444
@vercel

vercel Bot commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

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

Project Deployment Actions Updated (UTC)
openwork-landing Ready Ready Preview, Comment, Open in v0 Jul 4, 2026 1:18pm

@vercel

vercel Bot commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

@magic-peach is attempting to deploy a commit to the Different AI Team on Vercel.

A member of the Team first needs to authorize it.

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.

UI: Custom scrollbar styling — default scrollbar looks outdated

1 participant