Skip to content

Commit 2af5f0a

Browse files
authored
fix: show unread messages indicators for target channel only (#2597)
1 parent b9eb846 commit 2af5f0a

File tree

1 file changed

+4
-9
lines changed

1 file changed

+4
-9
lines changed

src/components/MessageList/hooks/useMarkRead.ts

+4-9
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ export const useMarkRead = <
3535
}: UseMarkReadParams) => {
3636
const { client } = useChatContext<StreamChatGenerics>('useMarkRead');
3737
const { markRead, setChannelUnreadUiState } = useChannelActionContext('useMarkRead');
38-
const { channel } = useChannelStateContext('useMarkRead');
38+
const { channel } = useChannelStateContext<StreamChatGenerics>('useMarkRead');
3939
const previousRenderMessageListScrolledToBottom = useRef(isMessageListScrolledToBottom);
4040

4141
useEffect(() => {
@@ -51,7 +51,6 @@ export const useMarkRead = <
5151
};
5252

5353
const handleMessageNew = (event: Event<StreamChatGenerics>) => {
54-
const newMessageToCurrentChannel = event.cid === channel.cid;
5554
const isOwnMessage = event.user?.id && event.user.id === client.user?.id;
5655
const mainChannelUpdated = !event.message?.parent_id || event.message?.show_in_channel;
5756
if (isOwnMessage) return;
@@ -72,16 +71,12 @@ export const useMarkRead = <
7271
unread_messages: previousUnreadCount + 1,
7372
};
7473
});
75-
} else if (
76-
newMessageToCurrentChannel &&
77-
mainChannelUpdated &&
78-
shouldMarkRead(channel.countUnread())
79-
) {
74+
} else if (mainChannelUpdated && shouldMarkRead(channel.countUnread())) {
8075
markRead();
8176
}
8277
};
8378

84-
client.on('message.new', handleMessageNew);
79+
channel.on('message.new', handleMessageNew);
8580
document.addEventListener('visibilitychange', onVisibilityChange);
8681

8782
const hasScrolledToBottom =
@@ -92,7 +87,7 @@ export const useMarkRead = <
9287
previousRenderMessageListScrolledToBottom.current = isMessageListScrolledToBottom;
9388

9489
return () => {
95-
client.off('message.new', handleMessageNew);
90+
channel.off('message.new', handleMessageNew);
9691
document.removeEventListener('visibilitychange', onVisibilityChange);
9792
};
9893
}, [

0 commit comments

Comments
 (0)