diff --git a/apps/desktop/electron-builder.yml b/apps/desktop/electron-builder.yml index bd5a8fff..9e9ae099 100644 --- a/apps/desktop/electron-builder.yml +++ b/apps/desktop/electron-builder.yml @@ -20,6 +20,9 @@ mac: - target: dmg arch: - universal + - target: zip + arch: + - universal hardenedRuntime: true entitlements: build/entitlements.mac.plist entitlementsInherit: build/entitlements.mac.plist diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 946fcac7..6d7ccb24 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -1,6 +1,6 @@ { "name": "desktop", - "version": "0.8.8", + "version": "0.8.9", "description": "ClosedLoop Desktop", "author": "ClosedLoop AI ", "private": true, diff --git a/apps/desktop/src/main/app.ts b/apps/desktop/src/main/app.ts index 9eb21639..f25f136a 100644 --- a/apps/desktop/src/main/app.ts +++ b/apps/desktop/src/main/app.ts @@ -256,16 +256,25 @@ export class DesktopApplication { if (app.isPackaged) { autoUpdater.autoDownload = true; autoUpdater.autoInstallOnAppQuit = true; + autoUpdater.on("error", (err) => { + gatewayLog.error("auto-update", `Auto-update error: ${err.message}`); + }); autoUpdater.on("update-available", (info) => { this.desktopWindow.getWindow()?.webContents.send("desktop:update-available", { updateAvailable: true, version: info.version }); }); - void autoUpdater.checkForUpdates().catch(() => {}); + void autoUpdater.checkForUpdates().catch((err: unknown) => { + const msg = err instanceof Error ? err.message : String(err); + gatewayLog.error("auto-update", `Failed to check for updates: ${msg}`); + }); if (this.updateCheckTimer) clearInterval(this.updateCheckTimer); this.updateCheckTimer = setInterval(() => { - void autoUpdater.checkForUpdates().catch(() => {}); + void autoUpdater.checkForUpdates().catch((err: unknown) => { + const msg = err instanceof Error ? err.message : String(err); + gatewayLog.error("auto-update", `Failed to check for updates: ${msg}`); + }); }, UPDATE_CHECK_INTERVAL_MS); } else { void this.checkForUpdate().then((result) => {