Fully supported by XMPP: https://xmpp.org/extensions/xep-0045.html
> audio and video support
Supported by some clients (usually over Jingle) but nothing standard AFAIK: https://xmpp.org/about/technology-overview/#jingle
> threads
Rooms can have multiple threads but I don't think they're used the way they are in discord/slack/etc.
> e2e encryption
XMPP has multiple ways. Currently the most widely used by clients is OMEMO https://xmpp.org/extensions/xep-0384.html
> etc
Whatever you can think of, XMPP supports it. Whether enough clients support it for it to be reliable is another question entirely!
(The XEPs I mentioned are considered "core modern" so most clients support them, you can browse through https://docs.modernxmpp.org/client/protocol/ to see what's considered the bare minimum for a full client)
Where matrix does do more is on the protocol level, because it objectively absurdly complex and unnecessarily so. Matrix stands to offer distributed rooms as the one differentiating feature over XMPP. The complexity price to pay for that is substantial. All along, XMPP had fMUCs and distributed servers, because the complexity of clustering could be absorbed by the runtime better, for those who cared/needed it (as proven by the overwhelming success of WhatsApp, a fork of ejabberd, running on top of the Erlang platform)
Yes. And since that’s more than most Matrix users use Matrix for - it’s a design cost brought on to every single user to accommodate the needs of the 0.1%.
The complexity and cost of running a Matrix home-server instance is ridiculous. Should you ever need to do admin work - you’ll be forced to curl your own server using bespoke APIs (or use Claude to do it for you) - because element never thought an admin portal was important to include in a globally federated com-product which just keeps accumulating more and more data.
I use Matrix myself - because what else is there - but let’s be honest about what this thing is.
It’s a giant, over-engineered, under-implemented promise - which fails to deliver the second you push it past the IRC stage.
Btw - I’ve run IRC servers for 20+ years with less total lifetime maintenance than a Matrix home-server has in a single year. Just so many things breaking.