diff --git a/ui/desktop/src/main.ts b/ui/desktop/src/main.ts index 5bcecd18..ecf3fe74 100644 --- a/ui/desktop/src/main.ts +++ b/ui/desktop/src/main.ts @@ -868,6 +868,10 @@ const createChat = async (app: App, options: CreateChatOptions = {}) => { trafficLightPosition: process.platform === 'darwin' ? { x: 20, y: 16 } : undefined, vibrancy: process.platform === 'darwin' ? 'window' : undefined, frame: process.platform !== 'darwin', + // windowStateKeeper persists the outer window bounds (getBounds), so the + // window must be restored by outer bounds too. With useContentSize the saved + // outer height is reapplied as the content height, growing the window by the + // frame height on every launch on framed platforms (#9363). x: mainWindowState.x, y: mainWindowState.y, width: mainWindowState.width, @@ -875,7 +879,6 @@ const createChat = async (app: App, options: CreateChatOptions = {}) => { minWidth: 480, minHeight: 400, resizable: true, - useContentSize: true, icon: path.join(__dirname, '../images/icon.icns'), webPreferences: { spellcheck: settings.spellcheckEnabled ?? true,