From 294ed6d32cce1f5004c4567036e37d91275721bf Mon Sep 17 00:00:00 2001 From: Erwan Guyader Date: Wed, 26 Jul 2023 11:55:05 +0200 Subject: [PATCH] fix: Setup Sentry only when Desktop is onboarded We need a valid Desktop config to setup our Sentry integration as we use the Cozy URL to determine the domain, the instance and the environment of the Cozy to tag our events. Since we want to receive events as soon as possible, we setup Sentry very early and, when Desktop is not onboarded already, we get an error since we don't have the required data. This is not a big deal but the error is printed in the console. We'll now make sure we have a valid configuration before trying to setup the integration and we'll also make sure to set it up after the onboarding is done to receive events without the need for an app restart. --- gui/main.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gui/main.js b/gui/main.js index bad4debc8..36478eff9 100644 --- a/gui/main.js +++ b/gui/main.js @@ -71,8 +71,10 @@ if (!mainInstance && !process.env.COZY_DESKTOP_PROPERTY_BASED_TESTING) { app.exit() } -let desktop = new Desktop.App(process.env.COZY_DESKTOP_DIR) -sentry.setup(desktop.clientInfo()) +const desktop = new Desktop.App(process.env.COZY_DESKTOP_DIR) +if (desktop.config.cozyUrl) { + sentry.setup(desktop.clientInfo()) +} let diskTimeout = null let onboardingWindow = null @@ -650,6 +652,7 @@ app.on('ready', async () => { log.trace('Setting up onboarding WM...') onboardingWindow = new OnboardingWM(app, desktop) onboardingWindow.onOnboardingDone(async () => { + sentry.setup(desktop.clientInfo()) await setupDesktop() onboardingWindow.hide() await trayWindow.show()