fix(win): keep caption controls outside app content - #543
Conversation
|
@rahul-vanyar is attempting to deploy a commit to the SupaMaus Team on Vercel. A member of the Team first needs to authorize it. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
Included review availability: Your plan provides up to 4 included reviews per hour; 2 remain after this review. 📝 WalkthroughWalkthroughChangesThe window chrome configuration now uses a shared platform helper. macOS retains inset title-bar settings. Windows and Linux use native chrome. Windows skin synchronization, delayed window display, and header drag-region styling were removed. Window chrome simplification
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to This change moves Windows and Linux caption controls to native operating-system chrome and removes obsolete renderer layout handling, while preserving macOS behavior and the existing acknowledgement contract. No actionable merge-blocking risk remains after normal checks and review. Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
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. Comment |
What changed
hiddenInsettraffic lights.titleBarOverlay, its skin-colour synchronization, and the delayed first-show handshake.The existing
desktop:skinIPC remains as a validated acknowledgement, so this does not break the renderer/preload contract introduced in #530.Why
Follow-up to #454 and #530. Recolouring the Windows caption overlay fixed the black block on light skins, but the overlay still occupies renderer space. Every current and future page must know its dimensions and reserve room or its actions can sit underneath the native minimize/maximize/close buttons.
Native Windows chrome puts caption controls outside renderer content, preventing that class of overlap structurally. The explicit trade-off is a standard Windows title bar instead of a frameless window.
How it was verified
pnpm exec vitest run electron/window-chrome.test.mjs electron/skin-overlay.test.mjs— 7/7 passed.pnpm check:electron— syntax-checked 70 Electron modules.pnpm typecheck— passed.pnpm build— passed.git diff --check— passed.pnpm testcounted 2,275 tests. The only failure wasserver/drivers/codex-catalog.test.ts; the same failure reproduces on untouched upstream commit7983055, so it is unrelated to this patch.Screenshots (UI changes)
Not attached. This replaces the Windows overlay with the operating system's native title bar; the platform mapping and renderer cleanup are covered by the focused tests and build checks above.
Checklist
pnpm typecheckandpnpm testpass locally (typecheck passes; one unrelated baseline test fails as documented above)dist-server/edits (it's build output)shell: true/ cmd.exe string-buildingSummary by CodeRabbit