Skip to content

fix: crisp text at every UI scale and restore scrolling in every view - #19

Merged
b404dev merged 1 commit into
mainfrom
fix/crisp-ui-scale
Sep 4, 2026
Merged

b404dev merged 1 commit into
mainfrom
fix/crisp-ui-scale

Conversation

@b404dev

@b404dev b404dev commented Sep 4, 2026

Copy link
Copy Markdown
Owner

Summary

Two regressions reported after 0.1.18.

Blurry UI. The Text & UI scale preference was applied with transform: scale() on the shell (since 0.1.16). A transform stretches the already-rendered raster, so every non-integer scale blurs glyphs, and it forces the whole app into a composited layer, which on macOS drops subpixel text antialiasing even at 100%. The scale is now applied with CSS zoom, which re-lays out the subtree at the chosen size. WebKit (WKWebView and WebKitGTK) has supported zoom for years. Verified with 4× magnified captures at 100% and 120%: the transform build shows soft glyph edges at 120%, the zoom build is crisp at both.

Scrolling. The shared .workspace > section panel rule set overflow: hidden with higher specificity than each view's overflow: auto, so History, Stats, Reviews, Dependencies, Themes, and Settings could not be wheel-scrolled. Panels now default to overflow: auto; only Code, Security, Analysis, and Logs (which scroll internally) clip. Verified per view by computed overflow and scroll movement in Chrome.

Verification

  • vitest, vite build, and the Selenium smoke suite pass.

Apply the Text & UI scale preference with CSS zoom instead of a transform.
The transform stretched the rendered raster, which blurred glyphs at any
non-integer scale, and forced the whole shell into a composited layer that
lost subpixel text antialiasing even at 100%. zoom re-lays out the subtree at
the chosen size.

The shared workspace panel rule set overflow: hidden with higher specificity
than each view's own overflow: auto, so History, Stats, Reviews,
Dependencies, Themes, and Settings could not be scrolled. Panels now scroll
by default and only the views with internal scroll regions clip.
@b404dev
b404dev merged commit 1567388 into main Sep 4, 2026
1 check passed
@b404dev
b404dev deleted the fix/crisp-ui-scale branch September 4, 2026 14:20
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.

1 participant