From ef218666857a282e6fe015ac40f45882e955335d Mon Sep 17 00:00:00 2001 From: johnnyopao Date: Mon, 30 Aug 2021 11:14:48 -0400 Subject: [PATCH 1/2] fix: (mac) Fix intel mac upgrade flow --- packages/electron-updater/src/MacUpdater.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/electron-updater/src/MacUpdater.ts b/packages/electron-updater/src/MacUpdater.ts index 1e1cd209df7..ed9b6d73ed5 100644 --- a/packages/electron-updater/src/MacUpdater.ts +++ b/packages/electron-updater/src/MacUpdater.ts @@ -40,7 +40,7 @@ export class MacUpdater extends AppUpdater { // detect if we are running inside Rosetta emulation const sysctlRosettaInfoKey = "sysctl.proc_translated" - let isRosetta: boolean + let isRosetta = false try { this.debug("Checking for macOS Rosetta environment") const result = execFileSync("sysctl", [sysctlRosettaInfoKey], { encoding: "utf8" }) @@ -50,13 +50,18 @@ export class MacUpdater extends AppUpdater { log.warn(`sysctl shell command to check for macOS Rosetta environment failed: ${e}`) } + const isArm64Mac = process.arch === "arm64" || isRosetta + // allow arm64 macs to install universal or rosetta2(x64) - https://github.com/electron-userland/electron-builder/pull/5524 const isArm64 = (file: ResolvedUpdateFileInfo) => file.url.pathname.includes("arm64") || file.info.url?.includes("arm64") - if (files.some(isArm64)) { - files = files.filter(file => (process.arch === "arm64" || isRosetta) === isArm64(file)) + if (isArm64Mac && files.some(isArm64)) { + files = files.filter(file => isArm64Mac === isArm64(file)) + } else { + files = files.filter(file => !isArm64(file)) } const zipFileInfo = findFile(files, "zip", ["pkg", "dmg"]) + if (zipFileInfo == null) { throw newError(`ZIP file not provided: ${safeStringifyJson(files)}`, "ERR_UPDATER_ZIP_FILE_NOT_FOUND") } From 794787f36ffa5317ff1c8ad6269c0b27193e6527 Mon Sep 17 00:00:00 2001 From: johnnyopao Date: Mon, 30 Aug 2021 13:47:50 -0400 Subject: [PATCH 2/2] add changeset --- .changeset/lovely-coats-grow.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/lovely-coats-grow.md diff --git a/.changeset/lovely-coats-grow.md b/.changeset/lovely-coats-grow.md new file mode 100644 index 00000000000..ad1d0d03cfb --- /dev/null +++ b/.changeset/lovely-coats-grow.md @@ -0,0 +1,5 @@ +--- +"electron-updater": patch +--- + +Fix upgrade flows on intel mac when both x64 and arm64 versions published