aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author0neGal <mail@0negal.com>2022-02-24 00:25:15 +0100
committer0neGal <mail@0negal.com>2022-02-24 00:25:15 +0100
commit2c74233c21c27c45c79edb843cd5078a950b9ff6 (patch)
treea539e079d2e2ad6e58a0b8b9379ae1a03355c014
parent5193485b5c66170330b920d891e3fe1442cc1f3d (diff)
downloadViper-2c74233c21c27c45c79edb843cd5078a950b9ff6.tar.gz
Viper-2c74233c21c27c45c79edb843cd5078a950b9ff6.zip
fixed NS never being auto-updated and more
When #87 was merged an unnoticed problem slipped in where if Viper was running in a version that did not support auto-updates we would never auto-update Northstar. Now that's fixed, and the nsupdate option is completely implemented. I also took the liberty of removing the auto-update option in the settings page if Viper can't auto-update anyway, as it's useless if that's not possible.
-rw-r--r--src/app/settings.js5
-rw-r--r--src/index.js10
-rw-r--r--src/utils.js9
3 files changed, 20 insertions, 4 deletions
diff --git a/src/app/settings.js b/src/app/settings.js
index 4921e07..902e57b 100644
--- a/src/app/settings.js
+++ b/src/app/settings.js
@@ -96,6 +96,11 @@ var Settings = {
}
}
}
+
+ ipcRenderer.send("can-autoupdate");
+ ipcRenderer.on("cant-autoupdate", () => {
+ document.querySelector(".option[name=autoupdate]").style.display = "none";
+ })
}
}
diff --git a/src/index.js b/src/index.js
index 0e8364f..265e13d 100644
--- a/src/index.js
+++ b/src/index.js
@@ -55,6 +55,12 @@ function start() {
ipcMain.on("savesettings", (event, obj) => {utils.saveSettings(obj)})
+ ipcMain.on("can-autoupdate", (event) => {
+ if (! require("electron-updater").autoUpdater.isUpdaterActive()) {
+ win.webContents.send("cant-autoupdate")
+ }
+ })
+
win.webContents.on("dom-ready", () => {
win.webContents.send("mods", utils.mods.list());
});
@@ -62,9 +68,7 @@ function start() {
if (utils.settings.autoupdate) {
utils.updatevp(false)
} else {
- if (utils.settings.nsupdate) {
- utils.update();
- }
+ utils.handleNorthstarUpdating();
}
autoUpdater.on("update-downloaded", () => {
diff --git a/src/utils.js b/src/utils.js
index 655eee0..6069a46 100644
--- a/src/utils.js
+++ b/src/utils.js
@@ -76,7 +76,7 @@ async function isGameRunning() {
// It uses isGameRunning() to ensure it doesn't run while the game is
// running, as that may have all kinds of issues.
function handleNorthstarUpdating() {
- if (!settings.autoupdate || !fs.existsSync("viper.json") || settings.gamepath.length === 0) {
+ if (! settings.nsupdate || ! fs.existsSync("viper.json") || settings.gamepath.length === 0) {
return;
}
@@ -306,6 +306,13 @@ async function update() {
function updatevp(autoinstall) {
const { autoUpdater } = require("electron-updater");
+ if (! autoUpdater.isUpdaterActive()) {
+ if (settings.nsupdate) {
+ handleNorthstarUpdating();
+ }
+ return cli.exit();
+ }
+
if (autoinstall) {
autoUpdater.on("update-downloaded", (info) => {
autoUpdater.quitAndInstall();