element-x-ios
Synapse
element-x-ios | Synapse | |
---|---|---|
12 | 367 | |
356 | 11,720 | |
6.2% | - | |
9.9 | 9.8 | |
2 days ago | 6 months ago | |
Swift | Python | |
Apache License 2.0 | Apache License 2.0 |
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.
element-x-ios
-
Show HN: I made an open-source Loom alternative
Matrix is a protocol, not an app, and it's still evolving rapidly.
Meanwhile, Element as an app is also evolving rapidly too. Totally agreed that the onboarding has been awful in the past, but we're plugging away improving it and trying to make it more glossy and less neckbeardy, as per https://element.io/labs/element-x etc.
The fact is that Discord has raised $1B+ to run a centralised unencrypted comms platform; meanwhile Element is doing something ~10x harder (decentralised & E2EE) with a tiny fraction of the $. It takes longer, but the difference is that Matrix should last indefinitely, whereas Discord will get Eloned sooner or later.
I wouldn't say we've lost yet, but ymmv. I do wish we'd progressed faster though.
-
Don't Use Discord for FOSS
Element X is not finished or intended for average users yet, as https://element.io/labs/element-x makes clear. It’s a preview of the future of Element.
-
Signal v7.0.0 with phone number privacy
Matrix itself is a big messy thing, much like the Web - this is both its power and a potential weakness.
Element X is indeed a fancy new client - but it hasn't hit a 1.0 yet. Think of it a lot like Firefox was pre-1.0; it's unrecognisably faster and better than the previous generation... but not all features are there yet. Meanwhile, there are loads of entirely unrelated independent excellent clients out there too; it's not just about Element v Element X.
> But I wasn't able to set up the encryption with my recovery key, there was only the online validation which I couldn't use because I was on the go and didn't have access to my desktop.
This bug is an accidental thinko however: it's placeholder UI which is about to be replaced by implementing login-via-scanning-QR-code (which is almost there), but obviously that also needs the ability to enter recovery keys too. Eitherway, it's being fixed: https://github.com/element-hq/element-x-ios/issues/2424
> also seems to still lack TOFU for my private server
Yup, sorry, TOFU for TLS isn't implemented yet in EX.
> The same with the homeservers, there's synapse and dendrite is supposed to take over at some point but that point is forever far in the future. And then there's conduit, so which one is it?
Synapse is a stable server where the core team is putting its effort currently. Dendrite is a 2nd gen server from the core team, but is beta and a) ended up being focused on P2P and embedded homeservers and experimental MSCs, b) is starved of resource atm due to funding pressure (c.f. https://www.youtube.com/watch?v=s5BrVVf0B1I&t=316s). Conduit is an independent server implementation in Rust, which is promising but beta.
It's like asking whether you should use Apache httpd or beta versions of nginx or lighttpd in the early days of the Web.
> The strategy doesn't really feel well thought out in that sense.
The strategy at Element (which employs most of the Matrix core team) is pretty clear right now:
1. Improve Synapse as the most mature and stable server implementation (and package it in Element Server Suite for those needing an enterprise Matrix distro: https://element.io/server-suite)
2. Finish implementing sufficient features in Element X that it can replace the old classic Element mobile apps asap - converging on a single Rust codebase, so that bugs & audits & new features can all land in one place.
3. Keep building Element Web/Desktop and Element Call.
...and that's it.
If it seems confusing, that's either because we're in the middle of the Element -> Element X shuffle... or because the nature of Matrix is that there's loads of other independent implementations running around too. But that's what makes it fun, too :)
-
Bluesky and the at Protocol
i’d have been in danger of agreeing a year ago, but thankfully we proved otherwise with Element X: https://element.io/labs/element-x. Bit embarassing that we didn’t get there sooner, but human fallibility and all that.
-
Flutter seems to be having bad times internally
Yep, a good example is the element X rewrite
They use Jetpack on Android
https://github.com/vector-im/element-x-android
And SwiftUI on iOS
https://github.com/vector-im/element-x-ios
But both use the same underlying Matrix Rust SDK
https://github.com/matrix-org/matrix-rust-sdk
So they share the core part of the app between platforms, but everything user facing is native
-
Matrix 2.0: The Future of Matrix
And the cake under the cherry is… Element X is open-source[1][2]!
I really can't wait for Beeper[3] to rebuild their fork on top of Element X (it's currently based on Element, formerly called Riot). If this happens this will be an absolute game-changer in the messaging ecosystem.
[1] https://github.com/vector-im/element-x-ios
[2] https://github.com/vector-im/element-x-android
[3] https://www.beeper.com/
-
Element X Matrix client now on iOS early release
Yes, eventually. Right now the sliding sync MSC is still in flux (e.g. we just realised today that it's missing an explicit flag to notify once the client has caught up with the server, rather than guessing via heuristics: https://github.com/vector-im/element-x-ios/issues/1269#issue...). As a result, the implementation (which is in golang) is being kept separate from Synapse for now while we iterate on it; plus it's a separate set of folks working on it. This also means that SS can be used with any existing server (dendrite, conduit etc) as needed.
It'll get added natively to Synapse eventually, but it'll likely be quite a way off.
-
Matrix 2.0: How we’re making Matrix go voom
Element X is an entirely new client written in Rust + Swift UI/Jetpack Compose (https://github.com/vector-im/element-x-ios and https://github.com/vector-im/element-x-android) which will eventually replace the legacy Element apps (https://github.com/vector-im/element-ios and https://github.com/vector-im/element-android).
The features already exist serverside; we're just working on getting them out of beta.
-
Signal Says It Will Exit India Rather Than Compromise Its Encryption
Yep, it's definitely been frustrating in the past. The number of iOS Element bugs was overwhelming at times too. It's a lot more stable now, but the bubble layout still isn't the default - I think that's what most people expect from a personal messenger. I'm looking forward to seeing what the Rust rewrite [1] brings for performance/stability.
FluffyChat also has quite nice UX and a bubble layout by default, but threads are still a while off [2]. On iOS it worked flawlessly through the iOS 16 betas while Element had some show stopping bugs, a couple of my friends moved over if they were on the beta.
I haven't had any friends ask me about the verify session buttons. I don't see any prompts on latest iOS Element but it's still too prominent on Element desktop for my liking.
SchildiChat [3] is my daily driver and feels more friendly than Element on desktop (unified DMs & group chats, no verify UX, chat bubbles), but it doesn't have any update mechanism built in, so I'm wary to recommend it to non-technical friends. It was also my goto recommendation on Android before the Element redesign.
I'm confident the ecosystem is moving in the right direction though, and so thankful for the amount of choice.
[1]: https://github.com/vector-im/element-x-ios
-
Why is Matrix not that popular?
iOS is still not great, but they are making a new one.
Synapse
-
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?
- Synapse v1.91.2 Released
- Synapse v1.89.0 is out
- Synapse v1.88.0 is out
- Synapse v1.87.0 (Matrix Server) Released
What are some alternatives?
element-ios - A glossy Matrix collaboration client for iOS
dendrite - Dendrite is a second-generation Matrix homeserver written in Go!
fluffychat
conduit
umurmur - Minimalistic Murmur
Rocket.Chat - The communications platform that puts data protection first.
element-x-android - Android Matrix messenger application using the Matrix Rust Sdk and Jetpack Compose
Jitsi Meet - Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.
facebook - A Matrix-Facebook Messenger puppeting bridge
Mattermost - Mattermost is an open source platform for secure collaboration across the entire software development lifecycle..
element-meta - Shared/meta documentation and project artefacts for Element clients
matrix-docker-ansible-deploy - 🐳 Matrix (An open network for secure, decentralized communication) server setup using Ansible and Docker