From 37f9ab779258bb42e7863332b34896b77b0f1582 Mon Sep 17 00:00:00 2001 From: Mike Maietta Date: Tue, 27 Jun 2023 07:43:55 -0700 Subject: [PATCH 1/2] fix: trigger `app.relaunch()` if `isForceRunAfter = true` --- packages/electron-updater/src/AppAdapter.ts | 2 ++ packages/electron-updater/src/DebUpdater.ts | 3 +++ packages/electron-updater/src/ElectronAppAdapter.ts | 4 ++++ packages/electron-updater/src/RpmUpdater.ts | 3 +++ 4 files changed, 12 insertions(+) diff --git a/packages/electron-updater/src/AppAdapter.ts b/packages/electron-updater/src/AppAdapter.ts index f2da362fda8..69cc8174bb7 100644 --- a/packages/electron-updater/src/AppAdapter.ts +++ b/packages/electron-updater/src/AppAdapter.ts @@ -24,6 +24,8 @@ export interface AppAdapter { whenReady(): Promise + relaunch(): void + quit(): void onQuit(handler: (exitCode: number) => void): void diff --git a/packages/electron-updater/src/DebUpdater.ts b/packages/electron-updater/src/DebUpdater.ts index 0b8bfb33d5b..19705a72ea2 100644 --- a/packages/electron-updater/src/DebUpdater.ts +++ b/packages/electron-updater/src/DebUpdater.ts @@ -33,6 +33,9 @@ export class DebUpdater extends BaseUpdater { const wrapper = /pkexec/i.test(sudo) ? "" : `"` const cmd = ["dpkg", "-i", options.installerPath, "||", "apt-get", "install", "-f", "-y"] this.spawnSyncLog(sudo, [`${wrapper}/bin/bash`, "-c", `'${cmd.join(" ")}'${wrapper}`]) + if (options.isForceRunAfter) { + this.app.relaunch() + } return true } } diff --git a/packages/electron-updater/src/ElectronAppAdapter.ts b/packages/electron-updater/src/ElectronAppAdapter.ts index 663a4cf57a1..0999dad34fa 100644 --- a/packages/electron-updater/src/ElectronAppAdapter.ts +++ b/packages/electron-updater/src/ElectronAppAdapter.ts @@ -36,6 +36,10 @@ export class ElectronAppAdapter implements AppAdapter { this.app.quit() } + relaunch(): void { + this.app.relaunch() + } + onQuit(handler: (exitCode: number) => void): void { this.app.once("quit", (_: Event, exitCode: number) => handler(exitCode)) } diff --git a/packages/electron-updater/src/RpmUpdater.ts b/packages/electron-updater/src/RpmUpdater.ts index ea51fc9b378..3b7f9f9cea2 100644 --- a/packages/electron-updater/src/RpmUpdater.ts +++ b/packages/electron-updater/src/RpmUpdater.ts @@ -58,6 +58,9 @@ export class RpmUpdater extends BaseUpdater { ] } this.spawnSyncLog(sudo, [`${wrapper}/bin/bash`, "-c", `'${cmd.join(" ")}'${wrapper}`]) + if (options.isForceRunAfter) { + this.app.relaunch() + } return true } } From 7a79171d80af1556ff750b248bf3b0cc9192d686 Mon Sep 17 00:00:00 2001 From: Mike Maietta Date: Tue, 27 Jun 2023 07:48:19 -0700 Subject: [PATCH 2/2] Create empty-pears-hammer.md --- .changeset/empty-pears-hammer.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/empty-pears-hammer.md diff --git a/.changeset/empty-pears-hammer.md b/.changeset/empty-pears-hammer.md new file mode 100644 index 00000000000..5ad4769c432 --- /dev/null +++ b/.changeset/empty-pears-hammer.md @@ -0,0 +1,5 @@ +--- +"electron-updater": patch +--- + +fix: trigger `app.relaunch()` if `isForceRunAfter = true` for (beta) deb and rpm updaters