Merge pull request #2092 from webzwo0i/fix-crash-with-queued-messages
Fix crash with queued messages
This commit is contained in:
commit
56fd078469
|
@ -167,7 +167,8 @@ exports.handleMessage = function(client, message)
|
|||
{
|
||||
return;
|
||||
}
|
||||
if(!sessioninfos[client.id]) {
|
||||
var thisSession = sessioninfos[client.id]
|
||||
if(!thisSession) {
|
||||
messageLogger.warn("Dropped message from an unknown connection.")
|
||||
return;
|
||||
}
|
||||
|
@ -196,7 +197,7 @@ exports.handleMessage = function(client, message)
|
|||
} else if(message.type == "CHANGESET_REQ") {
|
||||
handleChangesetRequest(client, message);
|
||||
} else if(message.type == "COLLABROOM") {
|
||||
if (sessioninfos[client.id].readonly) {
|
||||
if (thisSession.readonly) {
|
||||
messageLogger.warn("Dropped message, COLLABROOM for readonly pad");
|
||||
} else if (message.data.type == "USER_CHANGES") {
|
||||
stats.counter('pendingEdits').inc()
|
||||
|
@ -588,6 +589,14 @@ function handleUserChanges(data, cb)
|
|||
messageLogger.warn("Dropped message, USER_CHANGES Message has no changeset!");
|
||||
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
|
||||
var baseRev = message.data.baseRev;
|
||||
|
|
Loading…
Reference in New Issue