diff --git a/src/node/handler/PadMessageHandler.js b/src/node/handler/PadMessageHandler.js index 63349f14a..c9e0c73ea 100644 --- a/src/node/handler/PadMessageHandler.js +++ b/src/node/handler/PadMessageHandler.js @@ -1154,16 +1154,16 @@ function handleClientReady(client, message) //Save the revision in sessioninfos, we take the revision from the info the client send to us sessioninfos[client.id].rev = message.client_rev; - var changesetsNeeded = []; + //During the client reconnect, client might miss some revisions from other clients. By using client revision, + //this below code sends all the revisions missed during the client reconnect + var revisionsNeeded = []; var changesets = {}; - var changesetsAuthor = {}; - var changesetsTimestamp = {}; var startNum = message.client_rev + 1; var endNum = pad.getHeadRevisionNumber() + 1; async.series([ - //fetch all changesets we need + //push all the revision numbers needed into revisionsNeeded array function(callback) { var headNum = pad.getHeadRevisionNumber(); @@ -1171,67 +1171,69 @@ function handleClientReady(client, message) endNum = headNum+1; if (startNum < 0) startNum = 0; - //create a array for all changesets, we will - //replace the values with the changeset later + for(var r=startNum;r