HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
element-hq
element-x-ios
Swift2022–2026
element-hq / element-x-ios

element-x-ios

Next generation Matrix client for iOS built with SwiftUI on top of matrix-rust-sdk.

7Distinct people
18Mentions
0Explicit recommenders
973GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Next generation Matrix client for iOS built with SwiftUI on top of matrix-rust-sdk.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year18 dated mentions

Observed mentions: 2022-10-27 11:20:57 UTC to 2026-07-11 11:43:30 UTC.

02462022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments20242025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC404
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC606
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC606
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC110

What Hacker News says

18 sources
> opens in about 2s in Element X iOS I think we're getting closer. Your "good experience" on Element X iOS matches my "bad experience" on Element X iOS. See, with my Server and Chats, Classic is actually very snappy: - Element X: ~1.5 seconds avg (rounds to 2 sec if using a non-decimal stopwatch, but more like 1.5 when measured more precisely) - Element Classic: ~0.6 second avg (actually slightly faster visually, this includes my response time to stop the timer, probably more like just around/under 0.5 sec) Anyway, Classic is very fast for me to open. I like it a lot. It feels almost instant. But X loads in 2-3 times the time. I sit there waiting for content to load, even if it's just for a second. Is this the best Issue to watch?: https://github.com/element-hq/element-x-ios/issues/4102 Because I really hope speed does not regress
Read the rest
for people already with very fast load times in Classic, when X becomes the only flagship App in the App Store.
In Matrix Conference 2025 Highlights
Unfortunately that really does sound like an iOS beta problem - iOS betas are infamously unstable, and effectively used by Apple to hunt crashes that they've introduced when existing apps run. The notification badge issue is this mess: https://github.com/element-hq/element-x-ios/issues/3151 and is almost solved (but not deployed yet). Spoilers is https://github.com/element-hq/element-x-ios/issues/2839 but isn't really on our radar - please can you upvote / comment on it. Thanks for keeping the faith :)
In Matrix Conference 2025 Highlights
Speaking as project lead for Matrix, I obviously feel pretty gutted when someone gives up like this. Doubly so when the straw that broke their back wasn't even a Matrix problem, but really gnarly postgres corruption (see https://news.ycombinator.com/item?id=44618702). Firstly, I'm sorry they had such a bad time, and as per https://news.ycombinator.com/item?id=44621077 there's a tonne of things we've (i've) done wrong. That said, there's a bunch of points raised here which aren't fully accurate. So for the sake of completeness: > The official Matrix homeserver, Synapse, was built with a tech stack ill-suited for its long-term goals and scale These days Synapse is hybrid Rust for the fast paths (https://github.com/element-hq/synapse/tree/develop/rust) and Python 3 + mypy for the rest. Huge servers like matrix.org (150K concurrent users) r
Read the rest
un fine on it. I'm not convinced the "ill-suited tech stack" crit holds. > Community projects like Dendrite emerged to rewrite the homeserver more sensibly Dendrite is not a community project and never has been; it was written by the core Matrix team, and then when we realised Synapse had critical mass we backported most of its architectural improvements to Synapse. > New Vector seems to be chasing too many goals simultaneously, with no clear direction No? we killed all the sidequests in order to just do Element Web, Element X, Element Call and Synapse. > Just a few months ago, they migrated to the Matrix Authentication Service (MAS), which was supposed to be a leap forward, yet lacks even essential security features like 2FA/MFA. No? the whole point of MAS is that it lets you delegate straight through to a proper IDP which provides 2FA/MFA/Passkeys etc. > Launching the app requires network synchronization that hampers responsiveness No? Turn off your network, launch Element X, and see that it launches fine? Obviously it does need to talk to the server to retrieve new data. I guess there was the https://github.com/element-hq/element-x-ios/issues/4102 issue, but that was fixed 3 weeks ago. > The Matrix.org service, especially its matrix.org homeserver, is also slow matrix.org feels pretty good to me these days, even on my mammoth account (other than when talking in Matrix HQ) > On my laptop, I’ve been using iamb, a TUI Matrix client, and even there I experience delays of tens of seconds when launching it, and a lag of several seconds between pressing Enter and seeing the message actually appear in the chat room. I'm assuming that's because iamb hasn't enabled sliding sync, and/or hasn't implemented local echo, or has some other perf bug. Or perhaps you're on an old build. Given it's using the same matrix-rust-sdk as Element X it should in theory be instant. > And that’s certainly not iamb’s fault, because it’s written in Rust, btw™. ... > the lack of proper first-party libraries for 3rd-party developers to build on top of, it became visible that the once-vibrant ecosystem, does no longer look so healthy This is really weird. It's not clear that the Matrix Foundation should publish software at all, to be honest - it's effectively a standards body. W3C doesn't write browsers or web servers any more, for instance. As it happens, we have invested a huge amount of effort into publishing a flagship first-party client SDK anyway: matrix-rust-sdk. And matrix-js-sdk is still there too. We very deliberately have handed off other SDKs to the broader community to maintain, which they do a great job of. Surely the fact that go-matrix got surpassed by Tulir's superior go-mautrix fork is a good thing, not a bad thing? > Development on Synapse alternatives has stagnated The conduits seem as active as ever, from what I can see, even if there's been forking. Dendrite development has stalled, but this reflects lack of funding rather than the ecosystem failing, and the core team at Element having to put all its effort it into one server (Synapse) rather than splitting between two. > Other clients like SchildiChat are faced with the dilemma of continuing their existing work or starting over by forking Element X That's just false? SchildiChat seems to have quite happily forked EX into SchildiChat Next years ago and looks to be doing a great job of it; ahead of EX itself with many features (e.g. it already has spaces!) > Speaking of SDKs, New Vector appears to lack a coherent technology strategy. They’ve built infrastructure in Python and Node.js/TypeScript, moved into Go for the Synapse replacement, and now maintain a Rust-based client SDK, while abandoning their Go client library (which is now community-maintained). NV's stack is Python+Rust and Node/TS on the serverside, and Rust + (TS/Swift/Kotlin) on the clientside. It's true that over 11 years of work we've also sprouted a few Go projects (e.g. complement), and there's even some Perl (sytest), but that is very much the minority. > Especially for an organization that appears perpetually cash-strapped. New Vector’s approach feels more like indecisiveness than the right tool for the right job when looking through their repositories on GitHub. It feels unfortunate that the OP is complaining that NV doesn't provide enough 1st party implementations in different languages any more, while also complaining NV has too many languages in use. > Matthew, if you’re reading this: We both know that naming things is one of the hardest problems in computer science, right after cache invalidation. I totally get the geeky, 31337 thrill a name like Matrix might evoke, but believe me when I say that using generic names is a bad idea. Things would have been a lot easier for everyone involved if you had at least rebranded Riot to something more distinctive. For future rebrandings, I highly recommend using the Synthwave Band Name Generator and some good old human creativity. :-) Honestly Matrix & Element seem to get quite a lot of traction and successful press despite the generic names. For instance, I just spun up Tor and googled the word Element, and Element.io came up as the 2nd hit after the skateboard brand (and the whole sidebar). The data just doesn't back up this particular criticism. Overall, though, I get why the OP is frustrated and has given up. All I can say is that we're working away on getting Element X to parity with Element as fast as we can so we can retire the 'classic' app, at which point I think much of the pain people are experiencing will go away. It's taking longer than I'd like given the work is entangled with building and deploying government messaging systems as a way to keep the lights on, but if anything all the negativity here makes me more determined and stubborn to keep plugging away to dig out of the transitional period we're in, and get back on track.
In Giving Up on Element and Matrix.org
I’m not sure I’m seeing what you’re describing. Here’s a screen recording of send performance (on fast internet, a few ms ping to the homeserver): https://github.com/element-hq/element-x-ios/issues/3810 The first msg does take a little longer to clear the composer, but it’s barely noticeable. And as the recording shows, it queues up msgs fine if the first hasn’t gone through. How does this compare with what you’re seeing?
In Matrix Foundation to shut down bridges if it doesn't raise $100K
> honestly, without annotated screenshots filed in github.com/element-hq/element-x-ios/issues to highlight precisely what the problem is (ideally comparing with an equivalent app which you feel gets it correct) i’m not sure we’re going to be able to help you. I mean, I'm not asking you to help me, I was just curious whether there was any more resources dedicated to the UI/UX of that particular view. If the answer is "no, and we feel the view is fine", then just say that. I might not agree with your choices but it's not going to stop me using the app. ;P I'm unlikely to stop and annotate a bunch of screenshots and put them on GitHub as I've other things to do with my time. The older I get, the more protective I am of my free time... as much as it sucks from an OSS perspective. > the green box sounds like an accessibility helper feature of
Read the rest
some kind which has got confused? You mean in Element X itself? I have no accessibility features enabled on my devices, so I doubt it's an OS-level control in the way.
In We have lift-off Element X, Call and Server Suite are ready
honestly, without annotated screenshots filed in github.com/element-hq/element-x-ios/issues to highlight precisely what the problem is (ideally comparing with an equivalent app which you feel gets it correct) i’m not sure we’re going to be able to help you. the green box sounds like an accessibility helper feature of some kind which has got confused?
In We have lift-off Element X, Call and Server Suite are ready
> the typical reaction from an Element dev is “it works fine for me, make a PR or something”, This is false. We check issues which people file and try to reproduce them, and we certainly don't ask randoms to contribute PRs to fix stuff - we'd much much rather fix them ourselves. Meanwhile, you can see the issue stats at github.com/element-hq/element-x-ios/issues and github.com/element-hq/element-x-android/issues - it's not like we're ignoring or failing to close issues.
In We have lift-off Element X, Call and Server Suite are ready
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
Read the rest
to enter recovery keys too. Eitherway, it's being fixed: https://github.com/element-hq/element-x-ios/issues/2424 EDIT: looks like a fix landed on Friday: https://github.com/element-hq/element-x-ios/pull/2471 > 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 :)
In Signal v7.0.0 with phone number privacy
Oh wow congrats to the entire team for this amazing achievement! And the cake under the cherry is… Element X is open-source as well[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). When this happens it will be an absolute game-changer for 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/
In Matrix 2.0: The Future of Matrix

Showing the 15 most recent of 18 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.