diff --git a/packages/frontend/apps/electron/scripts/common.ts b/packages/frontend/apps/electron/scripts/common.ts index e1746359af..ddc1099508 100644 --- a/packages/frontend/apps/electron/scripts/common.ts +++ b/packages/frontend/apps/electron/scripts/common.ts @@ -20,6 +20,8 @@ export const config = (): BuildOptions => { 'process.env.GITHUB_SHA': process.env.GITHUB_SHA, 'process.env.SENTRY_RELEASE': process.env.SENTRY_RELEASE, 'process.env.SENTRY_DSN': process.env.SENTRY_DSN, + 'process.env.DEV_SERVER_URL': process.env.DEV_SERVER_URL, + 'process.env.NODE_ENV': process.env.NODE_ENV, REPLACE_ME_BUILD_ENV: process.env.BUILD_TYPE ?? 'stable', ...Object.entries( getBuildConfig({ diff --git a/packages/frontend/apps/electron/src/main/deep-link.ts b/packages/frontend/apps/electron/src/main/deep-link.ts index 75dab53d8a..515d63a200 100644 --- a/packages/frontend/apps/electron/src/main/deep-link.ts +++ b/packages/frontend/apps/electron/src/main/deep-link.ts @@ -57,6 +57,18 @@ export function setupDeepLink(app: App) { }) .catch(e => console.error('Failed to restore or create window:', e)); }); + + app.on('ready', () => { + // app may be brought up without having a running instance + // need to read the url from the command line + const url = process.argv.at(-1); + logger.log('url from argv', process.argv, url); + if (url?.startsWith(`${protocol}://`)) { + handleAffineUrl(url).catch(e => { + logger.error('failed to handle affine url', e); + }); + } + }); } async function handleAffineUrl(url: string) { diff --git a/packages/frontend/apps/electron/src/main/events.ts b/packages/frontend/apps/electron/src/main/events.ts index 07064aa4d9..fcb5547ad5 100644 --- a/packages/frontend/apps/electron/src/main/events.ts +++ b/packages/frontend/apps/electron/src/main/events.ts @@ -58,10 +58,12 @@ export function registerEvents() { } app.on('before-quit', () => { // subscription on quit sometimes crashes the app - try { - unsubs.forEach(unsub => unsub()); - } catch (err) { - logger.error('unsubscribe error', err); - } + unsubs.forEach(unsub => { + try { + unsub(); + } catch (err) { + logger.warn('unsubscribe error on quit', err); + } + }); }); }