Merge pull request #2092 from webzwo0i/fix-crash-with-queued-messages
Fix crash with queued messagespull/2117/head
commit
56fd078469
|
@ -167,7 +167,8 @@ exports.handleMessage = function(client, message)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(!sessioninfos[client.id]) {
|
var thisSession = sessioninfos[client.id]
|
||||||
|
if(!thisSession) {
|
||||||
messageLogger.warn("Dropped message from an unknown connection.")
|
messageLogger.warn("Dropped message from an unknown connection.")
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -196,7 +197,7 @@ exports.handleMessage = function(client, message)
|
||||||
} else if(message.type == "CHANGESET_REQ") {
|
} else if(message.type == "CHANGESET_REQ") {
|
||||||
handleChangesetRequest(client, message);
|
handleChangesetRequest(client, message);
|
||||||
} else if(message.type == "COLLABROOM") {
|
} else if(message.type == "COLLABROOM") {
|
||||||
if (sessioninfos[client.id].readonly) {
|
if (thisSession.readonly) {
|
||||||
messageLogger.warn("Dropped message, COLLABROOM for readonly pad");
|
messageLogger.warn("Dropped message, COLLABROOM for readonly pad");
|
||||||
} else if (message.data.type == "USER_CHANGES") {
|
} else if (message.data.type == "USER_CHANGES") {
|
||||||
stats.counter('pendingEdits').inc()
|
stats.counter('pendingEdits').inc()
|
||||||
|
@ -588,6 +589,14 @@ function handleUserChanges(data, cb)
|
||||||
messageLogger.warn("Dropped message, USER_CHANGES Message has no changeset!");
|
messageLogger.warn("Dropped message, USER_CHANGES Message has no changeset!");
|
||||||
return cb();
|
return cb();
|
||||||
}
|
}
|
||||||
|
//TODO: this might happen with other messages too => find one place to copy the session
|
||||||
|
//and always use the copy. atm a message will be ignored if the session is gone even
|
||||||
|
//if the session was valid when the message arrived in the first place
|
||||||
|
if(!sessioninfos[client.id])
|
||||||
|
{
|
||||||
|
messageLogger.warn("Dropped message, disconnect happened in the mean time");
|
||||||
|
return cb();
|
||||||
|
}
|
||||||
|
|
||||||
//get all Vars we need
|
//get all Vars we need
|
||||||
var baseRev = message.data.baseRev;
|
var baseRev = message.data.baseRev;
|
||||||
|
|
Loading…
Reference in New Issue