@gnemmi @smn

2. Because of the long history of Jabber (since 1999!), and huge advancements in cryptography, encryption in XMPP has many options. So far, so good, but most clients are still on #OMEMO 1, which has some problems, and only few clients already have OMEMO 2 (#Kaidan by @kaidan, #Libervia by @Goffi, soonโ€ฝ also #Conversations_im by @daniel, #ConverseJS by @jcbrand and #JabberEl by @[email protected]). And there is no standard way to move decrypted message from an old device to a new one!

Implementing an #XMPP client in #SWI #Prolog.

It connects and ssl_negotiate works... I still have to implement the authentication... but it's working!!! ๐Ÿ™Œ๐Ÿ™Œ

The automata design is based on #JabberEl (the #Emacs XMPP client). This.is a good way to learn how it was implemented too.

https://codeberg.org/cnngimenez/swi-xmpp

swi-xmpp

XMPP client implemented in SWI-Prolog.

Codeberg.org
@debacle @hyperreal
Thanks, #JabberEl was what I meant, forgot to look it up.