From d39fc28565ee6daae9aee873779bde48956845fa Mon Sep 17 00:00:00 2001 From: Neil <4138956+nwparker@users.noreply.github.com> Date: Sun, 31 May 2026 09:31:43 -0700 Subject: [PATCH] fix: unref browser download approval timeout (#4246) --- src/main/browser/browser-manager.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/browser/browser-manager.ts b/src/main/browser/browser-manager.ts index edd2b3ccf..222542b90 100644 --- a/src/main/browser/browser-manager.ts +++ b/src/main/browser/browser-manager.ts @@ -938,6 +938,11 @@ export class BrowserManager { download.pendingCancelTimer = setTimeout(() => { this.cancelDownloadInternal(downloadId, 'Timed out waiting for user approval.') }, 60_000) + // Why: approval timeout is a fail-closed safety net, not a reason to keep + // Electron main alive after the browser/runtime is otherwise shutting down. + if (typeof download.pendingCancelTimer.unref === 'function') { + download.pendingCancelTimer.unref() + } } getDownloadPrompt(downloadId: string, senderWebContentsId: number): { filename: string } | null {