From b9bf3611f723508b84527e909c50a37a0ecda085 Mon Sep 17 00:00:00 2001 From: fatchan Date: Sun, 23 Feb 2020 15:32:20 +1100 Subject: [PATCH] timer to make it more clear when forceupdate happens if websocket not supported/working --- gulp/res/js/live.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gulp/res/js/live.js b/gulp/res/js/live.js index ae2d186e..209f5033 100644 --- a/gulp/res/js/live.js +++ b/gulp/res/js/live.js @@ -112,6 +112,7 @@ window.addEventListener('settingsReady', function(event) { //after domcontentloa } let interval = 5000; + let intervalStart; forceUpdate = async () => { updateButton.disabled = true; clearTimeout(liveTimeout); @@ -124,10 +125,18 @@ window.addEventListener('settingsReady', function(event) { //after domcontentloa updateButton.disabled = false; }, 10000); if (liveEnabled) { + intervalStart = Date.now(); liveTimeout = setTimeout(forceUpdate, interval); } } + setInterval(() => { + if (liveEnabled && intervalStart) { + const remaining = (interval - (Date.now() - intervalStart))/1000; + updateButton.value = `Update (${remaining.toFixed(0)}s)`; + } + }, 1000); + const enableLive = () => { if (supportsWebSockets) { updateButton.style.display = 'none'; @@ -135,7 +144,7 @@ window.addEventListener('settingsReady', function(event) { //after domcontentloa const room = `${roomParts[1]}-${roomParts[roomParts.length-1]}`; socket = io({ transports: ['websocket'], - reconnectionAttempts: 5 + reconnectionAttempts: 3 }); socket.on('connect', async () => { console.log('socket connected'); @@ -193,6 +202,7 @@ window.addEventListener('settingsReady', function(event) { //after domcontentloa }; const disableLive = () => { + updateButton.value = 'Update'; updateButton.removeAttribute('style'); clearTimeout(liveTimeout); if (socket && supportsWebSockets) {