diff --git a/apps/meteor/ee/app/message-read-receipt/server/hooks/afterReadMessages.ts b/apps/meteor/ee/app/message-read-receipt/server/hooks/afterReadMessages.ts index 293ab0a17373e..f96a9a773fecc 100644 --- a/apps/meteor/ee/app/message-read-receipt/server/hooks/afterReadMessages.ts +++ b/apps/meteor/ee/app/message-read-receipt/server/hooks/afterReadMessages.ts @@ -15,7 +15,7 @@ callbacks.add( if (tmid) { await MessageReads.readThread(uid, tmid); - } else { + } else if (lastSeen) { await ReadReceipt.markMessagesAsRead(rid, uid, lastSeen); } }, diff --git a/apps/meteor/ee/server/lib/message-read-receipt/ReadReceipt.js b/apps/meteor/ee/server/lib/message-read-receipt/ReadReceipt.js index 710c1a10d4519..bb957b8f2b142 100644 --- a/apps/meteor/ee/server/lib/message-read-receipt/ReadReceipt.js +++ b/apps/meteor/ee/server/lib/message-read-receipt/ReadReceipt.js @@ -40,7 +40,7 @@ export const ReadReceipt = { const room = await Rooms.findOneById(roomId, { projection: { lm: 1 } }); // if users last seen is greater than room's last message, it means the user already have this room marked as read - if (!room || (userLastSeen && userLastSeen > room.lm)) { + if (!room || userLastSeen > room.lm) { return; } diff --git a/apps/meteor/server/models/raw/Messages.ts b/apps/meteor/server/models/raw/Messages.ts index 8f35e5efe0206..49930a8c92ea9 100644 --- a/apps/meteor/server/models/raw/Messages.ts +++ b/apps/meteor/server/models/raw/Messages.ts @@ -1536,7 +1536,7 @@ export class MessagesRaw extends BaseRaw implements IMessagesModel { ); } - findVisibleUnreadMessagesByRoomAndDate(rid: string, after?: Date): FindCursor> { + findVisibleUnreadMessagesByRoomAndDate(rid: string, after: Date): FindCursor> { const query = { unread: true, rid, diff --git a/packages/model-typings/src/models/IMessagesModel.ts b/packages/model-typings/src/models/IMessagesModel.ts index 99d0a9a0e380b..d681405850fab 100644 --- a/packages/model-typings/src/models/IMessagesModel.ts +++ b/packages/model-typings/src/models/IMessagesModel.ts @@ -258,7 +258,7 @@ export interface IMessagesModel extends IBaseModel { userId: string, after: Date, ): FindCursor>; - findVisibleUnreadMessagesByRoomAndDate(rid: string, after?: Date): FindCursor>; + findVisibleUnreadMessagesByRoomAndDate(rid: string, after: Date): FindCursor>; setAsReadById(_id: string): Promise; countThreads(): Promise; addThreadFollowerByThreadId(tmid: string, userId: string): Promise;