From b8a9523e5882bd80ef75bb21ef81c51f09cb40a7 Mon Sep 17 00:00:00 2001 From: Diego Mello Date: Tue, 5 Jan 2021 09:53:42 -0300 Subject: [PATCH] [FIX] Channels list not following the same sorting logic from web client (#2763) --- app/lib/methods/helpers/mergeSubscriptionsRooms.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/lib/methods/helpers/mergeSubscriptionsRooms.js b/app/lib/methods/helpers/mergeSubscriptionsRooms.js index 024a246d6..1bc3f18b2 100644 --- a/app/lib/methods/helpers/mergeSubscriptionsRooms.js +++ b/app/lib/methods/helpers/mergeSubscriptionsRooms.js @@ -15,9 +15,6 @@ export const merge = (subscription, room) => { if (room) { if (room._updatedAt) { subscription.lastMessage = normalizeMessage(room.lastMessage); - const updatedAt = room?._updatedAt ? new Date(room._updatedAt) : null; - const lastMessageTs = subscription?.lastMessage?.ts ? new Date(subscription.lastMessage.ts) : null; - subscription.roomUpdatedAt = Math.max(updatedAt, lastMessageTs); subscription.description = room.description; subscription.topic = room.topic; subscription.announcement = room.announcement; @@ -28,6 +25,9 @@ export const merge = (subscription, room) => { subscription.usernames = room.usernames; subscription.uids = room.uids; } + // https://github.com/RocketChat/Rocket.Chat/blob/develop/app/ui-sidenav/client/roomList.js#L180 + const lastRoomUpdate = room.lm || subscription.ts || subscription._updatedAt; + subscription.roomUpdatedAt = subscription.lr ? Math.max(new Date(subscription.lr), new Date(lastRoomUpdate)) : lastRoomUpdate; subscription.ro = room.ro; subscription.broadcast = room.broadcast; subscription.encrypted = room.encrypted;