diff options
author | Dmitrii Selivanov <selivano.d@gmail.com> | 2022-03-26 22:40:52 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-26 22:40:52 +0300 |
commit | a6ac13f852207e9979c83aab4dd9ca51a00e8325 (patch) | |
tree | 3ee58d3a144bb7308e966bdb7f73fdbbdf3d83d9 | |
parent | ef60470755e59752a00b2cfa49badb575696469a (diff) | |
parent | 0f0fd7a07043754f1509c59b8a6d32195f32622f (diff) |
Merge pull request #515 from PickleNik/main
fixed version checker
-rw-r--r-- | Extensions/combined/popup.js | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/Extensions/combined/popup.js b/Extensions/combined/popup.js index 4ba9855..83ee423 100644 --- a/Extensions/combined/popup.js +++ b/Extensions/combined/popup.js @@ -123,15 +123,35 @@ function initializeVersionNumber() { ) .then((response) => response.json()) .then((json) => { - if (version !== json.version) { + if (compareVersions(json.version, version)) { document.getElementById("ext-update").innerHTML = - chrome.i18n.getMessage("textUpdate") + " v" + json.version; + chrome.i18n.getMessage("textUpdate") + " v" + json.version; document.getElementById("ext-update").style.padding = ".25rem .5rem"; } }); // .catch(console.error); } +// returns whether current < latest +function compareVersions(latestStr, currentStr) { + let latestarr = latestStr.split("."); + let currentarr = currentStr.split("."); + let outdated = false; + // goes through version numbers from left to right from greatest to least significant + for (let i = 0; i < Math.max(latestarr.length, currentarr.length); i++) { + let latest = i < latestarr.length ? parseInt(latestarr[i]) : 0; + let current = i < currentarr.length ? parseInt(currentarr[i]) : 0; + if (latest > current) { + outdated = true; + break; + } else if (latest < current) { + outdated = false; + break; + } + } + return outdated; +} + function initializeDisableVoteSubmission() { chrome.storage.sync.get(["disableVoteSubmission"], (res) => { handleDisableVoteSubmissionChangeEvent(res.disableVoteSubmission); |