XMPP clients L5

Given that Debian experimental already has it, the work is just rebuilding the source package on Byzantium. Given that chatty is not working well and this brings in voice calls in addition to adaptive ui, I think it is really important and the work needed is just rebuilding.

Opened https://source.puri.sm/Librem5/Apps_Issues/-/issues/219

2 Likes

Dino it is the first IM Free Software XMPP client to enable Encrypted Calls and Videos on Phosh.

1 Like

Dino adaptive version with voice calls is now available in PureOS ‘octarine’ repo (just add octarine to sources.list and sudo apt install dino-im/octarine dino-in-common/octarine).

3 Likes

I think your contact needs to run a client that supports the feature too + the XMPP instance(s) you’re using need to support the necessary XEPs too. That’s what makes using XMPP to its full potential hard: You never really know what your contact is going to support until you try.

404.city between two dino-im clients and no option. What the hell.

They may be using an older version of dino (0.2.0, the latest released version don’t support calls). Only the development version of Dino supports voice calls. What OS they are using? https://compliance.conversations.im is a good way to check if a server has all the required xeps (extra features) available.

For server compatibility, you can use https://compliance.conversations.im but for clients you have to test it manually. For Android the support is pretty good, but any other OS, the situation needs a lot of improvement.

1 Like

I can confirm that 404.city supports Jingle (if nothing changed in the meantime), I successfully made a audio/video call to other party, and we were both using Conversations for Android.

Jingle is for p2p file transfer. But if voice calls worked, then probably the server is good. https://compliance.conversations.im/server/404.city/ shows 100% compliance, so the server is good. It clearly is an older version of Dino without voice calls support from what I can understand.

I was dead sure that Jingle is used for audio/video calls, so I glanced over specification.

Turns out it generally specifies managing media sessions, and can be used for both file sharing and audio/video streaming.

1 Like

For the call button to appear on most clients you need to add the contact as a contact in the client not just send them a message or have them as a contact in a separate contacts app. Might be worth verifying this.

I don’t like this default behavior of not even showing the call icon until the contact is added in the client but it does appear to be fairly standard behavior.

Jingle probably supports voice and video calls, but modern clients like conversations or Dino uses webrtc for calls now.

1 Like

I had no idea. Thanks for clarifying.

For about two weeks I’ve intensively been using Gajim on my Librem 5 (and alternating on a Debian desktop as well). I tried Chatty just before, but could not get reliable Omemo encrypted messages to work with Conversations and Gajim on the other side. Gajim works quite well (for messaging), except for two issues: I need the on-screen keyboard to open up a conversation (with ‘enter’), and I can only open links to pictures with an actual mouse attached.

To me it seems quite unfortunate Chatty in August 2022 does not support Omemo properly despite the opposite having been promised back in August 2018, in the Librem 5 progress report: “Chatty is going to support XMPP with OMEMO encryption as well as SMS on day one” (Let’s get Chatty!)

2 Likes

Is there no way we can get a compiled version of Dino adaptive?

Nevermind, got the answer.

Actually can someone assist me getting the adaptive version of Dino working on the L5? I am not having any luck.

Run the command:

cat <<EOF >/etc/apt/sources.list.d/octarine.list
deb https://repo.pureos.net/pureos octarine main
EOF

then do:

sudo apt update

and then run the command:

sudo apt install dino-im/octarine dino-im-common/octarine

Two things about the octarine repository:

1 - It has a lower pin priority than landing and byzantium, meaning that packages from octarine need to be explicitly selected to be installed hence the extra /octarine in the package name when installing. It also means that if you add the repo octarine to your sources your system will not be “flooded” with packages from octarine in an update.

2 - A word of caution, the octarine repository serves as a “playground” for developers to work on packages before releasing them to landing. It is akin to Debian Experimental.

The Dino package is working, BUT if you go around explicitly installing other packages from octarine, expect breakages.

(and bug reports on those breakages are welcome :wink: )

4 Likes

Thanks. There is a small typo in your response and Private_Praveen’s. Basically it is dino-im-common, and not dino-in-common.

:+1:

2 Likes

:man_facepalming: oops, sorry for that.

1 Like