diff options
| author | Eugenij <eugenijm@protonmail.com> | 2020-11-01 14:25:02 +0000 |
|---|---|---|
| committer | eugenijm <eugenijm@protonmail.com> | 2020-11-01 23:36:58 +0300 |
| commit | 78e5a639228ba846e38ae722590aec1310275c79 (patch) | |
| tree | 082fe904d76a39fe9f70fc29df020a39a681fc89 /src/services/chat_service | |
| parent | e798e9a4177f025dda2b40d109fa40c2ebfd814e (diff) | |
Apply 1 suggestion(s) to 1 file(s)
Diffstat (limited to 'src/services/chat_service')
| -rw-r--r-- | src/services/chat_service/chat_service.js | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/services/chat_service/chat_service.js b/src/services/chat_service/chat_service.js index 815af82e..b0905dc1 100644 --- a/src/services/chat_service/chat_service.js +++ b/src/services/chat_service/chat_service.js @@ -78,6 +78,12 @@ const add = (storage, { messages: newMessages, updateMaxId = true }) => { if (message.fakeId) { const fakeMessage = storage.idIndex[message.fakeId] if (fakeMessage) { + // In case the same id exists (chat update before POST response) + // make sure to remove the older duplicate message. + if (storage.idIndex[message.id]) { + delete storage.idIndex[message.id] + storage.messages = storage.messages.filter(msg => msg.id !== message.id) + } Object.assign(fakeMessage, message, { error: false }) delete fakeMessage['fakeId'] storage.idIndex[fakeMessage.id] = fakeMessage |
