So because I have gone temporarily off my rocker, I'm working on an #xmpp client using #dotnet 10 and WPF, with artalk-xmpp for XMPP, libsignal for #OMEMO, and prism for screen reader output where needed. I'm only an evening into it, and I can already tell that OMEMO is going to be the source of complicated, inexplicable, and unreproducible bug reports for decades to come. It's still not as overcomplicated as #matrix, though.
@fastfinge omemo:siacs/axolotl/legacy is widely used so it needs to be supported, omemo:2 is the latest standard and not well adopted, omemo:1 was never well adopted and is replaced by omemo:2