From 834b0bdc9ecf247fad43275e331d6f51810c0e1d Mon Sep 17 00:00:00 2001 From: Nyxo Date: Tue, 28 Jan 2025 00:35:34 +0800 Subject: [PATCH] fix: Chat page fails to show messages when new ones arrive --- src/layout/useGlobalEvent.ts | 5 ++++- src/store/modules/message.ts | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/layout/useGlobalEvent.ts b/src/layout/useGlobalEvent.ts index 2e36b6e..856091a 100644 --- a/src/layout/useGlobalEvent.ts +++ b/src/layout/useGlobalEvent.ts @@ -286,7 +286,10 @@ export function useGlobalEvent() { (c) => c.conversationID === conversationStore.storeCurrentConversation.conversationID, ) - if (idx !== -1) conversationStore.updateCurrentConversation(changes[idx]) + if (idx !== -1) { + conversationStore.updateCurrentConversation(changes[idx]) + messageStore.pushNewMessage(JSON.parse(changes[idx].latestMsg!)) + } const result = [...changes, ...filterArr] conversationStore.updateConversationList(conversationSort(result)) } diff --git a/src/store/modules/message.ts b/src/store/modules/message.ts index 4067244..dbb20e8 100644 --- a/src/store/modules/message.ts +++ b/src/store/modules/message.ts @@ -60,7 +60,9 @@ const useStore = defineStore('message', { } }, pushNewMessage(message: MessageItem) { - this.historyMessageList.push(message) + if(this.historyMessageList.findIndex(item => item.clientMsgID === message.clientMsgID) === -1) { + this.historyMessageList.push(message) + } }, updateOneMessage(message: ExMessageItem, isSuccessCallBack = false) { const idx = this.historyMessageList.findIndex(