diff --git a/lib/reducers/message-reducer.js b/lib/reducers/message-reducer.js --- a/lib/reducers/message-reducer.js +++ b/lib/reducers/message-reducer.js @@ -301,12 +301,14 @@ }, }); } - messageStoreOperations.push({ - type: 'replace_threads', - payload: { - threads: updatedThreads, - }, - }); + if (Object.keys(updatedThreads).length > 0) { + messageStoreOperations.push({ + type: 'replace_threads', + payload: { + threads: updatedThreads, + }, + }); + } return { messageStoreOperations, @@ -1712,10 +1714,14 @@ }, }; } else if (action.type === processServerRequestsActionType) { - const { - messageStoreOperations, - messageStore: messageStoreAfterReassignment, - } = reassignMessagesToRealizedThreads(messageStore, newThreadInfos); + const { messageStoreOperations } = reassignMessagesToRealizedThreads( + messageStore, + newThreadInfos, + ); + + if (messageStoreOperations.length === 0) { + return { messageStoreOperations, messageStore }; + } const processedMessageStore = processMessageStoreOperations( messageStore, @@ -1725,7 +1731,7 @@ return { messageStoreOperations, messageStore: { - ...messageStoreAfterReassignment, + ...messageStore, messages: processedMessageStore.messages, threads: processedMessageStore.threads, local: processedMessageStore.local,