this post was submitted on 22 May 2024
9 points (84.6% liked)

XMPP

318 readers
1 users here now

XMPP (aka Jabber) is the community-owned standard for real-time federated messaging.

For a quick start click here

JoinJabber.org support chat

JoinJabber.org admin support chat

XMPP.net Provider List

Also see JoinJabber.org FAQ

founded 1 year ago
MODERATORS
 

“Profanity” is an XMPP app. (For those who got the wrong idea about the title)

What I use:

  • Debian with Profanity (preferred for the proper keyboard and TUI)
  • Android with Snikket

What my low-tech comrades use:

  • iOS with Snikket

It’s a bit of a disaster. One iOS-Snikket user gets my msgs but never a notification. Another iOS-Snikket user is plagued with that error msg (some bogus msg about OMEMO being unsupported). My comrades are at the edge of sanity since I’m the one who imposed xmpp+omemo on them, and they have little tolerance for all the problems.

I’m not sure what to try next. I would hate to replace Profanity because it’s the only decent text based option with official debian support. Would it help if the iOS users switch from Snikket to Monocles?

you are viewing a single comment's thread
view the rest of the comments
[–] poVoq@slrpnk.net 4 points 5 months ago* (last edited 5 months ago) (1 children)

The iOS Snikket app notifications only work with a Snikket (or specially prepared Prosody) server. Sadly it uses a non-standard way to deliver these as iOS is a bit complicated to work with in that regard.

You could ask the iOS users to try: https://monal-im.org/ (Edit: btw the login issue with the SLRPNK ejabberd server was fixed last month)

At least notifications should work more reliable with Monal, although it still lacks some other features compared to the Snikket app (a rebranded Siskin). I am not sure what causes the OMEMO error though as I am not a iOS user.

[–] activistPnk@slrpnk.net 3 points 5 months ago* (last edited 5 months ago) (2 children)

The server is snikket.chat.

I am not sure what causes the OMEMO error though as I am not a iOS user.

I believe Profanity is mostly to blame for those errors. Profanity loses track of keys and fingerprints of other users, and I think what it does is encrypts the msg to myself, then transmits it without encrypting to the recipient. Then the recipient gets a msg that’s encrypted to others but they cannot decrypt it. Then to worsen matters it seems XMPP uses the same incorrect error message for many different situations. Profanity really needs to change so if any of the recipients keys are not found, it should refuse to send the msg. I see a bogus error on my end as well, and the fix is to disable OMEMO the re-enable it (/OMEMO end; /OMEMO start).

In any case, thanks for the suggestion. I’ll see if I can get someone to try that app. I cannot be fussy about features. I really just need text msgs to work.

[–] poVoq@slrpnk.net 4 points 5 months ago* (last edited 5 months ago) (1 children)

Hmm, yes if Profanity forgets the public keys of other chat participants then it can not encrypt messages for them. But it seems odd that Profanity would lose those keys. Most people complain about too many keys in XMPP apps ;) Is it possible to replicate the issue in Profanity so that you could open a bug report?

Otherwise, assuming you want to stick to TUI clients, maybe try https://poez.io/ ? It seems to be packages for Debian as well. There is also a new project that might be worth a try: https://github.com/paulfariello/aparte/

[–] activistPnk@slrpnk.net 3 points 5 months ago (2 children)

Thanks for the info.. i'll check out poezio for sure.

Regarding the bug, it has already been reported→ https://github.com/profanity-im/profanity/issues/1615

[–] leetnewb@beehaw.org 2 points 5 months ago (1 children)

Might also be worth looking at Libervia's TUI.

[–] activistPnk@slrpnk.net 1 points 5 months ago

Thanks, I’ll check it out.

[–] activistPnk@slrpnk.net 1 points 5 months ago* (last edited 5 months ago)

Quick 1st thoughts on Poezio. I’ve installed it but not used it. From the docs I see that OMEMO support is not integrated. OMEMO is a plugin from a separate pkg that is not packaged on Debian. So that could be dicey. There is also no proxy setting but hopefully torsocks will work.

[–] leetnewb@beehaw.org 2 points 5 months ago (1 children)

What process did you follow to add keys on profanity? I remember it being a little confusing the first time I tried.

[–] activistPnk@slrpnk.net 1 points 5 months ago* (last edited 5 months ago) (1 children)

You question forced me to revisit this and take a closer look. I have in my notes “If someone’s fingerprint is untrusted, they will get an encrypted msg that they cannot read.” So I entered a 1:1 window with the one person who only ever gets errors from me, entered /omemo fingerprint, and it simply showed the person’s fingerprint. Then I did the same for someone who has fewer issues with me, and printed next to their fingerprint is “(trusted)”. Ah ha! The other acct has an untrusted fingerprint and Profanity does a shitty job of informing the user. The absense of a “(trusted)” when asking for the fingerprint is the crucial indicator.

To answer your question, I think keys are managed automatically. I never had to add a key. But I have had to trust fingerprints. In the new version of profanity it’s possible to enter /omemo trustmode blind. That would also solve my problem but I don’t want to be sloppy. So I have to guide the other user to their own fingerprint and confirm it.

(edit)
Well this is bizarre. There are a couple people who I can talk to in Profanity just fine with OMEMO enabled, and their fingerprint also lacks the “(trusted)” next to it. Yet my trustmode is “manual”.

[–] leetnewb@beehaw.org 1 points 5 months ago (1 children)

One other thought. I was under the (possibly faulty) impression that the first login of a snikket client helps the omemo process. Have you logged in with the mobile client yet?

I've had mixed results with omemo shenanigans on snikket iOS. Not sure how well PWAs work on iOS, but I considered encouraging my users to try one over the native client.

[–] activistPnk@slrpnk.net 1 points 5 months ago

I started with the snikket android app, which I actually rely on for inbound messages because if my desktop is shutdown when a msg arrives, Profanity will never get it. I occassionally send a msg using the Snikket app and it has a better success rate than Profanity.