From 5476ee3269954ceaf8daea1f706bf0170c9a8e36 Mon Sep 17 00:00:00 2001 From: PhilReact Date: Thu, 24 Oct 2024 04:27:17 +0300 Subject: [PATCH] change remove duplicate msgs --- src/App.tsx | 2 +- .../Chat/AnnouncementDiscussion.tsx | 2 +- src/components/Chat/ChatList.tsx | 30 ++++++++----------- 3 files changed, 15 insertions(+), 19 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index fe1f497..a983363 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -149,7 +149,7 @@ const defaultValues: MyContextInterface = { message: "", }, }; -export let isMobile = true; +export let isMobile = false; const isMobileDevice = () => { const userAgent = navigator.userAgent || navigator.vendor || window.opera; diff --git a/src/components/Chat/AnnouncementDiscussion.tsx b/src/components/Chat/AnnouncementDiscussion.tsx index a162c8b..286ce95 100644 --- a/src/components/Chat/AnnouncementDiscussion.tsx +++ b/src/components/Chat/AnnouncementDiscussion.tsx @@ -255,7 +255,7 @@ export const AnnouncementDiscussion = ({ return (
{ let uniqueInitialMessagesMap = new Map(); - + + // Only add a message if it doesn't already exist in the Map initialMessages.forEach((message) => { - uniqueInitialMessagesMap.set(message.signature, message); + if (!uniqueInitialMessagesMap.has(message.signature)) { + uniqueInitialMessagesMap.set(message.signature, message); + } }); - + const uniqueInitialMessages = Array.from(uniqueInitialMessagesMap.values()).sort( (a, b) => a.timestamp - b.timestamp ); const totalMessages = [...uniqueInitialMessages, ...(tempMessages || [])]; - + if (totalMessages.length === 0) return; - + setMessages(totalMessages); - + setTimeout(() => { const hasUnreadMessages = totalMessages.some((msg) => msg.unread && !msg?.chatReference); - + if (virtuosoRef.current) { - - if (virtuosoRef.current && !isAtBottomRef.current && hasUnreadMessages) { - - - - - setShowScrollButton(hasUnreadMessages); + setShowScrollButton(hasUnreadMessages); } else { handleMessageSeen(); - } - - } if (!hasLoadedInitialRef.current) { scrollToBottom(totalMessages); @@ -51,6 +46,7 @@ export const ChatList = ({ initialMessages, myAddress, tempMessages, chatId, onR } }, 500); }, [initialMessages, tempMessages]); +