From 24f6c434cffd611f090a218d6e505800a4243b09 Mon Sep 17 00:00:00 2001 From: "Joseph T. Lyons" Date: Sun, 21 Jan 2024 16:06:28 -0500 Subject: [PATCH] Dont group messages after certain period of time --- crates/collab_ui/src/chat_panel.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/crates/collab_ui/src/chat_panel.rs b/crates/collab_ui/src/chat_panel.rs index 0419ac9a0c..aee181e1df 100644 --- a/crates/collab_ui/src/chat_panel.rs +++ b/crates/collab_ui/src/chat_panel.rs @@ -18,7 +18,7 @@ use project::Fs; use rich_text::RichText; use serde::{Deserialize, Serialize}; use settings::Settings; -use std::sync::Arc; +use std::{sync::Arc, time::Duration}; use time::{OffsetDateTime, UtcOffset}; use ui::{ popover_menu, prelude::*, Avatar, Button, ContextMenu, IconButton, IconName, KeyBinding, Label, @@ -304,8 +304,11 @@ impl ChatPanel { let last_message = active_chat.message(ix.saturating_sub(1)); let this_message = active_chat.message(ix).clone(); - let is_continuation_from_previous = last_message.id != this_message.id - && last_message.sender.id == this_message.sender.id; + let duration_since_last_message = this_message.timestamp - last_message.timestamp; + let is_continuation_from_previous = last_message.sender.id + == this_message.sender.id + && last_message.id != this_message.id + && duration_since_last_message < Duration::from_secs(5 * 60); if let ChannelMessageId::Saved(id) = this_message.id { if this_message