From fcd4f8c4ff2e749244d860d9053bf0c9f05f8bef Mon Sep 17 00:00:00 2001 From: pengx17 Date: Wed, 6 Nov 2024 02:02:56 +0000 Subject: [PATCH] fix(electron): deep link handling in macos (#8713) fix AF-1617 The issue is that handling deep link on opening new instance will access the screen module from electron too soon. Move the open call behind whenReady to mitigate the issue. --- packages/frontend/apps/electron/src/main/deep-link.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/frontend/apps/electron/src/main/deep-link.ts b/packages/frontend/apps/electron/src/main/deep-link.ts index 515d63a200..16c88bd27c 100644 --- a/packages/frontend/apps/electron/src/main/deep-link.ts +++ b/packages/frontend/apps/electron/src/main/deep-link.ts @@ -30,11 +30,15 @@ export function setupDeepLink(app: App) { } app.on('open-url', (event, url) => { + logger.log('open-url', url); if (url.startsWith(`${protocol}://`)) { event.preventDefault(); - handleAffineUrl(url).catch(e => { - logger.error('failed to handle affine url', e); - }); + app + .whenReady() + .then(() => handleAffineUrl(url)) + .catch(e => { + logger.error('failed to handle affine url', e); + }); } });