From efad8d5b5e809a68d467cf9710ce6d5b21e3a200 Mon Sep 17 00:00:00 2001 From: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Date: Fri, 7 Aug 2026 02:28:54 +0000 Subject: [PATCH] fix(desktop): preserve macOS app on window close --- packages/desktop/src/main/index.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/desktop/src/main/index.ts b/packages/desktop/src/main/index.ts index 7fb56391a6f7..183fc634db01 100644 --- a/packages/desktop/src/main/index.ts +++ b/packages/desktop/src/main/index.ts @@ -6,7 +6,7 @@ import { homedir, tmpdir } from "node:os" import { join } from "node:path" import { getCACertificates, setDefaultCACertificates } from "node:tls" import type { Event } from "electron" -import { app } from "electron" +import { app, BrowserWindow } from "electron" import { Deferred, Effect, Fiber } from "effect" import contextMenu from "electron-context-menu" @@ -408,6 +408,15 @@ const main = Effect.gen(function* () { yield* Fiber.await(loadingTask) + app.on("window-all-closed", () => { + if (process.platform === "darwin") return + app.quit() + }) + app.on("activate", () => { + if (BrowserWindow.getAllWindows().length > 0) return + restoreMainWindows() + }) + const windows = restoreMainWindows() if (windows.length) createMenu(menuDeps) })