From 5c8df4a7a1e7206c897728c29a1c45936818a338 Mon Sep 17 00:00:00 2001 From: "Cheng-Han, Wu" Date: Sat, 4 Jun 2016 10:49:10 +0800 Subject: [PATCH] Fix to make socket keep retry after disconnect on server maintenance --- public/js/index.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/public/js/index.js b/public/js/index.js index 25c84ad9..d342e88a 100644 --- a/public/js/index.js +++ b/public/js/index.js @@ -1818,6 +1818,7 @@ socket.on('error', function (data) { location.href = "./403"; }); var retryOnDisconnect = false; +var retryTimer = null; socket.on('maintenance', function (data) { if (data == version) retryOnDisconnect = true; @@ -1830,14 +1831,19 @@ socket.on('disconnect', function (data) { } if (!editor.getOption('readOnly')) editor.setOption('readOnly', true); - if (retryOnDisconnect) - socket.connect(); + if (retryOnDisconnect && !retryTimer) { + retryTimer = setInterval(function () { + socket.connect(); + }, 1000); + } }); socket.on('reconnect', function (data) { //sync back any change in offline emitUserStatus(true); cursorActivity(); socket.emit('online users'); + clearInterval(retryTimer); + retryTimer = null; retryOnDisconnect = false; }); socket.on('connect', function (data) {