From 4761f786ae3b4e2e951eb85a98f7e733e4022ea8 Mon Sep 17 00:00:00 2001 From: Virgile <78490891+V-Gira@users.noreply.github.com> Date: Thu, 25 Jan 2024 16:24:38 +0100 Subject: [PATCH] feat: group messages sent within a short timeframe (WPB-6237) (#16631) * feat: group messages sent within a short timeframe (WPB-6237) * use TIME_IN_MILLIS util --- .../Message/ContentMessage/ContentMessage.tsx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/script/components/MessagesList/Message/ContentMessage/ContentMessage.tsx b/src/script/components/MessagesList/Message/ContentMessage/ContentMessage.tsx index 82b9819b798..27701c02fff 100644 --- a/src/script/components/MessagesList/Message/ContentMessage/ContentMessage.tsx +++ b/src/script/components/MessagesList/Message/ContentMessage/ContentMessage.tsx @@ -29,7 +29,7 @@ import {useRelativeTimestamp} from 'src/script/hooks/useRelativeTimestamp'; import {StatusType} from 'src/script/message/StatusType'; import {useKoSubscribableChildren} from 'Util/ComponentUtil'; import {getMessageAriaLabel} from 'Util/conversationMessages'; -import {fromUnixTime, TIME_IN_MILLIS} from 'Util/TimeUtil'; +import {TIME_IN_MILLIS} from 'Util/TimeUtil'; import {ContentAsset} from './asset'; import {MessageActionsMenu} from './MessageActions/MessageActions'; @@ -126,13 +126,13 @@ export const ContentMessageComponent: React.FC = ({ return true; } - const currentMessageDate = fromUnixTime(message.timestamp() / TIME_IN_MILLIS.SECOND); - const previousMessageDate = fromUnixTime(previousMessage.timestamp() / TIME_IN_MILLIS.SECOND); + // Interval in seconds, within which messages are grouped together + const GROUPED_MESSAGE_INTERVAL = 30 * TIME_IN_MILLIS.SECOND; - const currentMinute = currentMessageDate.getMinutes(); - const previousMinute = previousMessageDate.getMinutes(); + const currentMessageDate = message.timestamp(); + const previousMessageDate = previousMessage.timestamp(); - if (currentMinute !== previousMinute) { + if (currentMessageDate - previousMessageDate >= GROUPED_MESSAGE_INTERVAL) { return true; }