From 84084667be4bdf12e8c65da95747bf88a6b92d0e Mon Sep 17 00:00:00 2001 From: Alexander Zinchuk Date: Mon, 4 Dec 2023 14:39:04 +0100 Subject: [PATCH] Message: Fix merged forwards in Saved Messages --- src/components/middle/MessageList.tsx | 4 ++-- src/components/middle/helpers/groupMessages.ts | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/components/middle/MessageList.tsx b/src/components/middle/MessageList.tsx index 6fa5f884a..10cd90c09 100644 --- a/src/components/middle/MessageList.tsx +++ b/src/components/middle/MessageList.tsx @@ -244,9 +244,9 @@ const MessageList: FC = ({ : ['id']; return listedMessages.length - ? groupMessages(orderBy(listedMessages, orderRule), memoUnreadDividerBeforeIdRef.current) + ? groupMessages(orderBy(listedMessages, orderRule), memoUnreadDividerBeforeIdRef.current, isChatWithSelf) : undefined; - }, [messageIds, messagesById, type, isServiceNotificationsChat]); + }, [messageIds, messagesById, type, isServiceNotificationsChat, isChatWithSelf]); useInterval(() => { if (!messageIds || !messagesById || type === 'scheduled') { diff --git a/src/components/middle/helpers/groupMessages.ts b/src/components/middle/helpers/groupMessages.ts index f611318e3..fb98f169c 100644 --- a/src/components/middle/helpers/groupMessages.ts +++ b/src/components/middle/helpers/groupMessages.ts @@ -18,7 +18,7 @@ export function isAlbum(messageOrAlbum: ApiMessage | IAlbum): messageOrAlbum is return 'albumId' in messageOrAlbum; } -export function groupMessages(messages: ApiMessage[], firstUnreadId?: number) { +export function groupMessages(messages: ApiMessage[], firstUnreadId?: number, isChatWithSelf = false) { let currentSenderGroup: SenderGroup = []; let currentDateGroup = { originalDate: messages[0].date, @@ -77,6 +77,7 @@ export function groupMessages(messages: ApiMessage[], firstUnreadId?: number) { || message.inlineButtons || nextMessage.inlineButtons || (nextMessage.date - message.date) > GROUP_INTERVAL_SECONDS + || (isChatWithSelf && message.forwardInfo?.senderUserId !== nextMessage.forwardInfo?.senderUserId) ) { currentSenderGroup = []; currentDateGroup.senderGroups.push(currentSenderGroup);