Skip to content

Make desktop window controls follow standard behavior on each platform - #3336

Open
shomix wants to merge 1 commit into
mainfrom
shomix-p-fix-desktop-window-control
Open

Make desktop window controls follow standard behavior on each platform#3336
shomix wants to merge 1 commit into
mainfrom
shomix-p-fix-desktop-window-control

Conversation

@shomix

@shomix shomix commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

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.

@netlify

This comment has been minimized.

@github-actions

Copy link
Copy Markdown
Contributor

Here's a visual recap of what changed:

Visual recap

Open the full interactive recap

@builder-io-integration builder-io-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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)

Comment thread packages/desktop-app/src/main/ipc/window.ts
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.

2 participants