diff --git a/ts/state/ducks/conversations.ts b/ts/state/ducks/conversations.ts index 140b8288cd90..4d739491b5b3 100644 --- a/ts/state/ducks/conversations.ts +++ b/ts/state/ducks/conversations.ts @@ -3947,6 +3947,8 @@ function showConversation({ if (nav.selectedNavTab !== NavTab.Chats) { dispatch(navActions.changeNavTab(NavTab.Chats)); + const conversation = window.ConversationController.get(conversationId); + conversation?.setMarkedUnread(false); } if (conversationId === conversations.selectedConversationId) { diff --git a/ts/state/smart/ChatsTab.tsx b/ts/state/smart/ChatsTab.tsx index 6dffdc4bfc07..32b7707bf2c0 100644 --- a/ts/state/smart/ChatsTab.tsx +++ b/ts/state/smart/ChatsTab.tsx @@ -79,16 +79,16 @@ export function SmartChatsTab(): JSX.Element { scrollToMessage(selectedConversationId, targetedMessage); } - if (!selectedConversationId) { - return; + if ( + selectedConversationId != null && + selectedConversationId !== prevConversationId + ) { + const conversation = window.ConversationController.get( + selectedConversationId + ); + strictAssert(conversation, 'Conversation must be found'); + conversation.setMarkedUnread(false); } - - const conversation = window.ConversationController.get( - selectedConversationId - ); - strictAssert(conversation, 'Conversation must be found'); - - conversation.setMarkedUnread(false); }, [ onConversationClosed, onConversationOpened,