Self-hosting a Matrix server for 5 years
1–10 of 159 posts
Re: Self-hosting a Matrix server for 5 years
#2Re: Self-hosting a Matrix server for 5 years
#3Re: Self-hosting a Matrix server for 5 years
#4Re: Self-hosting a Matrix server for 5 years
#5Re: Self-hosting a Matrix server for 5 years
#6(a) the encryption between using a mobile and the webapp desyncs/breaks all the time, it just sucks. I mean you'll get "cannot decrypt" a lot, have to bounce back and forth and generally try and force it to re-sync properly again. Sometimes never worked at all. Lots of issues on GH over the years.
(b) as mentioned in this article, insane delays on new message notif and sending and receiving. Just logging in on the webapp every morning took minutes of some sort of mysterious sync process, often the mobile app had the same problems. The X stuff may fix this, we were pre-X.
(c) cleanup. There's no message retention set on matrix.org, when I wanted to extract and remove our past chats the process and experience was excruciatingly bad. It took tens of hours over several weekends of the webapp (mobile completely non-op in practice for this) polling and loading old content, just so I could select 100 at a time to delete and then it took an hour. Once I started culling back over a year or so, the loading got longer and longer and longer, until eventually it 100% stopped working at all to load old messages.
Signal and DeltaChat are far, far better experiences for one-on-one chats with friends & family. The Delta client is a bit UI/UX behind but not horrible; e.g. you can't correct a typo in a sent message in Delta, unlike Signal - because each msg is a unique gpg-encrypted "email" rather than a database object that can be re-manipulated.
Re: Self-hosting a Matrix server for 5 years
#7Re: Self-hosting a Matrix server for 5 years
#8I legitimately could go on and I'm sure I've forgotten things. It's amazing how quickly my experience with Dendrite went from pretty good to nightmare.
I realized that nobody in charge at the Matrix Foundation or New Vector really cared enough about leaving people stranded on a completely broken server to actually do anything about it (and trust me, I'm not alone. In every single federated room I've ever been in, I've always seen hostnames with dendrite subdomains. I could see them pass by in the logs while joining servers was taking hours.) I honestly considered just leaving the Matrix ecosystem, but I wasn't alone on my home server, so I decided to do my best to fix the problem. I wrote a tool that attempts to migrate the data from Dendrite to Synapse. This is a complicated operation that really took a huge amount of effort to get working, but after a couple of months of failed attempts, I had a test where I was able to seamlessly perform the migration and have clients continue to work and stay in federated rooms. So after getting it "close enough", I went ahead and gave the migration a shot in production and of course, it didn't work very well. All of the user accounts were intact, but a lot of stuff was broken. People indeed stayed in federated rooms, but my room state migration was definitely not 100% correct. Despite this, though, after manually cleaning up the database a bit more, hackishly while live, it was mostly a success. I believe I am probably the first person to directly move from Dendrite to Synapse.
So now that I am on Synapse, have my thoughts on Matrix changed? Yes. It's significantly better using Synapse, without question. The ecosystem is still a mess, but everything about Synapse is less broken than Dendrite. There are so many features Dendrite just doesn't do, like URL previews.
Why not contribute to Dendrite? Honestly, I don't want to. Their CLA sucks and they're not going to change it for me, and I don't think they're really going to spend time reviewing PRs given the circumstances. If I'm going to contribute to a project without retaining my rights I'd prefer to be on payroll. That's not something you should get from a community member. Either change the CLA to guarantee the project must stay open, or don't expect any free contributions.
Why not post my migration tool? Well honestly, for starters, it's not a very high quality tool. I could probably do some good for the Matrix ecosystem if I could get this tool in much better shape and have it migrating complex room states correctly, but I don't even know if I want to help anyways. This should've never been my problem. I will fully admit that it was my bad choice that got me here, but I really think it can be forgiven: nothing I saw suggested to me that Dendrite was on the way out. On the contrary, everything suggested it was the future, and just simply not ready for large scale usage yet. I'm bitter. I spent a lot of hours on this problem and I feel like hours spent on the Matrix ecosystem won't be repaid.
I hate to be this cynical, but it's just how it is. It's a mess. I didn't bother going into the other messes that still exist when using Synapse, like the seemingly many different ways that VoIP can work in Element and Element X, and the fact that Element X seems to only support a newer VoIP protocol that Element on desktop does not. (Surprise! There is no Element X on desktop...)
Matrix has some other downsides, that I think are tolerable but definitely make me a bit bummed. It leaks quite a lot of metadata to the homeservers, which is kind of alright, but I do think it's a bit sad; even room names are not encrypted, clearly it would be possible to do better. The ecosystem of clients is sad; Element is the only one that is feature complete and while I think it has improved quite a lot I still would prefer a native application over a web view. (You kind of need a webview if you want feature parity though, since group A/V in Element desktop seems to just use a Jitsi iframe...)
The upside is that it is federated and at least messages and files are E2EE in DMs and optionally for groups. I do like that.
Personally though the federation thing feels a bit off to me. I know it's a pipe dream, but it just feels like 1-on-1 and small group DMs should be roughly peer-to-peer. Servers should be for chatrooms and relays. The problems I see are mobile notifications, offline messaging, and discovery. I have wondered if a model like AT proto could get you there for DMs. I would like to try to prototype something some day, but I know that at this point the XKCD 927 count for IM software is pretty insane, so if I'm going to throw my hat into the ring it better be worth it.
Maybe some day I will be less bitter. I mean, Matrix is free, how much can I really be angry if it didn't work how I wanted it to. But, it's hard. I tried to buy in hard, and wound up making a lot of trouble for me and a small group of people that I inadvertently looped into my own mess. I trusted Matrix because it seemed to be the leading option, but definitely I will now be much, much more careful before adopting an ecosystem into my life and the life of people around me. For example, I still have no ActivityPub server... Maybe it's better if I just wait and see what happens there before jumping in, if I'm going to.
Re: Self-hosting a Matrix server for 5 years
#9Edit : I wonder how easy it is to backup a Matrix accounts's data. Conversations and files.
Re: Self-hosting a Matrix server for 5 years
#10As a former user I felt these pain points trying to do nothing more than have a very active one-on-one chat with a good friend. Tens of messages an hour, maybe 2 years running. Using matrix.org and the pre-X clients. It's fine for group chat (IRC style) but that's not a high bar. (a) the encryption between using a mobile and the webapp desyncs/breaks all the time, it just sucks. I mean you'll get "cannot decrypt" a l…
b) yeah, X solves it (via sliding sync)