diff --git a/apps/meteor/client/views/room/body/hooks/useHasNewMessages.ts b/apps/meteor/client/views/room/body/hooks/useHasNewMessages.ts index 2616e7ff1f9dd..c18489d6819b8 100644 --- a/apps/meteor/client/views/room/body/hooks/useHasNewMessages.ts +++ b/apps/meteor/client/views/room/body/hooks/useHasNewMessages.ts @@ -56,14 +56,20 @@ export const useHasNewMessages = ( return; } + if (!isAtBottom()) { + setHasNewMessages(true); + } + }, + clientCallbacks.priority.MEDIUM, + rid, + ); + + clientCallbacks.add( + 'afterSaveMessage', + (msg: IMessage) => { if (msg.u._id === uid) { sendToBottom(); setHasNewMessages(false); - return; - } - - if (!isAtBottom()) { - setHasNewMessages(true); } }, clientCallbacks.priority.MEDIUM, @@ -72,6 +78,7 @@ export const useHasNewMessages = ( return () => { clientCallbacks.remove('streamNewMessage', rid); + clientCallbacks.remove('afterSaveMessage', rid); }; }, [isAtBottom, rid, sendToBottom, uid]); diff --git a/apps/meteor/client/views/room/contextualBar/Threads/hooks/useLegacyThreadMessageListScrolling.ts b/apps/meteor/client/views/room/contextualBar/Threads/hooks/useLegacyThreadMessageListScrolling.ts index b853352e17796..81ed25c77ea77 100644 --- a/apps/meteor/client/views/room/contextualBar/Threads/hooks/useLegacyThreadMessageListScrolling.ts +++ b/apps/meteor/client/views/room/contextualBar/Threads/hooks/useLegacyThreadMessageListScrolling.ts @@ -13,7 +13,7 @@ export const useLegacyThreadMessageListScrolling = (mainMessage: IMessage) => { const uid = useUserId(); useEffect(() => { clientCallbacks.add( - 'streamNewMessage', + 'afterSaveMessage', (msg: IMessage) => { if (room._id !== msg.rid || isEditedMessage(msg) || msg.tmid !== mainMessage._id) { return; @@ -29,7 +29,7 @@ export const useLegacyThreadMessageListScrolling = (mainMessage: IMessage) => { ); return () => { - clientCallbacks.remove('streamNewMessage', `thread-scroll-${room._id}`); + clientCallbacks.remove('afterSaveMessage', `thread-scroll-${room._id}`); }; }, [room._id, atBottomRef, sendToBottomIfNecessary, uid, mainMessage._id]);