From 642666cd78fd2e4a0da368246fcaf5d299b6edfb Mon Sep 17 00:00:00 2001 From: Kevin Aleman Date: Mon, 5 Jul 2021 07:48:44 -0600 Subject: [PATCH] [FIX] Omnichannel - Fix issue with modals on room preview mode. (#22541) * Await error on main thread so meteor can handle it * Fix an issue where clicking esc would trigger a room read on unsubscribed rooms Co-authored-by: Renato Becker --- app/ui-utils/client/lib/readMessages.js | 8 +++++++- server/methods/readMessages.js | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/app/ui-utils/client/lib/readMessages.js b/app/ui-utils/client/lib/readMessages.js index 4c308285525..8797ad6c602 100644 --- a/app/ui-utils/client/lib/readMessages.js +++ b/app/ui-utils/client/lib/readMessages.js @@ -31,7 +31,6 @@ export const readMessage = new class extends Emitter { return; } - const subscription = ChatSubscription.findOne({ rid }); if (subscription == null) { this.log('readMessage -> readNow canceled, no subscription found for rid:', rid); @@ -71,6 +70,13 @@ export const readMessage = new class extends Emitter { this.log('readMessage -> readNow canceled, no rid informed'); return; } + + const subscription = ChatSubscription.findOne({ rid }); + if (subscription == null) { + this.log('readMessage -> readNow canceled, no subscription found for rid:', rid); + return; + } + return Meteor.call('readMessages', rid, () => { RoomHistoryManager.getRoom(rid).unreadNotLoaded.set(0); return this.emit(rid); diff --git a/server/methods/readMessages.js b/server/methods/readMessages.js index d82b238dd6a..dac440bf4ea 100644 --- a/server/methods/readMessages.js +++ b/server/methods/readMessages.js @@ -22,6 +22,6 @@ Meteor.methods({ throw new Meteor.Error('error-not-allowed', 'Not allowed', { method: 'readMessages' }); } - markRoomAsRead(rid, userId); + Promise.await(markRoomAsRead(rid, userId)); }, });