From bd5496d267cb3c4d208c940f657be2e67b47e627 Mon Sep 17 00:00:00 2001 From: Francisco Marques Date: Mon, 3 Jul 2023 08:28:03 +0100 Subject: [PATCH] Fixed update checker making requests to uptime.kuma.pet even when turned off (#2281) * fix: update checker - fixed bug where it would make the request to uptime.kuma.pet regardless of the `checkUpdate` config; - defined constants in the top of the document for easier configuration/documentation; - removed unnecessary compareVersions: we were comparing the same var on both sides res.data.beta, so it will always be equal. * improvement: better logging and added doc * improved UPDATE_CHECKER_INTERVAL_MS const --------- Co-authored-by: Louis Lam --- server/check-version.js | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/server/check-version.js b/server/check-version.js index e0ea908b..c6d5cfb9 100644 --- a/server/check-version.js +++ b/server/check-version.js @@ -1,27 +1,33 @@ const { setSetting, setting } = require("./util-server"); const axios = require("axios"); const compareVersions = require("compare-versions"); +const { log } = require("../src/util"); exports.version = require("../package.json").version; exports.latestVersion = null; +// How much time in ms to wait between update checks +const UPDATE_CHECKER_INTERVAL_MS = 1000 * 60 * 60 * 48; +const UPDATE_CHECKER_LATEST_VERSION_URL = "https://uptime.kuma.pet/version"; + let interval; -/** Start 48 hour check interval */ exports.startInterval = () => { let check = async () => { + if (await setting("checkUpdate") === false) { + return; + } + + log.debug("update-checker", "Retrieving latest versions"); + try { - const res = await axios.get("https://uptime.kuma.pet/version"); + const res = await axios.get(UPDATE_CHECKER_LATEST_VERSION_URL); // For debug if (process.env.TEST_CHECK_VERSION === "1") { res.data.slow = "1000.0.0"; } - if (await setting("checkUpdate") === false) { - return; - } - let checkBeta = await setting("checkBeta"); if (checkBeta && res.data.beta) { @@ -35,12 +41,14 @@ exports.startInterval = () => { exports.latestVersion = res.data.slow; } - } catch (_) { } + } catch (_) { + log.info("update-checker", "Failed to check for new versions"); + } }; check(); - interval = setInterval(check, 3600 * 1000 * 48); + interval = setInterval(check, UPDATE_CHECKER_INTERVAL_MS); }; /**