From 4a7caf7fc3a7d55f5de6c32277ebf066f968c86a Mon Sep 17 00:00:00 2001 From: Julien Wadel Date: Thu, 1 Dec 2022 15:54:39 +0100 Subject: [PATCH] Display all empty chat rooms if option has been set (empty secure chat rooms were hide on restart) --- .../src/components/timeline/TimelineListModel.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/linphone-app/src/components/timeline/TimelineListModel.cpp b/linphone-app/src/components/timeline/TimelineListModel.cpp index 7d5d48f55..c181d7452 100644 --- a/linphone-app/src/components/timeline/TimelineListModel.cpp +++ b/linphone-app/src/components/timeline/TimelineListModel.cpp @@ -246,7 +246,17 @@ void TimelineListModel::updateTimelines () { allChatRooms.remove_if([](std::shared_ptr chatRoom){ if( ChatRoomModel::isTerminated(chatRoom) && chatRoom->getUnreadMessagesCount() > 0) chatRoom->markAsRead(); - return chatRoom->getState() == linphone::ChatRoom::State::Deleted || (!chatRoom->hasCapability((int)linphone::ChatRoomCapabilities::Basic) && chatRoom->getConferenceAddress() && chatRoom->getHistoryEventsSize() == 0); + if(chatRoom->getState() == linphone::ChatRoom::State::Deleted) + return true; + if(!chatRoom->hasCapability((int)linphone::ChatRoomCapabilities::Basic)){ + auto conferenceAddress = chatRoom->getConferenceAddress(); + if( conferenceAddress && conferenceAddress->getDomain() == Constants::LinphoneDomain) { + QString conferenceAddressStr = Utils::coreStringToAppString(conferenceAddress->asStringUriOnly()); + if( conferenceAddressStr.contains("conf-id")) + return true; + } + } + return false; }); //Remove no more chat rooms