From 68700dbf94290b963dd18d0e1904955bd13c195f Mon Sep 17 00:00:00 2001 From: Abhinav Date: Mon, 6 Feb 2023 17:14:50 +0530 Subject: [PATCH] open non desktop specific URLs in external browser --- src/main.ts | 2 ++ src/utils/main.ts | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/src/main.ts b/src/main.ts index 9fdef2b98..ecc48658d 100644 --- a/src/main.ts +++ b/src/main.ts @@ -14,6 +14,7 @@ import { handleDockIconHideOnAutoLaunch, handleUpdates, logSystemInfo, + handleExternalLinks, } from './utils/main'; import { initSentry } from './services/sentry'; import { setupLogging } from './utils/logging'; @@ -79,6 +80,7 @@ if (!gotTheLock) { setupIpcComs(tray, mainWindow, watcher); handleUpdates(mainWindow); handleDownloads(mainWindow); + handleExternalLinks(mainWindow); addAllowOriginHeader(mainWindow); }); diff --git a/src/utils/main.ts b/src/utils/main.ts index 729bc3d3b..9f89da43e 100644 --- a/src/utils/main.ts +++ b/src/utils/main.ts @@ -104,3 +104,14 @@ export function logSystemInfo() { const osRelease = os.release(); ElectronLog.info({ osName, osRelease, systemVersion }); } + +export function handleExternalLinks(mainWindow: BrowserWindow) { + mainWindow.webContents.setWindowOpenHandler(({ url }) => { + if (!url.startsWith(PROD_HOST_URL)) { + require('electron').shell.openExternal(url); + return { action: 'deny' }; + } else { + return { action: 'allow' }; + } + }); +}