diff --git a/app/main.ts b/app/main.ts index 3fd1c7933d..22bca044a0 100644 --- a/app/main.ts +++ b/app/main.ts @@ -2829,6 +2829,8 @@ ipc.handle( app.getVersion(), os.version(), userAgent, + process.arch, + app.runningUnderARM64Translation, OS.getLinuxName() ); } diff --git a/package.json b/package.json index 408e07fb3c..cc46d6e32d 100644 --- a/package.json +++ b/package.json @@ -75,6 +75,7 @@ "test:storybook:serve": "http-server storybook-static --port 6006 --silent", "test:storybook:test": "wait-on http://127.0.0.1:6006/ --timeout 5000 && test-storybook", "build": "run-s --print-label generate build:esbuild:prod build:release", + "build-win32-arm64": "run-s --print-label generate build:esbuild:prod build:release-win32-arm64", "build-linux": "run-s generate build:esbuild:prod && npm run build:release -- --publish=never", "build:acknowledgments": "node scripts/generate-acknowledgments.js", "build:dns-fallback": "node ts/scripts/generate-dns-fallback.js", @@ -85,6 +86,7 @@ "build:esbuild:prod": "node scripts/esbuild.js --prod", "build:electron": "electron-builder --config.extraMetadata.environment=$SIGNAL_ENV", "build:release": "cross-env SIGNAL_ENV=production npm run build:electron -- --config.directories.output=release", + "build:release-win32-arm64": "npm run build:release -- --arm64", "build:preload-cache": "node ts/scripts/generate-preload-cache.js", "verify": "run-p --print-label verify:*", "verify:ts": "tsc --noEmit", diff --git a/ts/logging/debuglogs.ts b/ts/logging/debuglogs.ts index 8fc662df6f..b588ffcaef 100644 --- a/ts/logging/debuglogs.ts +++ b/ts/logging/debuglogs.ts @@ -43,6 +43,8 @@ const getHeader = ( appVersion: string, osVersion: string, userAgent: string, + arch: string, + runningUnderARM64Translation: boolean, linuxVersion?: string ): string => [ @@ -53,6 +55,7 @@ const getHeader = ( Environment: getEnvironment(), 'App version': appVersion, 'OS version': osVersion, + Arch: `${arch}${runningUnderARM64Translation ? ' (ARM64 Translation)' : ''}`, ...(linuxVersion && { 'Linux version': linuxVersion }), }), headerSection('User info', user), @@ -87,6 +90,8 @@ export function getLog( appVersion: string, osVersion: string, userAgent: string, + arch: string, + runningUnderARM64Translation: boolean, linuxVersion?: string ): string { let header: string; @@ -99,6 +104,8 @@ export function getLog( appVersion, osVersion, userAgent, + arch, + runningUnderARM64Translation, linuxVersion ); body = logEntries.map(formatLine).join('\n'); diff --git a/ts/updater/common.ts b/ts/updater/common.ts index ee89a55e01..ad2fd18889 100644 --- a/ts/updater/common.ts +++ b/ts/updater/common.ts @@ -892,12 +892,18 @@ export function getUpdateFileName( } let path: string | undefined; + let fileFilter: (({ url }: { url: string }) => boolean) | undefined; + if (platform === 'darwin') { + fileFilter = ({ url }) => url.includes(arch) && url.endsWith('.zip'); + } else if (platform === 'win32') { + fileFilter = ({ url }) => url.includes(arch) && url.endsWith('.exe'); + } + + if (fileFilter) { const { files } = info; - const candidates = files.filter( - ({ url }) => url.includes(arch) && url.endsWith('.zip') - ); + const candidates = files.filter(fileFilter); if (candidates.length === 1) { path = candidates[0].url;