
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Synapse
-
Nation-scale Matrix deployments will fail using the community version of Synapse
- They own dendrite, the only matrix server so far that even comes close to spec adherance with synapse, which has been strangled (as evidenced by the last release almost half a year ago [3])
Because everyone is running synapse, everyone needs to keep running synapse or risk losing compatibility with the federation.
This is not what the sales brochure for matrix read like. Like, at all.
Do y'all believe it's random chance that the official synapse docker-compose does not come with async workers? [1]
And now check out the terrible setup process for setting up the whole "workers magic" (which, mind you, is unavoidable the moment you have some bigger rooms joined) [2] - Like who on this godforsaken planet considers this valid even for 2022? Pair that with how easy to handle the base documentation is and things start to smell. They have the stench of trying to artificially create a moot by making it "too hard for non-pros".
I understand synapse and dendrite development need funding, but this is not the way to go. All good will towards Element as a steward of matrix I had is completely eroded by now and I assume that will be the case for many others too. Forks are bound to happen at this point and I'm looking forward to the ecosystem become more diverse again.
[1] https://github.com/matrix-org/synapse/blob/develop/contrib/d...
- It Matters Who Owns Your Copylefted Copyrights
-
The Home Server Journey - 4: Enter The Matrix
As any open protocol, the Matrix specification has a number of different implementations, most famously Synapse (Python) and Dendrite (Go). I've been, however, particularly endeared to Conduit, a lightweight Matrix server written in Rust. Here I'll show the deployment configuration as recommended by its maintainer, Timo Kösters:
-
Python Has Too Many Package Managers
when we did a comparison of package managers that lock dependencies, we wrote up some interesting notes at https://github.com/matrix-org/synapse/issues/11537#issuecomm...
Notable omission in pip-tools which many are suggesting here as being simpler: it can't write requirements files for multiple environments/platforms without running it once for each of those environments and having one file for all of them.
We settled on Poetry at the time but it has been quite unstable overall. Not so bad recently but there were a lot of issues/regressions with it over time.
For this reason I am happy to see new takes on package management, hopefully some of these will have clearer wins over the others, where you have to spend ages trying to figure out which one will do what you need.
-
Organizing OpenStreetMap Mapping Parties
What are you thinking of here? Synapse has supported purging room history since 2016: https://github.com/matrix-org/synapse/pull/911, and configurable data retention since 2019: https://github.com/matrix-org/synapse/pull/5815.
Meanwhile, Matrix has never needed the full room history to be synchronised - when a server joins a room, it typically only grabs the last 20 messages. (It does needs to grab all the key-value state about the room, although these days that happens gradually in the background).
If you're wondering why Matrix implementations are often greedy on disk space, it's because they typically cache the key-value state aggressively (storing a snapshot of it for the room on a regular basis). However, that's just an implementation quirk; folks could absolutely come up with fancier datastructures to store it more efficiently; it's just not got to the top of anyone's todo list yet - things like performance and UX are considered much more important than disk usage right now.
-
GrapheneOS is moving off Matrix
some context re the Matrix isses, long history apparently: https://github.com/matrix-org/synapse/issues/14481#issuecomm...
-
Non-profit Matrix.org Foundation seems to be moving funds to for-profit Element
Why not Matrix? Here's one reason: it has incredibly hard-to-debug edge cases, and plenty of bugs. One of my favourites is the one where people are kicked out of your room at random, which was reported a year ago[0]. It wasn't fixed, however, because the head of the Matrix foundation (Matthew) presumably didn't like the issue being posted on Twitter.
This is honestly really disappointing behaviour from a platform owner.
[0]: https://github.com/matrix-org/synapse/issues/14481
-
The Future of Synapse and Dendrite
> That doesn't make this situation any less bad to the rest of the community.
How is the community suffering here? Let's say Element adds a bunch of baller stuff to their versions over the next few months and then closes the source. Can't the community just fork the last AGPL version? You might say, "well then no one can take the AGPL fork and make their own closed-source business", but do you want them to? Even if you do, they still can with the existing Apache-licensed version, just like Element is doing right now.
You're arguing that Element will lose a lot of contributions, but TFA points out that despite being super open, the vast majority of contributions are still made by Element employees (which seems to be true [0]). It's not the case that Element is looking to monetize the (small) contributions of others, it is the case that others are looking to monetize the (huge) contributions of Element.
And besides, aren't the MSCs the core of Matrix? It's already super possible to build your own compliant client and server.
The situation is that Element needs money to keep developing the ecosystem. It would be cool if there were a big network of donors and contributions, but there isn't. You're essentially saying, "that's fine, go out of business then, and the community will keep developing the ecosystem", but that's not happening now, and it can still happen anyway with the Apache-licensed versions, which again people can still contribute to.
[0]: https://github.com/matrix-org/synapse/graphs/contributors
- Synapse v1.95.0 Released
- Matrix Synapse how use python scripts?
conduit
-
The Home Server Journey - 4: Enter The Matrix
Currently, at version 0.8, automatically delegation via env vars is not working properly. Timo has helped me debug it (Thanks!) at Conduit's Matrix room and I have submitted a patch. Let's hope it gets fixed for 0.9. Meanwhile, you may use the custom image I'm referencing in the configuration example
-
Advice for a small Matrix server
I'd like to suggest Conduit. I found it very easy to install and maintain. https://gitlab.com/famedly/conduit
- Matrix 2.0: How we’re making Matrix go voom
- Matrix conduit server takes forever to join channels
-
Looking to deploy a Conduit Matrix server. Is it possible to make a server which does NOT require a domain?
To start, this will be strictly Non-Federated. Just a few friends will be using this. Here: https://gitlab.com/famedly/conduit/-/blob/next/DEPLOY.md is the documentation I am following. It tells me I must "use my server name", but what is this exactly? What do I put in there? Do I have to go out and buy a domain?
-
Instant Messaging: XMPP or Websocket
Either Tinode (https://github.com/tinode/chat) or Matrix Protocol (https://gitlab.com/famedly/conduit)
-
Planning to make a video on cool Rust apps focused on the end user. Make recommendations!
Matrix Protocol: Fractal (Client), Conduit (Server)
-
Discord-esk encrypted platform?
If self-hosting is an option then I'd say Matrix, you can try Conduit (server) and Elements(client). To simplify deployment you can refer to this repo.
-
anyone using rust in production? what do you do?
You can babble on and on about how its not how you do it, no one needs it, etc... But its a demonstrable need in this space and its caused me great pain trying to write applications that would be used by such people. It's even bit Conduit to the point they have 5+ DB backends coded in now that the user can choose between based on their local system setups.
-
Given my server's specs, can I handle Matrix/Synapse?
Give Conduit a try. It uses way less memory than Synapse. It is still in early stages but works great. I have been running one on a Pi4 for like a year, going great so far.
What are some alternatives?
Rocket.Chat - The communications platform that puts data protection first.
dendrite - Dendrite is a second-generation Matrix homeserver written in Go!
Mattermost - Mattermost is an open source platform for secure collaboration across the entire software development lifecycle..
gomuks - A Matrix client written in Go.
Jitsi Meet - Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.
matrix-rust-sdk - Matrix Client-Server SDK for Rust
fluffychat
RetroShare - RetroShare is a Free and Open Source cross-platform, Friend-2-Friend and secure decentralised communication platform.
matrix-doc - Matrix Documentation (including The Spec)
Node-Chat - :speech_balloon: Chat application built with NodeJS and Material Design
matrix-docker-ansible-deploy - 🐳 Matrix (An open network for secure, decentralized communication) server setup using Ansible and Docker
