Skip to content

v2.25.3

Choose a tag to compare

@haxllo haxllo released this 12 Oct 16:34
· 157 commits to master since this release

Sharper dark mode groundwork, quieter glass, calmer updates

Opaque black and white modes now start life on an opaque surface, the glass layer stays parked when it should, resizes in liquid glass no longer flash black, stretch, or trail a frame behind, update pills stop nagging, and overlay corners are clipped to the panel curve.

Known issue: subpixel (ClearType) text is still inactive — Chromium falls back to grayscale once the WebView child carries a window region, and the region is currently what hides the square opaque corners. A DirectComposition hosting rework is planned to get both rounded corners and ClearType; until then text renders in grayscale.

What changed

  • Opaque surface from birth: black/white modes create the WebView on an opaque surface and seed it before any WebView environment exists, instead of trying to flip transparency later (which Chromium ignores).
  • Glass stays parked: resizes and first frames can no longer resurrect a hidden glass layer behind opaque panels.
  • Glass resizes without flashing: the refraction window and its buffers now live at max-panel size permanently, so a resize is one synchronous round-region call — no window resize, no swapchain resize, nothing to lag. Content rebuilds in place on a shared blur/displacement graph, the fill frame is an exact crop from the capture mirror (never a stretched old frame), and the capture session stays warm across hide/show so the glass lands fresh with the overlay.

Bug Fixes

  • Update pill lingering: the update notice now hides promptly instead of sticking around.
  • Up-to-date pill gone: a clean update check is fully silent now — no confirmation pill at all. Update and Retry pills still appear when they matter.
  • Overlay corners: the WebView child is clipped to the rounded panel curve with a 1px outward tuck, so no desktop slivers peek between the curves and no dark square corners poke out.

Commit Log

  • 255d288 feat(text): opaque WebView surface in opaque modes for ClearType
  • 93d6215 fix(overlay): transient up-to-date confirmation on update pill
  • ee9ad0a chore(text): log webview surface mode switches
  • 2e7363a feat(text): seed opaque WebView surface at spawn for ClearType
  • d6b0973 feat(text): opaque surface from birth, region-clipped silhouette
  • 718ddc6 fix(chrome): revert all-modes region again, restore drop shadow
  • 48166ec feat(chrome): round WebView child for opaque surfaces
  • 0ab6762 fix(glass): never resurrect parked layer on sync or first frame
  • 48f1802 fix(chrome): inflate WebView region under panel AA edge
  • 37c5ff2 chore(release): bump to v2.25.3
  • a18307c fix(glass): resize without flash — max-size layer, region-only sync

Binary