From 7d456240a8b7119556135faa39b98227fe895bf7 Mon Sep 17 00:00:00 2001 From: azivner Date: Fri, 12 Jan 2018 18:42:00 -0500 Subject: [PATCH 1/2] prevent drag & drop to navigate away from trilium --- index.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/index.js b/index.js index 3a0d86174f..02fbee0db3 100644 --- a/index.js +++ b/index.js @@ -38,6 +38,11 @@ function createMainWindow() { } }); + // prevent drag & drop to navigate away from trilium + win.webContents.on('will-navigate', ev => { + ev.preventDefault() + }); + return win; } From 92271a84b78c8adfa5da57392520a659e61377bc Mon Sep 17 00:00:00 2001 From: azivner Date: Fri, 12 Jan 2018 20:05:17 -0500 Subject: [PATCH 2/2] fix for setup & db upgrade - we still need internal redirects --- index.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 02fbee0db3..9047c256a5 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;