by whereistimbo on 11/15/24, 12:26 AM with 49 comments
by alwayslikethis on 11/15/24, 1:45 AM
by Arathorn on 11/15/24, 9:43 AM
Matrix without encryption is as simple as it gets - e.g. here was a younger, happier me writing a working client in 8 lines of bash: https://news.ycombinator.com/item?id=20948530
With encryption, inevitably things get way more complicated - especially in a decentralised network which needs to be byzantine fault tolerant. As you say, we've successfully simplified this by providing best-in-class implementations like matrix-rust-sdk-crypto - which i'd argue is the equivalent to Wireguard (which under the hood is a bunch of gnarly crypto, even if the API it exposes it simple).
In the end, encrypting messaging is just way harder than a VPN. The encryption hooks need to know the membership of the room (as users), the membership of the room (as devices), verify identities of all devices and their users to prevent MITM, verify that only the right devices can be added to the room, handle accessing history for new logins and new joiners, handle backing up history if you log out of all devices, handle receiving msgs if you log out of all devices, handle encrypted push notifs and allow multiple processes (push, share extension, etc) to share the same crypto state, scale to thousands of devices, etc etc.
Meanwhile if you simplify that by removing PFS - sure, some of it gets better ("the room history gets encrypted by a static password!") but then breaching that secret from any client at any point trivially leaks the whole history of the room.
In terms of "Matrix as an open protocol isn't very successful", i suggest taking a look at https://2024.matrix.org/watch/ for the zeitgeist from a few weeks ago. It's working for some folks at least.
by huxflux on 11/15/24, 9:47 AM
Yes, I'm aware of the Ansible script, but should that really be the only somewhat reasonable option? When Matrix wrote " Matrix 2.0 a new chance if you gave up on us in the past".
I listened, but without a somewhat reasonable setup process for the server and the ongoing confusion in terms of clients, it hasn't gotten any easier to onboard to Matrix, unfortunately.
by solarkraft on 11/15/24, 10:01 AM
I’ve been wanting to write a Matrix client for a while now, but found myself too caught up in getting even an existing library to work: The Rust SDK, the most maintained and batteries-included SDK, doesn’t have JS bindings and the JS SDK is insufficiently documented and generally seems a bit crusty.
In general I find there to be a bit of a lack of guides on implementing Matrix, which is probability a factor in there not being that many implementations.
by ranger_danger on 11/15/24, 1:45 AM
by amstan on 11/15/24, 5:00 AM
I kind of miss making IRC bots where things were much simpler and ... quicker honestly (latency wise).
[1] https://uhoreg.gitlab.io/matrix-tutorial/sync.html#:~:text=w...