From 6471c3698fd2561e13e3d31f9f69b9cc1a8aa42a Mon Sep 17 00:00:00 2001 From: sachaaaaa Date: Tue, 19 Nov 2019 11:01:28 +1100 Subject: [PATCH] Fix errors showing up from invalid public chats --- js/modules/loki_app_dot_net_api.js | 32 ++++++++++++++++-------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/js/modules/loki_app_dot_net_api.js b/js/modules/loki_app_dot_net_api.js index 1c4c9b2c0..fab8abed5 100644 --- a/js/modules/loki_app_dot_net_api.js +++ b/js/modules/loki_app_dot_net_api.js @@ -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