Skip to content

Commit 5c8df4a

Browse files
committed
Fix to make socket keep retry after disconnect on server maintenance
1 parent e4555ed commit 5c8df4a

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

public/js/index.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1818,6 +1818,7 @@ socket.on('error', function (data) {
18181818
location.href = "./403";
18191819
});
18201820
var retryOnDisconnect = false;
1821+
var retryTimer = null;
18211822
socket.on('maintenance', function (data) {
18221823
if (data == version)
18231824
retryOnDisconnect = true;
@@ -1830,14 +1831,19 @@ socket.on('disconnect', function (data) {
18301831
}
18311832
if (!editor.getOption('readOnly'))
18321833
editor.setOption('readOnly', true);
1833-
if (retryOnDisconnect)
1834-
socket.connect();
1834+
if (retryOnDisconnect && !retryTimer) {
1835+
retryTimer = setInterval(function () {
1836+
socket.connect();
1837+
}, 1000);
1838+
}
18351839
});
18361840
socket.on('reconnect', function (data) {
18371841
//sync back any change in offline
18381842
emitUserStatus(true);
18391843
cursorActivity();
18401844
socket.emit('online users');
1845+
clearInterval(retryTimer);
1846+
retryTimer = null;
18411847
retryOnDisconnect = false;
18421848
});
18431849
socket.on('connect', function (data) {

0 commit comments

Comments
 (0)