From 04959a349345a7a64f1e27e885469d5cbe417c1e Mon Sep 17 00:00:00 2001 From: chylex <info@chylex.com> Date: Thu, 9 Mar 2017 01:17:03 +0100 Subject: [PATCH] Make the update check run at the beginning of each hour instead of each hour after startup --- Resources/Scripts/update.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Resources/Scripts/update.js b/Resources/Scripts/update.js index 1f1ae803..141fbce0 100644 --- a/Resources/Scripts/update.js +++ b/Resources/Scripts/update.js @@ -136,12 +136,21 @@ return ele; }; + // + // Function: Returns milliseconds until the start of the next hour, with an offset in seconds that can skip an hour if the clock would roll over too soon. + // + var getTimeUntilNextHour = function(offset){ + var now = new Date(); + var offset = new Date(+now+offset*1000); + return new Date(offset.getFullYear(), offset.getMonth(), offset.getDate(), offset.getHours()+1, 0, 0)-now; + }; + // // Function: Runs an update check and updates all DOM elements appropriately. // var runUpdateCheck = function(eventID, versionTag, dismissedVersionTag, allowPre){ clearTimeout(updateCheckTimeoutID); - updateCheckTimeoutID = setTimeout($TDU.triggerUpdateCheck, 1000*60*60); // 1 hour + updateCheckTimeoutID = setTimeout($TDU.triggerUpdateCheck, getTimeUntilNextHour(60*30)); // 30 minute offset $.getJSON(allowPre ? updateCheckUrlAll : updateCheckUrlLatest, function(response){ var release = allowPre ? response[0] : response;