HH-569: guard replayed frontend realtime messages (#144)
* fix(HH-569): guard replayed realtime messages * fix(HH-569): gate dashboard message side effects --------- Co-authored-by: Rogee <rogee@ipao.vip>
This commit is contained in:
@@ -173,13 +173,24 @@ export const actions = {
|
||||
commit('clearConversations');
|
||||
},
|
||||
|
||||
addOrUpdateMessage: async ({ commit }, data) => {
|
||||
addOrUpdateMessage: async ({ commit, state }, data) => {
|
||||
const { id, content_attributes } = data;
|
||||
const currentMessage = state?.conversations?.[id];
|
||||
const isNew = !currentMessage;
|
||||
if (
|
||||
currentMessage?.updated_at &&
|
||||
data.updated_at &&
|
||||
data.updated_at <= currentMessage.updated_at
|
||||
) {
|
||||
return { applied: false, isNew };
|
||||
}
|
||||
|
||||
if (content_attributes && content_attributes.deleted) {
|
||||
commit('deleteMessage', id);
|
||||
return;
|
||||
return { applied: true, isNew };
|
||||
}
|
||||
commit('pushMessageToConversation', data);
|
||||
return { applied: true, isNew };
|
||||
},
|
||||
|
||||
toggleAgentTyping({ commit }, data) {
|
||||
|
||||
Reference in New Issue
Block a user