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:
Rogee
2026-08-24 00:42:05 +08:00
committed by GitHub
co-authored by rogee
parent 88ac30d0b8
commit 84a1e35294
8 changed files with 398 additions and 15 deletions
@@ -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) {