diff --git a/packages/compass/src/main/application.ts b/packages/compass/src/main/application.ts index df8f284ff23..c07f899570f 100644 --- a/packages/compass/src/main/application.ts +++ b/packages/compass/src/main/application.ts @@ -129,6 +129,20 @@ class CompassApplication { // Accessing isEncryptionAvailable is not allowed when app is not ready on Windows // https://github.com/electron/electron/issues/33640 await app.whenReady(); + + const { networkTraffic } = this.preferences.getPreferences(); + + if (!networkTraffic) { + // Electron fetches spellcheck dictionaries from a CDN + // on all OSs expect mac (it provides a built-in spell check). + // Passing a non-resolving URL prevents it from fetching + // as there aren't any options to disable it provided. + // https://github.com/electron/electron/issues/22995 + session.defaultSession.setSpellCheckerDictionaryDownloadURL( + 'http://127.0.0.1:0/' + ); + } + log.info( mongoLogId(1_001_000_307), 'Application', diff --git a/packages/compass/src/main/window-manager.ts b/packages/compass/src/main/window-manager.ts index 6db516f5037..482c777268d 100644 --- a/packages/compass/src/main/window-manager.ts +++ b/packages/compass/src/main/window-manager.ts @@ -140,8 +140,6 @@ function showConnectWindow( }; debug('creating new main window:', windowOpts); - const { preferences } = compassApp; - const { networkTraffic } = preferences.getPreferences(); let window: BrowserWindow | null = new BrowserWindow(windowOpts); if (mongodbUrl) { @@ -150,12 +148,6 @@ function showConnectWindow( if (connectionId) { registerConnectionIdForBrowserWindow(window, connectionId); } - if (networkTraffic !== true) { - // https://github.com/electron/electron/issues/22995 - window.webContents.session.setSpellCheckerDictionaryDownloadURL( - 'http://127.0.0.1:0/' - ); - } enable(window.webContents); const unsubscribeProxyListenerPromise = compassApp.setupProxySupport(