Cli to manage contacts and invitations

Hi,

I’m currently writing a jami client in python (PyQt6) intended to run on linuxphone.

I did fix some bugs in controller.py. @Ovari did backport that to main tree.

I’m currently focused on voice only. I have a PC running TuxedoOS, a FairPhone running /e/ and two PinePhones running Mobian. The /e/ uses Android official package. For others, I did compile jamid myself and use only home made client.

My client is able to call, accept, refuse, talk, hold, unhold, hangup.

I see in jamid logs messages about invitations and contacts. But I do not see related entry points in controller.py.

Where can I read what is expected about contacts and invitations? Are they needed to operate? It seems some bits are as some of the links between my clients do work and others not…

Thanks

Thank you for previously advising on how to set up Jami for PinePhone. The following is a link to set up Jami for PinePhone instructions.

Can you please advise how to set up Jami for TuxedoOS and Jami for FairPhone to be included in the following Set up Jami link on the Jami documentation site?

It may make it easier if you want to create separate new topics for Jami for TuxedoOS and Jami for FairPhone.


TUXEDO OS

The following page:

Contains the following image:

  1. Can you update Skype Chat to Jami Chat?
  2. Is Jami Chat able to be pre-installed, like Firefox and Thunderbird, on TUXEDO OS?

Thank you

controller.py didn’t wrap many methods. According to cx.ring.Ring.ConfigurationManager.xml.

<signal name="incomingTrustRequest" tp:name-for-bindings="incomingTrustRequest">
…
</signal>
<method name="acceptTrustRequest" tp:name-for-bindings="acceptTrustRequest">
…
</method>
<method name="discardTrustRequest" tp:name-for-bindings="discardTrustRequest">
…
</method>

Should discardTrustRequest be declineTrustRequest?

If so, can any upstream PR please update discard to decline?

Thank you

One can acces via DBus (according to @Rubus_chiliadenus suggested file jami-daemon/bin/dbus/cx.ring.Ring.ConfigurationManager.xml)

Trust requests

methods

  • getTrustRequests(accountId)->requests
  • acceptTrustRequest(accountId, from)->success
  • discardTrustRequest(accountId, from)->success
  • sendTrustRequest(accountId, to, payload)

signal

  • incomingTrustRequest(accountId, conversationId, from, payload, receiveTime)

Contacts

methods

  • addContact(accountId, uri)
  • removeContact(accountId, uri, ban)
  • getContactDetails(accointId, uri)->contactDetails
  • getContacts(accountId)->contacts

signals

  • contactAdded(accountId, uri, confirmed)
  • contactRemoved(accountId, uri, confirmed)

I suppose I will add those to my fork of controller.py then propose upstream (when tested and validated)…

1 Like

Should this be:
declineTrustRequest(accountId, from)->success
?

grep -r declineTrustRequests jami-daemon

returns empty…

Sorry, should all references in the Jami code to discard be updated to decline?

I guess I had a false negative about some links as it appears one of my test client had not created its identity yet :zipper_mouth_face:

and for my current little voice only application, everything seems to works as expected regarding the communication between peers without use of neither contacts nor invitations.

I’m starting an intensive test phase in real usage scenarii to assess the usability and reliability of the solution. I really hope Jami will fit the bill here :face_with_peeking_eye:

PS: @ovari I cannot mark a post as solved in the developer section of the forum…

I dunno as I still did not figure what are Trust Requests used for… As far as I understand it is related to texting and not voice/video…

It depends if DHT.PublicInCalls is set to false.