34 comments

[ 3.5 ms ] story [ 64.7 ms ] thread
For some particular areas of development there is strong incentive to be on matrix. For instance most ActivityPub / Fediverse related projects favor matrix. One example of a space that has a big collection of rooms here is "ActivityPub community" space [0], but there are plenty more. Also for the FOSS projects I'm interested in I find them mostly on matrix, and Discord, Zulip, or Slack are the exception (you could say that Discord/Slack are mostly chosen by OSS projects, and FOSS prefers Matrix, IRC, Zulip, XMPP).

[0] https://matrix.to/#/#activitypub-community:codelutin.com

Are you deliberately using QR only for your contact details?
I'm of the same stance. I've been using Matrix for 3 years now, primarily to communicate with family located where there is high censorship and most messengers are blocked. Probably due to the complexity of the system and inherent design, performance is horrible. Good enough for usage but just unpleasant. Their new Element X client is meant to solve a lot of problems but they're starting to deviate from common standards (e.g. TURN/STUN for calling) and towards "Element Call" and livekit which are a nightmare to set up. There's been more and more encryption problems lately where I'd sync the keys but still fail to decrypt messages on certain clients and lose history on others. I'm sticking with the old Element client but it's obvious the Vector people aren't putting much effort into it anymore seeing as there are very old but critical bugs (main one being the fact that it automatically reaches out to matrix.org when trying to sign in with other homeservers and freezes if the domain is blocked. This is fixed by Element X.) I can fix it myself but until IOS allows sideloading, I have no way of getting my fork onto my family's devices.

If anyone knows an alternative that has web, IOS, and Android clients, easily self hostable, and can do calling, please let me know.

> primarily to communicate with family located where there is high censorship and most messengers are blocked

I was travelling frequently through Asia and the Middle East around a decade ago. I wanted a platform that just works, that is low on resources, that I can self-host, that I can "disguise" itself as something else when needed (run behind a different port, or IP, over ToR, etc).

Matrix was new then, and promising to right every wrong from previous protocols (mild exaggeration). I bought into the hype, and got burnt by it, finally settled with XMPP (which Matrix had told me wasn't adequate), and stayed there to this day because when Matrix really didn't go anywhere since, XMPP kept getting better and better. That would be my recommendation to you.

I said most of the same things in the Matrix foundation's server. The general response from the team was: "Pay money or shut up and accept what we give you". The number of gigantic changes in direction this project has had in the past couple of years is enough to sink any project. Jitsi to Webrtc, complete change in auth system, Element to Element X. There's two clients. One that's fast, and one that's full featured. You can either skip out on features, or use something slow.

I try to be positive and supportive of project, but my experience with these guys is that they're incredibly arrogant.

It's tough finding an open-standards based IM application for corporate use.

XMPP is kinda fragmented, with no nice clients. Matrix is a clusterfuck with a BDFL who is probably too smart for his own good. Signal is open source but hostile towards self hosting.

P.S I suspect the organization is being led by Architecture Astronauts [1]. Every (including the naming) is abstracted to the point of meaninglessness.

[1] https://www.joelonsoftware.com/2001/04/21/dont-let-architect...

> The general response from the team was: "Pay money or shut up and accept what we give you".

I think you may be unfairly paraphrasing "we don't have enough funding to be able to work on both Element & Element X, or Synapse & Dendrite, or to have landed Threads/Spaces in Element X yet, or <insert complaint here>".

> The number of gigantic changes in direction this project has had in the past couple of years is enough to sink any project. Jitsi to Webrtc, complete change in auth system, Element to Element X.

It feels ironic that our attempts to improve the project are characterised as "gigantic changes in direction which are enough to sink any project".

* Jitsi is unencrypted by default, and doesn't synchronise identity, access control, or cryptographic identity with Matrix, and uses XMPP (Prosody) for signalling. Moving to MatrixRTC (i.e. WebRTC signalled over Matrix) gives proper end-to-end-encryption with verified identity and access control managed by Matrix. Surely this is a good thing?

* "Complete change in the auth system" is a massive improvement, in that one of the main drivers for doing it was to now be able to use any OIDC identity provider to add 2FA/MFA/Passkeys or whatever fancy auth you like (despite the OP's assertion otherwise).

* "Element to Element X. There's two clients. One that's fast, and one that's full featured". Well, that's true, but most people seem to feel Element X's improvements outweigh the fact it doesn't have threads/spaces yet (although they are both in dev currently).

> but my experience with these guys is that they're incredibly arrogant.

For what it's worth, I think i've made some spectacular mistakes in running Matrix, as well as bunch of good stuff). This came up in the TWIM offtopic room a few weeks ago at https://matrix.to/#/!xALORqBdeiSfgdrmUb:bpulse.org/$4bGbRTxN.... I've reproduced it (lightly updated) at https://gist.github.com/ara4n/8422ae8eae68a8993a5e831691b441... for ease of reference. I'll let you decide whether that sounds like arrogance or a BDFL who's too smart for his own good.

> P.S I suspect the organization is being led by Architecture Astronauts

On the Element side: does https://youtu.be/IwZ4rE_Pt64 feel like an org led by architecture astronauts?

My experience, contradicted when I bring it up usually (But not by this article): I've found the Element client to be slow and buggy, and I still can't figure out how to either verify my account, or get the verification notifications to go away.
So what are the best alternatives?
from jabber/xmpp and back. time is a flat circle
The issue of broken rooms was reportedly the database having gotten corrupted indexes, which affected a bunch of rooms (2/55 of ones I was in): https://github.com/element-hq/synapse/issues/18606#issuecomm....

Not much a protocol/implementation can do about that. It did take over 2 weeks for it to be resolved though, which is a rather long period of time.

Also on the status page - https://status.matrix.org/incidents/8gljb3gtlv11 (shows start at Jul 2, but I noticed it on Jun 28)

After that was resolved, messages that were sent and received by/on other homeservers during that time never ended up on matrix.org, so much for federation :/

I find Signal just unbeatable on all fronts: security, UX, ease of use, general thoughtfulness put into the product. It has the best simple media editor (for video clipping, blurring faces, compressing) I have ever seen casually built into the sending flow.

Every time I use anything, from MS Teams to Whatsapp, I find myself wishing they were more like Signal.

For me Signal is not an option. Any pretty promise can be broken on a whim in the same fashion Facebook acquired WhatsApp and could then do whatever they wanted with it. Any pretence of user-friendliness has been defeated when Signal started pushing their crypto and bar their users from using an alternative client. Centralised services are problematic by design, and almost always abusive.
Yeah, Matrix UX is disgusting in every aspect.

Every client looks bad, works slow and most of them have only subset of features.

At 2025 year I still can't see online status when I use most popular server and client.

When I use SDK as a developer, *I can't use encryption* for bots. I've created issue about it over year ago https://github.com/turt2live/matrix-bot-sdk/issues/363 and maintainer just closed it as not planned to fix.

Matrix Protocol is overcomplicated and ridiculous. As I understood, the reason of mentioned problem with lack of "online status" feature is a high network load that yields by presence status feature, so server owners just disable this feature.

It is ridiculous that messenger who state it is "privacy focused" - can't handle encryption for bots and sell us idea that it's fine to log-in in my account on random site on internet. Because any site where i enter my password and secret key, may steal my password.

The same thing with applications. "Reference implementation" of app is an Electron app that loads javascript from internet and may inject malware anytime.

My impression is that Matrix is a scam to spy over people who blindly believe in security, like a Telegram does.

Every time it was suggested to adopt matrix into our platform, we took one look at the protocol docs and said NOPE.
Would be interested to hear about alternatives.
Here's what I wrote in 2019 (https://news.ycombinator.com/item?id=21592195):

"The reason for Slack's success is probably because it's a "turn key solution": you register your company, invite your employees, enter your CC, and you're good to go."

"With a lot of these open solutions things are more complex. I think we should really focus on providing a good UX here if we want more adoption."

This seems unchanged, or even worse. Arathorn recommended modular.im in a reply, which now redirects to https://element.io/pricing, and "set up a server" just redirects to GitHub, and the only other option is "Talk to an expert" – yeah, no.

Self-hosting is great but realistically, lots of people are just not interested, and that's fine too. And even if they are: having a simple option to quickly evaluate $the_thing is probably a good idea.

This is of course in addition to all the technical problems outlined in this post, which I also reported in 2019: "opening https://riot.im/app/ makes Firefox use 100% CPU and my laptops fan spin; I closed it after 10 seconds of just a loading animation"

To add to the pile:

- The web client doesn't load any images/media anymore for me in new sessions. I log in, I cross authenticate with another client, no images load. At work I've a very old browser session going and everything works.

- We host synapse at work to explore feasibility. Been going on for about 9 months now. Public profile lookup is disabled. This breaks inviting anyone from our company from another server, when the inviting user is using element. Because element tries to query the user info first, and if that fails with an unexpected error code, it will not allow you to continue sending the invitation. There's obviously an issue open for months now, where multiple people suggested they just add a warning that it couldn't check if the user exists, with a "continue anyways" button, but the devs prefer to come up with idiotic excuses why that would be a bad idea.

I did some quick research myself then, and it looks like the profile lookup is relayed through the server of the inviting user to the server of the user to be invited. The inviter's server converts any http error code from the invitee's server that is "not valid" to a generic error, that element then chokes on, here: https://github.com/element-hq/synapse/blob/1920dfff40ad10780...

i.e. Only 404 is valid, according to code and comment there.

But IN THE SAME FUCKING SOURCE FILE, they return a 403 if profile lookup is disabled: https://github.com/element-hq/synapse/blob/1920dfff40ad10780...

Can't get any better than this I guess. Cobbled together bullshit. I hope my company will consider this experiment failed soon and switch to slack or something. Anything.

> The web client doesn't load any images/media anymore for me in new sessions. I log in, I cross authenticate with another client, no images load. At work I've a very old browser session going and everything works.

That sounds like something with authenticated media has gone really wrong.

Do the fetch requests for the media fail, or does it not even attempt to make the requests? Is there an error message in the logs?

Regarding the invite issue, could you please clarify in which versions of element (web/desktop, android, iOS, elementX) you've seen the issue, and in which dialogs (search for user, create new room, invite users to existing room)?

We had a variation on this discussion a few days ago here

https://news.ycombinator.com/item?id=44591820

I discussed that their primary server had a child porn/child sex assault imagery problem. Others who had similar concerns were completely dismissed and attacked by the Element/Matrix admins.

I have to agree with this article. Matrix is basically dead, and not worth keeping around. And it starves the open source ecosystem from better things taking hold.

I agree with all of it. I abandoned Matrix about a year ago and never looked back. Something's very smelly about their history, broken promises and overall quality.
I want to like matrix, but I had to give up my homeserver. For reasons that are unclear to me I was added to the matrix.org homeserver blacklist, with no communication on why or response to my asking why.

Eventually I noticed some issue with the database, it having grown many hundreds of GB (something about my users being stuck in matrix.org rooms that they're blacklisted from, I guess) so I rm -rf'd it and that's that. :\",

Could it be that your needs would be covered by XMPP? You can run that on a RPi in a shoebox.
Probably, yeah, though I'm not familiar with the ecosystem yet. It seems like ejabberd is written in erlang, which is promising.
"Pull requests welcome" is all I can say to anyone who puts energy into long rants about the "state" of a FOSS project.

If you think volunteer dev is so easy then get stuck in and be the change you want to see.

Pull requests aren't going to solve the current issues with Matrix. I believe that the problem arises from the protocol design itself. And cutting back on the current specification is not viable for an already deployed project.

Here are some reasons why I think it's the protocol. Synapse is the only fully functional home server. Both dendrite and conduit are struggling to reach feature parity. This could be either due to the protocol being too complex or it being extended too fast. I have seen signs of both. Meanwhile, practically all web clients like element, cinny and schildi are all based on the same codebase. Native clients like Fractal and Nheko do exist. But it looks like they are also going to need the rust library behind elementx to attain full function. This lack of diversity among the clients are also indicative of the protocol complexity (similar to how nearly every web browser is based on Chrome's blink engine).

This link has 71 comments and 84 points and is from 4 hours ago yet it shows for me on place 197 (page 7) of HN.

Is Ycombinator (or one of the intermediary investment funds) invested in New Vector?

Speaking as project lead for Matrix, I obviously feel pretty gutted when someone gives up like this. Doubly so when the straw that broke their back wasn't even a Matrix problem, but really gnarly postgres corruption (see https://news.ycombinator.com/item?id=44618702).

Firstly, I'm sorry they had such a bad time, and as per https://news.ycombinator.com/item?id=44621077 there's a tonne of things we've (i've) done wrong.

That said, there's a bunch of points raised here which aren't fully accurate. So for the sake of completeness:

> The official Matrix homeserver, Synapse, was built with a tech stack ill-suited for its long-term goals and scale

These days Synapse is hybrid Rust for the fast paths (https://github.com/element-hq/synapse/tree/develop/rust) and Python 3 + mypy for the rest. Huge servers like matrix.org (150K concurrent users) run fine on it. I'm not convinced the "ill-suited tech stack" crit holds.

> Community projects like Dendrite emerged to rewrite the homeserver more sensibly

Dendrite is not a community project and never has been; it was written by the core Matrix team, and then when we realised Synapse had critical mass we backported most of its architectural improvements to Synapse.

> New Vector seems to be chasing too many goals simultaneously, with no clear direction

No? we killed all the sidequests in order to just do Element Web, Element X, Element Call and Synapse.

> Just a few months ago, they migrated to the Matrix Authentication Service (MAS), which was supposed to be a leap forward, yet lacks even essential security features like 2FA/MFA.

No? the whole point of MAS is that it lets you delegate straight through to a proper IDP which provides 2FA/MFA/Passkeys etc.

> Launching the app requires network synchronization that hampers responsiveness

No? Turn off your network, launch Element X, and see that it launches fine? Obviously it does need to talk to the server to retrieve new data. I guess there was the https://github.com/element-hq/element-x-ios/issues/4102 issue, but that was fixed 3 weeks ago.

> The Matrix.org service, especially its matrix.org homeserver, is also slow

matrix.org feels pretty good to me these days, even on my mammoth account (other than when talking in Matrix HQ)

> On my laptop, I’ve been using iamb, a TUI Matrix client, and even there I experience delays of tens of seconds when launching it, and a lag of several seconds between pressing Enter and seeing the message actually appear in the chat room.

I'm assuming that's because iamb hasn't enabled sliding sync, and/or hasn't implemented local echo, or has some other perf bug. Or perhaps you're on an old build. Given it's using the same matrix-rust-sdk as Element X it should in theory be instant.

> And that’s certainly not iamb’s fault, because it’s written in Rust, btw™.

...

> the lack of proper first-party libraries for 3rd-party developers to build on top of, it became visible that the once-vibrant ecosystem, does no longer look so healthy

This is really weird. It's not clear that the Matrix Foundation should publish software at all, to be honest - it's effectively a standards body. W3C doesn't write browsers or web servers any more, for instance.

As it happens, we have invested a huge amount of effort into publishing a flagship first-party client SDK anyway: matrix-rust-sdk. And matrix-js-sdk is still there too. We very deliberately have handed off other SDKs to the broader co...

i ran a matrix homeserver for just shy of 4 years and it was the lowest user, highest maintenance service i have ever ran. thats completely putting aside the user experience issues too
I'd been maintaining my own Synapse homeserver for years mainly to chat with one friend, who uses the matrix.org server. Images shared between us break on a regular basis, and yes they broke for a bit during the authenticated media changeover but also since then he just periodically doesn't receive images I send.

It happened again last week, I said "fuck it, the devs will just claim it's my fault if I ask for help, let's just take this to Signal". I'll probably shut down my homeserver once I've figured out alternative ways to access the handful of communities I also happen to follow via Matrix. I have no doubt a reply will be forthcoming soon about how that's all a coincidental thing which isn't actually Matrix's fault but I've been reading those replies here for years and the actual situation doesn't improve.