Merge pull request #632 from sachaaaaa/fix_error_public_chat

Fix errors showing up from invalid public chats
This commit is contained in:
sachaaaaa 2019-11-19 12:06:34 +11:00 committed by GitHub
commit 3aa53ed24a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -987,23 +987,25 @@ class LokiPublicChannelAPI {
// sort pending messages by if slave device or not
/* eslint-disable no-param-reassign */
const slaveMessages = pendingMessages.reduce((retval, messageData) => {
// if a known slave, queue
if (slavePrimaryMap[messageData.source]) {
// delay sending the message
if (retval[messageData.source] === undefined) {
retval[messageData.source] = [messageData];
const slaveMessages = pendingMessages
.filter(messageData => !!messageData)
.reduce((retval, messageData) => {
// if a known slave, queue
if (slavePrimaryMap[messageData.source]) {
// delay sending the message
if (retval[messageData.source] === undefined) {
retval[messageData.source] = [messageData];
} else {
retval[messageData.source].push(messageData);
}
} else {
retval[messageData.source].push(messageData);
// no user or isPrimary means not multidevice, send event now
this.serverAPI.chatAPI.emit('publicMessage', {
message: messageData,
});
}
} else {
// no user or isPrimary means not multidevice, send event now
this.serverAPI.chatAPI.emit('publicMessage', {
message: messageData,
});
}
return retval;
}, {});
return retval;
}, {});
/* eslint-enable no-param-reassign */
pendingMessages = []; // allow memory to be freed