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);