-
-
Notifications
You must be signed in to change notification settings - Fork 224
Description
Hello. I am trying to use OMEMO to chat between two anonymous accounts on the same server (both running on the same PC, both using profanity via split screen). Although both unencrypted and OTR messaging work as expected, I can't make OMEMO work.
I hope the information provided below is useful and I would like to thank you for developing this useful piece of software.
Expected Behavior
Successful establishment of OMEMO session.
Current Behavior
Trying to establish an OMEMO chat with another anonymous account the error returned is Can't find a OMEMO device id for xxx@server. This happens although a /omemo gen command has been successfully executed on both clients. Also, connecting to the same server anonymously via converse.js (provided by the server) and initiating a 1-to-1 chat between converse.js and profanity works for unencrypted messages, but browser reports that the other party (i.e. profanity) does not support OMEMO.
Possible Solution
I am not sure about this, but the fact that during multiple anonymous connections to the same server there is a common directory used ~/.local/share/profanity/omemo/jid for omemo files might play a role. Also, I am not sure if OMEMO can be started between accounts that do not or, in the case of anonymous connections, probably cannot be added to each other rosters.
Steps to Reproduce (for bugs)
-
split screen via a multiplexer like screen
-
profanity -r "/connect server"and press enter because profanity asks (bug?) for password for anonymous connection. A random username will be returned, let's say it's A@server -
profanity -r "/connect server"and press enter because profanity asks (bug?) for password for anonymous connection . A random username will be returned, let's say it's B@server -
A@server>
/omemo gen.
reply>OMEMO cryptographic materials generated. Your Device ID is 123. -
A@server>
/omemo fingerprint
reply>Your OMEMO fingerprint: aaa-bbb
reply>There is no known fingerprints for A@server
(the last message above might be meaningful)
- A@server>
/omemo trust A@server aaa-bbb
reply>Cannot trust unknown device: aaa-bbb
reply>A@server's OMEMO fingerprint: aaa-bbb
(the message above might be meaningful)
-
B@server>
/omemo gen
reply>OMEMO cryptographic materials generated. Your Device ID is 456. -
A@server>
/msg B@server(without the stuff after the slash) -
A@server (chat window)>
/omemo fingerprint
reply>There is no known fingerprints for B@server -
A@server>
/omemo start -
A@server>
test messagereply>Can't find a OMEMO device id for B@server.
Context
I am experimenting with OMEMO and profanity.
Environment
-
Profanity, version 0.15.0
Build information:
XMPP library: libstrophe
Desktop notification support: Enabled
OTR support: Enabled (libotr 4.1.1)
PGP support: Enabled (libgpgme 1.24.2)
OMEMO support: Enabled
C plugins: Enabled
Python plugins: Enabled (3.13.5)
GTK icons/clipboard: Enabled
GDK Pixbuf: Enabled -
Debian stable, updated as of Nov 15th, 2025
-
libglib2.0 2.84.4-3~deb13u1
-
libstrophe version 0.14.0-4
-
Server software
Name : Prosody
Version : hg:ebd6b4d8bf04
OS : Linux
server used in all cases: (rot13) abzabz.vz
Note that the same thing happens with another server instance running Prosody on Linux (version: hg:260a6feebe5f)