patch documented here https://github.com/ether/etherpad-lite/issues/472 adds some stability but not a perfect solution
This commit is contained in:
parent
716cac9c95
commit
ebd8b85072
|
@ -586,7 +586,14 @@ function handleUserChanges(client, message)
|
||||||
// client) are relative to revision r - 1. The follow function
|
// client) are relative to revision r - 1. The follow function
|
||||||
// rebases "changeset" so that it is relative to revision r
|
// rebases "changeset" so that it is relative to revision r
|
||||||
// and can be applied after "c".
|
// and can be applied after "c".
|
||||||
changeset = Changeset.follow(c, changeset, false, apool);
|
try
|
||||||
|
{
|
||||||
|
changeset = Changeset.follow(c, changeset, false, apool);
|
||||||
|
}catch(e){
|
||||||
|
console.warn("Can't apply USER_CHANGES "+changeset+", possibly because of mismatched follow error");
|
||||||
|
client.json.send({disconnect:"badChangeset"});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if ((r - baseRev) % 200 == 0) { // don't let the stack get too deep
|
if ((r - baseRev) % 200 == 0) { // don't let the stack get too deep
|
||||||
async.nextTick(callback);
|
async.nextTick(callback);
|
||||||
|
|
Loading…
Reference in New Issue