Don't send COMMIT-MESSAGE when socketio connection is not active

This commit is contained in:
anugu-chegg 2018-02-03 13:29:52 +05:30 committed by muxator
parent d26df86490
commit fb20c26c5f
2 changed files with 24 additions and 14 deletions

View file

@ -181,6 +181,7 @@ function getCollabClient(ace2editor, serverVars, initialUserInfo, options, _pad)
} }
var sentMessage = false; var sentMessage = false;
if (getSocket().realConnected) {
var userChangesData = editor.prepareUserChangeset(); var userChangesData = editor.prepareUserChangeset();
if (userChangesData.changeset) if (userChangesData.changeset)
{ {
@ -196,6 +197,11 @@ function getCollabClient(ace2editor, serverVars, initialUserInfo, options, _pad)
sentMessage = true; sentMessage = true;
callbacks.onInternalAction("commitPerformed"); callbacks.onInternalAction("commitPerformed");
} }
}
else {
// run again in a few seconds, to check if there was a reconnection attempt
setTimeout(wrapRecordingErrors("setTimeout(handleUserChanges)", handleUserChanges), 1000);
}
if (sentMessage) if (sentMessage)
{ {

View file

@ -201,15 +201,19 @@ function handshake()
}); });
socket.once('connect', function () { socket.once('connect', function () {
// Setup our own connected flag since socketio one doesn't work accurately
socket.realConnected = true;
sendClientReady(false); sendClientReady(false);
}); });
socket.on('reconnect', function () { socket.on('reconnect', function () {
socket.realConnected = true;
pad.collabClient.setChannelState("CONNECTED"); pad.collabClient.setChannelState("CONNECTED");
pad.sendClientReady(true); pad.sendClientReady(true);
}); });
socket.on('reconnecting', function() { socket.on('reconnecting', function() {
socket.realConnected = false;
pad.collabClient.setChannelState("RECONNECTING"); pad.collabClient.setChannelState("RECONNECTING");
}); });