Depuis un certain temps (voire toujours), il m'a été compliqué d'utiliser OMEMO pour XMPP. C'est vrai que c'est compliqué, que les serveurs et les clients ne suivent pas forcément les specs etc. mais ça marchottait quand même.
Depuis quelques jours c'était plutôt pire, et avec un contact, systématiquement, s'il commençait la conversation, je ne recevais rien (ou si par hasard je regardais au même moment, j'avais la signalisation qu'il était en train d'écrire mais jamais le contenu).
On a tenté de creuser ensemble le problème, mais quoi que je fasse, il n'avait d'active par défaut au tout début qu'une clef précise ne correspondant à aucun des clients que j'utilisais !
Nous avons tous tenté de tout purger de chaque côté concernant OMEMO mais rien à faire. Même en purgeant la clef du client et en en obtenant donc une nouvelle, cette (mauvaise) clef-là était toujours la seule présentée au début.
J'ai fini par déplacer directement sur mon serveur ejabberd tout ce qui était donnée pubsub eeeeet… depuis ça marche.
Les clefs (publiques) sont stockées côté serveur et présentées lorsqu'on est déconnecté, de tel sorte qu'un contact va pouvoir écrire des messages chiffrés qui seront stockés et lisibles par n'importe lequel des client que j'utiliserai en premier pour me connecter (s'il était déjà connu du serveur bien sûr). Et apparemment ce stockage était corrompu…
Forcément tout contenu pubsub stocké par tous les utilisateurs de mon serveur a sauté… je ne sais pas trop quel impact cela a mais il devrait être léger.