diff --git a/package.json b/package.json index 5635b53e..f1de1a11 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "cross-env": "^7.0.3", "csv-parse": "^4.15.3", "csv-stringify": "^5.6.2", - "electron": "8", + "electron": "9", "electron-builder": "22.10.4", "electron-builder-notarize": "1.1.2", "electron-devtools-installer": "^3.1.1", diff --git a/public/electron.js b/public/electron.js index b086ae34..16b52da6 100644 --- a/public/electron.js +++ b/public/electron.js @@ -84,6 +84,16 @@ function updateMenu() { // initialization and is ready to create browser windows. // Some APIs can only be used after this event occurs. app.on('ready', async () => { + // https://github.com/electron/electron/issues/23757 + // https://github.com/electron/electron/pull/28489 + // TODO I think this can be removed when we are on electron 12 or 14 + if (isDev) { + electron.protocol.registerFileProtocol('file', (request, callback) => { + const pathname = decodeURIComponent(request.url.replace('file:///', '')); + callback(pathname); + }); + } + await configStore.init(); if (isDev) { diff --git a/yarn.lock b/yarn.lock index 1cb7adec..9800186e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5093,10 +5093,10 @@ electron-unhandled@^3.0.2: ensure-error "^2.0.0" lodash.debounce "^4.0.8" -electron@8: - version "8.5.5" - resolved "https://registry.yarnpkg.com/electron/-/electron-8.5.5.tgz#17b12bd70139c0099f750fc5de0d480bf03acb96" - integrity sha512-e355H+tRDial0m+X2v+l+0SnaATAPw4sNjv9qmdk/6MJz/glteVJwVJEnxTjPfEELIJSChrBWDBVpjdDvoBF4Q== +electron@9: + version "9.4.4" + resolved "https://registry.yarnpkg.com/electron/-/electron-9.4.4.tgz#2a74a0655a74bd326216672c5ae6ed3a44451446" + integrity sha512-dcPlTrMWQu5xuSm6sYV42KK/BRIqh3erM8v/WtZqaDmG7pkCeJpvw26Dgbqhdt78XmqqGiN96giEe6A3S9vpAQ== dependencies: "@electron/get" "^1.0.1" "@types/node" "^12.0.12"