Make desktop window controls follow standard behavior on each platform - #3336
Make desktop window controls follow standard behavior on each platform#3336shomix wants to merge 1 commit into
Conversation
This comment has been minimized.
This comment has been minimized.
|
Here's a visual recap of what changed: Open the full interactive recap |
There was a problem hiding this comment.
Builder reviewed your changes and found 1 potential issue 🟡
Review Details
Code Review Summary
PR #3336 replaces the generic desktop maximize command with a platform-aware toggleWindowMode flow. The main process correctly uses fullscreen APIs on macOS and maximize/restore APIs on Windows and Linux, and the IPC channel, preload bridge, renderer typings, labels, and call sites are consistently updated. Removing the obsolete maximize-state query/broadcast plumbing is also consistent with the new stateless control, and the added unit tests cover the basic platform branches.
Risk assessment: Standard. The main concern is a timing edge case in the macOS native fullscreen transition:
- 🟡 MEDIUM — The fullscreen toggle does not serialize rapid repeated requests, so two quick clicks can issue the same transition rather than enter then leave fullscreen.
The targeted desktop window tests and typecheck passed during agent review. The change is Electron-only; browser visual verification was attempted but could not be completed because the Electron shell is not reachable from the web dev server and browser automation tools were unavailable in executor sessions.
🧪 Browser testing: Will run after this review (PR touches UI code)

The desktop window control now enters fullscreen on macOS. On Windows and Linux, it maximizes the window and restores it when pressed again. This makes the app feel familiar on every supported desktop platform.