From 79550a47bdd6c0c091ecd7dd5b33e7de4ba8feb4 Mon Sep 17 00:00:00 2001 From: Alexander Zinchuk Date: Wed, 30 Jun 2021 00:22:47 +0300 Subject: [PATCH] Message List: Only group messages within less than 10 minutes --- src/components/middle/helpers/groupMessages.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/components/middle/helpers/groupMessages.ts b/src/components/middle/helpers/groupMessages.ts index 092203144..8ef1c8d56 100644 --- a/src/components/middle/helpers/groupMessages.ts +++ b/src/components/middle/helpers/groupMessages.ts @@ -6,6 +6,8 @@ import { isActionMessage } from '../../../modules/helpers'; type SenderGroup = (ApiMessage | IAlbum)[]; +const GROUP_INTERVAL_SECONDS = 600; // 10 minutes + export type MessageDateGroup = { originalDate: number; datetime: number; @@ -55,11 +57,11 @@ export function groupMessages(messages: ApiMessage[], firstUnreadId?: number) { currentAlbum = undefined; } if (nextMessage) { - const nextMessageDatetime = Number(getDayStart(nextMessage.date * 1000)); - if (currentDateGroup.datetime !== nextMessageDatetime) { + const nextMessageDayStartsAt = Number(getDayStart(nextMessage.date * 1000)); + if (currentDateGroup.datetime !== nextMessageDayStartsAt) { currentDateGroup = { originalDate: nextMessage.date, - datetime: nextMessageDatetime, + datetime: nextMessageDayStartsAt, senderGroups: [], }; dateGroups.push(currentDateGroup); @@ -82,6 +84,7 @@ export function groupMessages(messages: ApiMessage[], firstUnreadId?: number) { ) || message.inlineButtons || nextMessage.inlineButtons + || (nextMessage.date - message.date) > GROUP_INTERVAL_SECONDS ) { currentSenderGroup = []; currentDateGroup.senderGroups.push(currentSenderGroup);