[OMEMO] Gajim sometimes doesn't encrypt for another device on the same account
Gajim 1.1.3 on Arch, OMEMO plugin 2.6.29. Conversations 2.5.8.
Short description: Gajim sometimes doesn't encrypt messages for another device (Conversations) on the same account.
Here's a scenario I gathered Gajim logs for (all devices in this example were set up to trust each other).
- Conversations being online (as it is most of the time).
- Log in using Gajim.
- Send a message to myself using Gajim.
Conversations can't decrypt the message. ("Message was not encrypted for this device" is shown) - Send a message to myself using Conversations.
Both devices can decrypt the message. - At this point sending more messages yield the same results: Conversations can't decrypt messages sent from Gajim.
- Log in using Dino (and log out from Dino; not sure logging out is relevant).
- Send a message to myself using Gajim.
Both Gajim and Conversations can decrypt the message. - Restart Gajim.
- Send a message to myself using Gajim.
Conversations can't decrypt the message. - Log in using another Gajim instance (on another Arch).
- Send a message to myself using Gajim (the first one).
Conversations can't decrypt the message. -
Received own device list
appears in logs. - Send a message to myself using Gajim (the first one).
Both Gajim and Conversations can decrypt the message.
Another time Gajim started encrypting messages to Conversations when I restarted my jabber server without restarting Gajim (I don't have logs for that).
The problem seems to be happening only with these particular Gajim and Conversation installations (however, I'm not absolutely positive about it).
The problem appeared pretty much after the first use of the Conversations device in late 2017.
The Gajim installation dates back to 2015. I can't remember for sure, but unstable versions of OMEMO plugins might have been used long time ago.