diff --git a/src/global/actions/api/sync.ts b/src/global/actions/api/sync.ts index 291e261be..2eee3ff48 100644 --- a/src/global/actions/api/sync.ts +++ b/src/global/actions/api/sync.ts @@ -136,9 +136,10 @@ async function loadAndReplaceMessages(global: T, actions: .filter(Boolean) : []; - const allMessages = ([] as ApiMessage[]).concat(result.messages, localMessages, topicLastMessages); - const byId = buildCollectionByKey(allMessages, 'id'); - const listedIds = Object.keys(byId).map(Number); + const allMessages = ([] as ApiMessage[]).concat(result.messages, localMessages); + const allMessagesWithTopicLastMessages = allMessages.concat(topicLastMessages); + const byId = buildCollectionByKey(allMessagesWithTopicLastMessages, 'id'); + const listedIds = allMessages.map(({ id }) => id); if (!wasReset) { global = {