diff --git a/src/libclient/conversationmodel.cpp b/src/libclient/conversationmodel.cpp index dba206bd3c99a944ff81d3bab6c0b36c1a24fe44..5604a17c21d55a0bc081a8d7f753a98e9f1e299e 100644 --- a/src/libclient/conversationmodel.cpp +++ b/src/libclient/conversationmodel.cpp @@ -3611,8 +3611,12 @@ ConversationModelPimpl::addIncomingMessage(const QString& peerId, try { auto contact = linked.owner.contactModel->getContact(peerId); isRequest = contact.profileInfo.type == profile::Type::PENDING; - if (isRequest && !contact.isBanned && peerId != linked.owner.profileInfo.uri) { - addContactRequest(peerId); + // if isSip, it will be a contact! + auto isSip = linked.owner.profileInfo.type == profile::Type::SIP; + if (isSip + || (isRequest && !contact.isBanned && peerId != linked.owner.profileInfo.uri)) { + if (!isSip) + addContactRequest(peerId); convIds.push_back(storage::beginConversationWithPeer(db, contact.profileInfo.uri)); auto& conv = getConversationForPeerUri(contact.profileInfo.uri).get(); conv.uid = convIds[0];