From 0f22271ca23c3c2bc630ac30fbe6ad841289679d Mon Sep 17 00:00:00 2001
From: gabriellsh <40830821+gabriellsh@users.noreply.github.com>
Date: Fri, 16 Jun 2023 11:55:16 -0300
Subject: [PATCH] fix(meteor): Room history is lost when jumping to an older
 message (#29528)

---
 .changeset/plenty-ravens-grab.md                          | 5 +++++
 apps/meteor/app/ui-utils/client/lib/RoomHistoryManager.ts | 7 +++----
 2 files changed, 8 insertions(+), 4 deletions(-)
 create mode 100644 .changeset/plenty-ravens-grab.md

diff --git a/.changeset/plenty-ravens-grab.md b/.changeset/plenty-ravens-grab.md
new file mode 100644
index 00000000000..a11dba0b02f
--- /dev/null
+++ b/.changeset/plenty-ravens-grab.md
@@ -0,0 +1,5 @@
+---
+"@rocket.chat/meteor": patch
+---
+
+fixed an issue where the room history is lost when jumping to an older message that is not already loaded
diff --git a/apps/meteor/app/ui-utils/client/lib/RoomHistoryManager.ts b/apps/meteor/app/ui-utils/client/lib/RoomHistoryManager.ts
index c9adbad5cbb..98da715f17e 100644
--- a/apps/meteor/app/ui-utils/client/lib/RoomHistoryManager.ts
+++ b/apps/meteor/app/ui-utils/client/lib/RoomHistoryManager.ts
@@ -276,15 +276,14 @@ class RoomHistoryManagerClass extends Emitter {
 			return;
 		}
 
-		const surroundingMessage = ChatMessage.findOne({ _id: message._id, _hidden: { $ne: true } });
+		const messageAlreadyLoaded = Boolean(ChatMessage.findOne({ _id: message._id, _hidden: { $ne: true } }));
 
-		if (surroundingMessage) {
+		if (messageAlreadyLoaded) {
 			return;
 		}
 
 		const room = this.getRoom(message.rid);
-		room.isLoading.set(true);
-		room.hasMore.set(false);
+		void this.clear(message.rid);
 
 		const subscription = ChatSubscription.findOne({ rid: message.rid });
 
-- 
GitLab