diff --git a/Linphone/UI/Main/Conversations/ViewModel/ConversationsListViewModel.swift b/Linphone/UI/Main/Conversations/ViewModel/ConversationsListViewModel.swift index 2d886cbd1..f6c6b5bad 100644 --- a/Linphone/UI/Main/Conversations/ViewModel/ConversationsListViewModel.swift +++ b/Linphone/UI/Main/Conversations/ViewModel/ConversationsListViewModel.swift @@ -450,25 +450,25 @@ class ConversationsListViewModel: ObservableObject { func changeDisplayedChatRoom(conversationModel: ConversationModel) { CoreContext.shared.doOnCoreQueue { core in let nilParams: ConferenceParams? = nil - if let newChatRoom = core.searchChatRoom(params: nilParams, localAddr: nil, remoteAddr: conversationModel.chatRoom.peerAddress, participants: nil) { - if LinphoneUtils.getChatRoomId(room: newChatRoom) == conversationModel.id { - if self.sharedMainViewModel.displayedConversation == nil { - DispatchQueue.main.async { - withAnimation { - self.sharedMainViewModel.displayedConversation = conversationModel - } - } - } else { - DispatchQueue.main.async { - self.sharedMainViewModel.displayedConversation = nil - DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { - withAnimation { - self.sharedMainViewModel.displayedConversation = conversationModel - } - } - } - } + if let newChatRoom = core.searchChatRoomByIdentifier(identifier: conversationModel.id) { + if self.sharedMainViewModel.displayedConversation == nil { + DispatchQueue.main.async { + withAnimation { + self.sharedMainViewModel.displayedConversation = conversationModel + } + } + } else { + DispatchQueue.main.async { + self.sharedMainViewModel.displayedConversation = nil + DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { + withAnimation { + self.sharedMainViewModel.displayedConversation = conversationModel + } + } + } } + } else { + Log.warn("\(ConversationsListViewModel.TAG) changeDisplayedChatRoom: no chat room found for identifier \(conversationModel.id)") } } }