summaryrefslogtreecommitdiff
path: root/src/node/handler/PadMessageHandler.js
diff options
context:
space:
mode:
authorwebzwo0i <webzwo0i@c3d2.de>2015-02-26 14:57:49 +0100
committerwebzwo0i <webzwo0i@c3d2.de>2015-02-26 14:57:49 +0100
commit7719117e1e1b0d4d7b1d3740329cbea92258c6f8 (patch)
tree1e01018c35c1f231617be9ddfb56d64a8dd5b99f /src/node/handler/PadMessageHandler.js
parent38a4f1be5f08784d94080adf55f83d5f146364a1 (diff)
downloadetherpad-lite-7719117e1e1b0d4d7b1d3740329cbea92258c6f8.zip
do not crash when encountering mismatched compositions. log the changesets and padid
Diffstat (limited to 'src/node/handler/PadMessageHandler.js')
-rw-r--r--src/node/handler/PadMessageHandler.js12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/node/handler/PadMessageHandler.js b/src/node/handler/PadMessageHandler.js
index 7ea5039d..86244d85 100644
--- a/src/node/handler/PadMessageHandler.js
+++ b/src/node/handler/PadMessageHandler.js
@@ -1629,10 +1629,14 @@ function composePadChangesets(padId, startNum, endNum, callback)
changeset = changesets[startNum];
var pool = pad.apool();
- for(var r=startNum+1;r<endNum;r++)
- {
- var cs = changesets[r];
- changeset = Changeset.compose(changeset, cs, pool);
+ try {
+ for(var r=startNum+1;r<endNum;r++) {
+ var cs = changesets[r];
+ changeset = Changeset.compose(changeset, cs, pool);
+ }
+ } catch(e){
+ console.warn("failed to compose cs in pad:",padId);
+ return;
}
callback(null);