From 7156afbbf4aeca3d5170a061c358a92b99e613b6 Mon Sep 17 00:00:00 2001 From: boomzero Date: Sat, 9 Aug 2025 15:09:38 +0800 Subject: [PATCH 01/12] feat: Add version comparison function to check for updates --- XMOJ.user.js | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/XMOJ.user.js b/XMOJ.user.js index 821a3aa6..c59b2c94 100644 --- a/XMOJ.user.js +++ b/XMOJ.user.js @@ -107,6 +107,20 @@ let GetRelativeTime = (Input) => { } } }; +function compareVersions(currVer, remoteVer) { + const currParts = currver.split('.').map(Number); + const remoteParts = remotever.split('.').map(Number); + + for (let i = 0; i < 3; i++) { + if (remoteParts[i] > currParts[i]) { + return true; // update needed + } else if (remoteParts[i] < currParts[i]) { + return false; // no update needed + } + } + return false; // versions are equal +} + let RenderMathJax = async () => { try { if (document.getElementById("MathJax-script") === null) { @@ -1031,7 +1045,7 @@ async function main() { break; } } - if (CurrentVersion < LatestVersion) { + if (compareVersions(CurrentVersion, LatestVersion)) { let UpdateDiv = document.createElement("div"); UpdateDiv.innerHTML = `