XMPP self hoster here.
I've been revisiting moving to self hosted Matrix around every 4 months now for 2 years, and every single time I failed.
The reasons vary; initially synapse refused to work, then I got stuck trying to set up a multi-domain service.
That said, this document verifies what I feared in the background: what matrix offers as self-hosted is too simple to be true, and thus it's no surprising I never got it completely running.
XMPP has it's own issues, but when I self host it, it's there, nowhere else. No identity servers, no push servers, no jitsi servers in the background.
It seems like I'm going to be with XMPP for a much longer time.
My experience is that synapse is not harder than ejabberd (I don't have experience with other XMPP servers)
Matrix tries to do a lot more than XMPP. In my experience, people find XMPP too limiting, so they don't use it.
> Matrix tries to do a lot more than XMPP
It's not that simple. Many doesn't know about omemo, jingle, etc, when it comes to xmpp. Or xmpp bridges like biboumi.
Matrix is is doing the same thing, but on differrent - and way more complicated - infrastructure ideas.
Prosody is definitely much simpler to configure, even with multiple domains, especially when per domain specific setting are needed.
The problem with omemo, jingle, etc. is that you have makes sure that the XMPP components you use support them. It would be fine if all popular implementations support those features, but that's not the case.
So you can't just say, let's use XMPP. You have to be very specific and make sure people use the right versions.
You can say that Prosody is easy. I don't find the following list easy: https://prosody.im/doc/modules
And you probably need 'Component "conference.example.org" "muc"' for any kind of 'room' support.
The the next question, does prosody have the equivent of federated rooms in matrix. Here is a list of XMPP extensions in the documentation: https://www.prosody.im/doc/xeplist
I guess the answer is, there are no federated rooms in prosody.
Another question is whether it is possible to send someone an XMPP message when that person is offline. I have no idea how to search for that.
No federated rooms. Offline messages are supported.
I guess newer Prosody supports this and much more out of the box but the generic configuration instructions I used are here: https://serverfault.com/questions/835635/what-prosody-module...
> The problem with omemo, jingle, etc. is that you have makes sure that the XMPP components you use support them. It would be fine if all popular implementations support those features, but that's not the case.
Isn't this also the case with Matrix that no implementations except the official ones support E2E encryption?
A general purpose project to provide all clients with E2E encryption is being developed (and is usable right now): https://github.com/matrix-org/pantalaimon
Right now it runs as a daemon on a user's local machine.