Message: Fix merged forwards in Saved Messages

This commit is contained in:
Alexander Zinchuk 2023-12-04 14:39:04 +01:00
parent 0411e251fe
commit 84084667be
2 changed files with 4 additions and 3 deletions

View File

@ -244,9 +244,9 @@ const MessageList: FC<OwnProps & StateProps> = ({
: ['id']; : ['id'];
return listedMessages.length return listedMessages.length
? groupMessages(orderBy(listedMessages, orderRule), memoUnreadDividerBeforeIdRef.current) ? groupMessages(orderBy(listedMessages, orderRule), memoUnreadDividerBeforeIdRef.current, isChatWithSelf)
: undefined; : undefined;
}, [messageIds, messagesById, type, isServiceNotificationsChat]); }, [messageIds, messagesById, type, isServiceNotificationsChat, isChatWithSelf]);
useInterval(() => { useInterval(() => {
if (!messageIds || !messagesById || type === 'scheduled') { if (!messageIds || !messagesById || type === 'scheduled') {

View File

@ -18,7 +18,7 @@ export function isAlbum(messageOrAlbum: ApiMessage | IAlbum): messageOrAlbum is
return 'albumId' in messageOrAlbum; return 'albumId' in messageOrAlbum;
} }
export function groupMessages(messages: ApiMessage[], firstUnreadId?: number) { export function groupMessages(messages: ApiMessage[], firstUnreadId?: number, isChatWithSelf = false) {
let currentSenderGroup: SenderGroup = []; let currentSenderGroup: SenderGroup = [];
let currentDateGroup = { let currentDateGroup = {
originalDate: messages[0].date, originalDate: messages[0].date,
@ -77,6 +77,7 @@ export function groupMessages(messages: ApiMessage[], firstUnreadId?: number) {
|| message.inlineButtons || message.inlineButtons
|| nextMessage.inlineButtons || nextMessage.inlineButtons
|| (nextMessage.date - message.date) > GROUP_INTERVAL_SECONDS || (nextMessage.date - message.date) > GROUP_INTERVAL_SECONDS
|| (isChatWithSelf && message.forwardInfo?.senderUserId !== nextMessage.forwardInfo?.senderUserId)
) { ) {
currentSenderGroup = []; currentSenderGroup = [];
currentDateGroup.senderGroups.push(currentSenderGroup); currentDateGroup.senderGroups.push(currentSenderGroup);