diff --git a/src/CurrentCallVC.mm b/src/CurrentCallVC.mm index fa478fe4b79f0a5b15cca267b2eb90c984caef74..83ece8ef2cbf5ab025ff4c1555d5c2e85f740125 100644 --- a/src/CurrentCallVC.mm +++ b/src/CurrentCallVC.mm @@ -636,6 +636,14 @@ if (accountInfo_ == nil) return; + // If we accept a conversation with a non trusted contact, we first accept it + auto convIt = getConversationFromUid(convUid_, *accountInfo_->conversationModel.get()); + if (convIt != accountInfo_->conversationModel->allFilteredConversations().end()) { + auto& contact = accountInfo_->contactModel->getContact(convIt->participants[0]); + if (contact.profileInfo.type == lrc::api::profile::Type::PENDING) + accountInfo_->conversationModel->makePermanent(convUid_); + } + auto* callModel = accountInfo_->callModel.get(); callModel->accept(callUid_);