Highlights include Sliding Sync (instant login/launch/sync), Native OIDC (industry-standard authentication), Native Group VoIP (end-to-end encrypted large-scale voice & video conferencing) and Faster Joins (lazy-loading room state when your server joins a room).
Although it doesn’t have servers like Discord
They’re called Spaces on Matrix
If you actually tried spaces, you’d realize they’re incredibly clunky and not even close to discord rooms. You can’t even search for them. They’re not quite there yet, they leave a lot to be desired.
The organization does suck, I do agree with that. It still needs a lot of UX improvements too. Though you can turn off read indicators in the settings, and I feel like it is a lot faster then commenting on Lemmy. Lemmy being written in rust is actually causing a lot of issues. It’s not a good language for web applications and it’s really starting to show. It also hasn’t prevented security issues either.
Synapse, the most up to date matrix server, is really slow and resource intensive for sure. But, it’s currently in middle of being replaced with Dendrite. It doesn’t support all the bleeding edge features, but Dendrite has caught up enough to be able to run servers just fine now. In fact Dendrite is light enough to be ran in the mobile Element client, or at least that’s the plan in the near future while they work on p2p. You can read more about it here: https://matrix-org.github.io/dendrite/faq
I think you and those responding to you are conflating Matrix and Element and Synapse.
Spaces are a UI feature in Element for grouping rooms. Element is only one of many Matrix clients.
Element, the client, is written in typescript and kotlin.
https://github.com/vector-im
Synapse, a server implementation using the Matrix protocol, is indeed written in Python.
There are several other servers, written in Go, Rust, C, and C++.
https://matrix.org/ecosystem/servers/
Matrix is the protocol itself. Blaming it for UI problems is like blaming TCP for the toolbars in Internet Explorer: very remotely correct.
You’re not correct about spaces being a UI feature.
Spaces are now part of the protocol and are stored server side with your account data. Other clients - like fluffychat - can work with spaces just like Element.
They were element only back while they were being tested, but are now a direct replacement for the old - deprecated - groups functionality.
You had me second-guessing for a minute, but I think the other commenter is correct.
One can definitely use Spaces in other clients, even Beeper supports them. So if it was an Element-specific feature, it doesn’t appear to be any longer.