Skip to content

fix: macOS Tahoe window regression (pin CI runners, rebalance traffic lights)#95

Merged
RealZST merged 2 commits into
mainfrom
fix/macos-tahoe-window-regression
Jun 28, 2026
Merged

fix: macOS Tahoe window regression (pin CI runners, rebalance traffic lights)#95
RealZST merged 2 commits into
mainfrom
fix/macos-tahoe-window-regression

Conversation

@RealZST

@RealZST RealZST commented Jun 28, 2026

Copy link
Copy Markdown
Owner

Why

After v1.6.3, the macOS desktop app showed misplaced traffic-light buttons and a white frame around the window β€” but only on macOS 26 (Tahoe), and only for the released binary (cargo tauri dev and earlier releases looked fine).

Root cause is not a source change (the window config/layout/Tauri stack are byte-identical since v1.5.0). It's the runner:

  • runs-on: macos-latest is a floating label, and GitHub migrated it from macos-15 to macos-26 in June 2026 (staged rollout).
  • v1.6.3's arm64 desktop leg landed on macos-26, making it the first build linked against the macOS 26 SDK (codesign -dvvv on the installed app reports Runtime Version=26.5.0).
  • macOS 26 Tahoe gates window chrome on the linked SDK: a binary built with SDK β‰₯ 26 opts into the new Tahoe window appearance β†’ white frame + raised traffic lights. Binaries built with an older SDK (macos-15, or local CLT SDK 13.3 in dev) render in the legacy appearance and look correct.

Verified by patching a copy of the release binary's LC_BUILD_VERSION SDK from 26.5 β†’ 15.0 and re-signing: the appearance returned to normal, confirming the SDK field is the gate.

What changed

CI runner pins (stop the toolchain drifting between releases):

  • release.yml: desktop macos-latest β†’ macos-15; Windows CLI windows-latest β†’ windows-2025
  • pr-checks.yml: macos-latest β†’ macos-15 (match the release build env)
  • codeql.yml: macos-latest β†’ ubuntu-latest (only JS/TS is analyzed β€” no macOS toolchain needed)

Traffic light position:

  • tauri.conf.json: trafficLightPosition {16,12} β†’ {16,18}, tuned for the macos-15 (legacy) chrome that now ships. Since dev (CLT SDK 13.3) and the pinned macos-15 release both render legacy, the dev preview is now a faithful proxy.

Follow-up (not in this PR)

When macos-15 nears deprecation, or we decide to adopt the Tahoe design: switch the desktop runner back to macos-26, re-tune trafficLightPosition (the same y renders higher under SDK 26), and fix transparent/vibrancy so the new chrome shows frosted glass instead of a white frame.

RealZST added 2 commits June 28, 2026 21:10
macos-latest migrated to macos-26 (Tahoe) in June 2026; the new SDK made the
desktop build adopt Tahoe's window chrome (misplaced traffic lights + white
frame). Pin the desktop and PR-check runners to macos-15 and the Windows CLI
build to windows-2025 so the toolchain can't drift silently between releases.
CodeQL only analyzes JS/TS, so move it to ubuntu (faster, cheaper, no macOS).
Move trafficLightPosition from {16,12} to {16,18} so the top and left insets
read as balanced under the macos-15 (legacy) window chrome.
@RealZST RealZST merged commit 2f4394d into main Jun 28, 2026
3 checks passed
@RealZST RealZST deleted the fix/macos-tahoe-window-regression branch June 28, 2026 18:16
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