fix portable app restart

This commit is contained in:
Araxeus
2022-02-24 20:41:59 +02:00
parent 407887254f
commit 704fba9aba
5 changed files with 12 additions and 24 deletions

View File

@ -13,7 +13,7 @@ const { fileExists, injectCSS } = require("./plugins/utils");
const { isTesting } = require("./utils/testing"); const { isTesting } = require("./utils/testing");
const { setUpTray } = require("./tray"); const { setUpTray } = require("./tray");
const { setupSongInfo } = require("./providers/song-info"); const { setupSongInfo } = require("./providers/song-info");
const { setupAppControls } = require("./providers/app-controls"); const { setupAppControls, restart } = require("./providers/app-controls");
// Catch errors and log them // Catch errors and log them
unhandled({ unhandled({
@ -435,13 +435,8 @@ function showUnresponsiveDialog(win, details) {
cancelId: 0 cancelId: 0
}).then( result => { }).then( result => {
switch (result.response) { switch (result.response) {
case 1: //if relaunch - relaunch+exit case 1: restart(); break;
app.relaunch(); case 2: app.quit(); break;
case 2:
app.quit();
break;
default:
break;
} }
}); });
} }

View File

@ -3,6 +3,7 @@ const path = require("path");
const { app, Menu, dialog } = require("electron"); const { app, Menu, dialog } = require("electron");
const is = require("electron-is"); const is = require("electron-is");
const { restart } = require("./providers/app-controls");
const { getAllPlugins } = require("./plugins/utils"); const { getAllPlugins } = require("./plugins/utils");
const config = require("./config"); const config = require("./config");
@ -279,10 +280,7 @@ const mainMenuTemplate = (win) => {
}, },
{ {
label: "Restart App", label: "Restart App",
click: () => { click: restart
app.relaunch();
app.quit();
},
}, },
{ role: "quit" }, { role: "quit" },
], ],

View File

@ -1,8 +1,7 @@
const path = require("path"); const path = require("path");
require("./providers/front-logger")();
const config = require("./config"); const config = require("./config");
const { fileExists } = require("./plugins/utils"); const { fileExists } = require("./plugins/utils");
const setupFrontLogger = require("./providers/front-logger");
const setupSongInfo = require("./providers/song-info-front"); const setupSongInfo = require("./providers/song-info-front");
const { setupSongControls } = require("./providers/song-controls-front"); const { setupSongControls } = require("./providers/song-controls-front");
const { ipcRenderer } = require("electron"); const { ipcRenderer } = require("electron");
@ -48,9 +47,6 @@ document.addEventListener("DOMContentLoaded", () => {
// inject song-controls // inject song-controls
setupSongControls(); setupSongControls();
// inject front logger
setupFrontLogger();
// Add action for reloading // Add action for reloading
global.reload = () => ipcRenderer.send('reload'); global.reload = () => ipcRenderer.send('reload');

View File

@ -14,6 +14,7 @@ module.exports.setupAppControls = () => {
} }
function restart() { function restart() {
app.relaunch(); app.relaunch({ execPath: process.env.PORTABLE_EXECUTABLE_FILE });
app.exit(); // execPath will be undefined if not running portable app, resulting in default behavior
app.quit();
} }

View File

@ -2,6 +2,7 @@ const path = require("path");
const { Menu, nativeImage, Tray } = require("electron"); const { Menu, nativeImage, Tray } = require("electron");
const { restart } = require("./providers/app-controls");
const config = require("./config"); const config = require("./config");
const getSongControls = require("./providers/song-controls"); const getSongControls = require("./providers/song-controls");
@ -58,12 +59,9 @@ module.exports.setUpTray = (app, win) => {
}, },
{ {
label: "Restart App", label: "Restart App",
click: () => { click: restart
app.relaunch();
app.quit();
},
}, },
{ role: "quit" } { role: "quit" }
]; ];
const trayMenu = Menu.buildFromTemplate(template); const trayMenu = Menu.buildFromTemplate(template);