aboutsummaryrefslogtreecommitdiff
path: root/src/services/chat_service
diff options
context:
space:
mode:
authorEugenij <eugenijm@protonmail.com>2020-11-01 14:25:02 +0000
committereugenijm <eugenijm@protonmail.com>2020-11-01 23:36:58 +0300
commit78e5a639228ba846e38ae722590aec1310275c79 (patch)
tree082fe904d76a39fe9f70fc29df020a39a681fc89 /src/services/chat_service
parente798e9a4177f025dda2b40d109fa40c2ebfd814e (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.js6
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