diff --git a/index.js b/index.js index 02fbee0db..9047c256a 100644 --- a/index.js +++ b/index.js @@ -2,6 +2,7 @@ const electron = require('electron'); const path = require('path'); const config = require('./services/config'); +const url = require("url"); const app = electron.app; @@ -39,8 +40,13 @@ function createMainWindow() { }); // prevent drag & drop to navigate away from trilium - win.webContents.on('will-navigate', ev => { - ev.preventDefault() + win.webContents.on('will-navigate', (ev, targetUrl) => { + const parsedUrl = url.parse(targetUrl); + + // we still need to allow internal redirects from setup and migration pages + if (parsedUrl.hostname !== 'localhost' || (parsedUrl.path && parsedUrl.path !== '/')) { + ev.preventDefault(); + } }); return win;