Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The Conduit server is very lightweight. I run a private server on a 128MB VPS!


I have heard so, too. Maybe I'll give it or some of its derivatives a try some time.

I think there is a some sort of catch-22 going on. Matrix Foundation can't fund the replacement of Synapse with a better-designed server, because hosting matrix.org consumes all the money. And it consumes so much money because it runs Synapse, which uses computing resources in a very inefficient manner.

And the Foundation might have a some sort of conflict-of-interest, since it is closely interwoven with the New Vector company, which business case is being able to make Synapse work despite its flaws.


There's an official Golang rewrite called dendrite: https://github.com/element-hq/dendrite it has few start because they recentyl migrated it from the original repo (https://github.com/matrix-org/dendrite) Development is not fast but it's going on, and it's currently on beta. I haven't tried it, I selfhost a synapse server which I used with friends, and with docker it wasn't hard to set up/maintain after the initial effort.



Only the Apache-licensed version is dead. The commercial arm (Element) forked it and relicensed it under the AGPL to make sure nobody but them can use their post-fork changes commercially. (Element demands you sign a CLA to contribute. Don’t[1].)

[1] https://drewdevault.com/2023/07/04/Dont-sign-a-CLA-2.html


I mean, for years Dendrite was positioned, by the developers of Synapse themselves, to become Synapse's successor, and Dendrite was getting a ton of funding and attention to make sure it happens.

It didn't then, and now that the situation is dire for Dendrite (with no funding and no official effort being put into it), I have little hope things are going to improve.


Very easy to set up (without the Docker nonsense, it's just a binary that is trivial to build), but the real work was in maintaining it. After the third case of database table inconsistencies from joining large public rooms (or perhaps from upgrading it, or a combination) I regretfully had to give up on it. It was time consuming to find out the table structure being used and how to manually correct the data so that it would start again. People were generally helpful on irc but it's just not fun work and feels a bit unnecessary.


I thought it was just because they make their income by selling faster server software. The free one can't be fast, in that case.


Thank you for bring this (conduit) up!!! Nothing beats a binary and toml/json/yml file deployment!!!

And it is what great about the matrix.org vs other open source app such as Telegram/Signal/Wire.... The protocol was designed to be open. If you don't like the client, write one, if you don't like the server, write another. Just follow the API specification. Being it is REST it is much easier to decipher than IMAP/SMTP. And port 443 works every where! Even on proxied Internet!!


The specification is so complex that keeping up with it is a full-time job - which benefits the Element Corporation, which profits from selling their complex server and client and also makes the specification. Just have a glance at the concept of room versions.


room versions are just a much-needed way of versioning the protocol, so we can make breaking changes without being trapped with backwards compatibility problems - no different to a fileformat including a version number. it’s one of the best bits of Matrix, imo, albeit sorely misunderstood (it seems).


IRC doesn't have this because it doesn't try to make rooms into long-running distributed state machines.

Although it is possible for two room operators to kick each other on different servers at the same moment, which probably does lead to state desync. They'd have to do it at the same moment. In Matrix, it tries to still sync things that happened 6 months ago...


On second thought, I think it would lead to both operators being kicked - a nonserializable ordering. Each server would independently check the action was authorized based on the prior state, and would then broadcast into the network, not "op1 wants to kick op2", but rather "op1 did kick op2". Users on op2's server would see that op2 kicked op1, and then op1 kicked op2, despite no longer being in the channel or being a channel operator. This seems acceptable, although counter-intuitive.


Conduit is a bit slow to update over the years, and a few forks have improved on it quite a bit; continuwuity being chief among them at the moment.

Yeah I hate the name too.


Hey, one of the Continuwuity team here - the name was a bit of a placeholder we picked as we were setting up the project, and we are open to changing it if we find something that fits the project and is a step up. Please join our Matrix rooms if you have a suggestion or more in-depth feedback, or want to participate in any polls we might run.


Conduit is great, I migrated my private friends server to it a few months ago.

Made a lil' tutorial as well: https://blog.webb.page/2025-04-25-enter-the-matrix.txt

Now if I could get Element X working that'd be awesome but I've settled for regular Element for now.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: