diff --git a/ui/desktop/app/routes/application.js b/ui/desktop/app/routes/application.js index 66790a728..f2f8e11fe 100644 --- a/ui/desktop/app/routes/application.js +++ b/ui/desktop/app/routes/application.js @@ -1,5 +1,4 @@ import Route from '@ember/routing/route'; -import jQuery from 'jquery'; import { inject as service } from '@ember/service'; import { action } from '@ember/object'; import { A } from '@ember/array'; @@ -31,18 +30,6 @@ export default class ApplicationRoute extends Route { return this.origin.updateOrigin(); } - /** - * Adds listener on target=_blank links so that they may be opened in an - * external browser. - */ - afterModel() { - const ipc = this.ipc; - /* eslint-disable-next-line ember/no-jquery */ - jQuery(document).on('click', 'a[href][target="_blank"]', function () { - ipc.invoke('openExternal', this.href); - }); - } - /** * Add OS config on controller */ diff --git a/ui/desktop/electron-app/src/index.js b/ui/desktop/electron-app/src/index.js index 1c9c7f6e2..a08bfba96 100644 --- a/ui/desktop/electron-app/src/index.js +++ b/ui/desktop/electron-app/src/index.js @@ -12,6 +12,7 @@ const { BrowserWindow, Menu, MenuItem, + shell, } = require('electron'); require('./ipc/handlers.js'); @@ -166,9 +167,13 @@ app.on('ready', async () => { /* eng-disable LIMIT_NAVIGATION_JS_CHECK */ if (!url.startsWith('serve://boundary')) event.preventDefault(); }); + // Also opens links with target="_blank" in a browser window mainWindow.webContents.on('new-window', (event, url) => { /* eng-disable LIMIT_NAVIGATION_JS_CHECK */ - if (!url.startsWith('serve://boundary')) event.preventDefault(); + if (!url.startsWith('serve://boundary')) { + event.preventDefault(); + shell.openExternal(url); + } }); mainWindow.on('unresponsive', () => { diff --git a/ui/desktop/package.json b/ui/desktop/package.json index c22ee5143..607e577b1 100755 --- a/ui/desktop/package.json +++ b/ui/desktop/package.json @@ -49,7 +49,6 @@ }, "devDependencies": { "@doyensec/electronegativity": "^1.8.1", - "@ember/jquery": "^1.1.0", "@ember/optional-features": "^2.0.0", "@ember/render-modifiers": "^1.0.2", "@ember/test-helpers": "^2.2.8", diff --git a/yarn.lock b/yarn.lock index eeeb32795..99bc92f8e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1753,18 +1753,6 @@ resolved "https://registry.yarnpkg.com/@ember/edition-utils/-/edition-utils-1.2.0.tgz#a039f542dc14c8e8299c81cd5abba95e2459cfa6" integrity sha512-VmVq/8saCaPdesQmftPqbFtxJWrzxNGSQ+e8x8LLe3Hjm36pJ04Q8LeORGZkAeOhldoUX9seLGmSaHeXkIqoog== -"@ember/jquery@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@ember/jquery/-/jquery-1.1.0.tgz#33d062610a5ceaa5c5c8a3187f870d47d6595940" - integrity sha512-zePT3LiK4/2bS4xafrbOlwoLJrDFseOZ95OOuVDyswv8RjFL+9lar+uxX6+jxRb0w900BcQSWP/4nuFSK6HXXw== - dependencies: - broccoli-funnel "^2.0.2" - broccoli-merge-trees "^3.0.2" - ember-cli-babel "^7.11.1" - ember-cli-version-checker "^3.1.3" - jquery "^3.4.1" - resolve "^1.11.1" - "@ember/optional-features@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@ember/optional-features/-/optional-features-2.0.0.tgz#c809abd5a27d5b0ef3c6de3941334ab6153313f0" @@ -13497,7 +13485,7 @@ joi@^12.0.0: isemail "3.x.x" topo "2.x.x" -jquery@^3.4.1, jquery@^3.5.0: +jquery@^3.5.0: version "3.6.0" resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.0.tgz#c72a09f15c1bdce142f49dbf1170bdf8adac2470" integrity sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==