Hello, I’ve spent quite a while interpreting the message you sent. Well, I’m trying to understand that you’re asking whether the contact will disappear after you delete the message record of the contact, is that correct?
When you choose to delete or block a contact, the contact will disappear and you will need to add the contact again.
The difference is that when you choose to delete a contact, after re-adding this contact, a new contact information about you will be added to this contact’s software interface. The original contact information will become invalid. It will not disappear from this contact’s software interface, but it will be unable to send messages
I see. sendTrustRequest is the method to start a conversation not to (just) verify the other end like I initially thought!
And it implies adding automatically the correspondent into the contact list maintained inside jami.
This is totally unrelated to Calls…
If understand properly, for calls there is no possible check of the caller by the callee in jamid.
And contacts list in not used for calls either (the client is to retrieve the “username” from the “display name” before using the method placeCall).
So, if I want (I do) to restrict incoming calls to known trusted contacts, I have to implement that mechanism in my client (automatic Refuse(callId)onCallIncoming (the state, not the signal) if call.details['from'] is unknown locally). And I can use the above sequence for this having the clients conversing to each other in the background without user intervention…
Hello @jchdel
As you noticed, it’s not required to callsendTrustRequest after acceptTrustRequest, because acceptTrustRequest handle sending the confirmation to the peer and create a conversation.
For calls, you can use the “DHT.PublicInCalls” account configuration field to control accepting incoming calls from unkown peers. If set to false, only contacts will be allowed. We plan to set this option to false by default in future Jami versions. The client can also implement custom logic to accept or refuse calls.
Regarding contact management, removeConversation only deletes the conversation but preserves the contact. If the removed conversation was the last one with that contact, a new conversation is created. Since the contact is preserved, the peer will be made aware that you left the previous converation.
However, if a contact is removed with removeContact, the removed peer is not made aware, and because any conversation with that contact gets fully deleted, the peer will not know about these previous conversations, even after being re-added as a contact. We plan to improve this in the future.