Matrix Live
Dept of Status of Matrix 🌡️
Josh Simmons says
Important deadline: next week, the week of April 15th, is the last week to become a member before the Governing Board nomination period! You must be a member, or have your application in and approved, by the end of day on April 19th (AOE time) in order to be eligible to nominate. Stay tuned for a blog post all about that on Monday ✨
This week we’re proud to welcome GNOME and KDE e.V. as our second and third Associate Members, and there are more applications in the pipeline that we’re reviewing!
Dept of Spec 📜
Andrew Morgan (anoa) reports
Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/proposals.
MSC Status
New MSCs:
- MSC4128: Error on invalid auth where it is optional
- MSC4127: Removal of query string auth
- MSC4126: Deprecation of query string auth
- MSC4125: Specify servers to join via for federated invites
- MSC4124: Simple Server Authorization
MSCs in Final Comment Period:
- MSC2870: Protect server ACLs from redaction (merge)
- MSC2191: Markup for mathematical messages (merge)
- MSC1692: Terms of service at registration (merge)
Accepted MSCs:
- No MSCs were accepted this week.
Closed MSCs:
Spec Updates
A few MSCs working their way through the process this week, alongside a few more in FCP! As mentioned previously, Trust & Safety is a big focus for the MSC process this week, as we invest some time in keeping Matrix a nice place to be.
Outside of that though, I'm particularly excited to see support for formatting of math landing in the spec (MSC2919). That's been a long-time coming, and will be very helpful to math or math-adjacent communities using matrix (machine learning, anyone?).
Dept of Servers 🏢
Synapse (website)
Synapse is a Matrix homeserver implementation developed by the matrix.org core team
Andrew Morgan (anoa) says
This week Element released Synapse v1.105.0rc1, a release candidate for the next version of Synapse. Of note are stabilisation for a few previous-unstable features such as
/relations
recursion, as well as moving/pushrules
endpoints off workers for better scalability.There was a small round of bugfixing as well that went into this pre-release, but there are likely more lurking! If you're able to, please test this release candidate. The full release of Synapse v1.105 is expected early next week. Thanks!
Dendrite (website)
Second generation Matrix homeserver
Till reports
Just going to copy and paste this from #dendrite-alerts:matrix.org :
Dendrite 0.13.7 has been released!
Fixes
Fixed an issue where the displayname/avatar of an invited user was replaced with the inviter's details
Improved server startup performance by avoiding unnecessary room ACL queries
- This change reduces memory footprint as it caches ACL regex patterns once instead of for each room
- Unnecessary Relay related queries have been removed. Note: To use relays, you now need to explicitly enable them using the
federation_api.enable_relays
configFixed space summaries over federation
Improved usage of external NATS JetStream by reusing existing connections instead of opening new ones unnecessarily
Features
- Modernized Appservices (contributed by tulir)
- Added event reporting with Synapse Admin endpoints for querying them
- Updated dependencies
Dept of Clients 📱
Element X iOS (website)
A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+.
Ștefan reports
Happy friday, folks! It's been a super busy week in Element X land:
- version
1.6.2
made it to the store, bringing with it a bunch of bug fixes and the groundwork for new and exciting features (release notes)- moderation options are now finished and enabled by default 1, 2
- we will (soon™) start showing invites directly in the room list
- we're making great progress on Login with QR Code 1, 2, 3 and 4
- and the same on supporting Permalinks and in-app navigation 1, 2, 3, 4 and 5
'till next week! 👋
Element X Android (website)
Android Matrix messenger application using the Matrix Rust Sdk and Jetpack Compose
benoit announces
- Element X Android 0.4.8 is available on the PlayStore, for testers. “Room moderation” feature has been enabled. Moderators and administrators now have more moderation actions available in their rooms. This release will be pushed to production on Monday.
- The team is actively working on 2 big features: permalink navigation and login using QR code.
- We will also iterate on the room invite list, we will move the invites to the room list, with a new Filter to display only invites.
Dept of SDKs and Frameworks 🧰
Elm SDK beta 3.0.0
Bram says
After having written a few short pieces, multiple discussions in #matrix-spec:matrix.org and reaching out to various members of the community, the Elm SDK has finally a new update. And it's a major one!
- There is finally a functional
Timeline
type that is an immutable representation of the Matrix timeline. This took months to complete.- A new
Matrix.User
module has been exposed.- The
sender
field inEvent
type now returns aUser
instead of aString
.Surprisingly, it is the last change that makes the update major, as that's the one that breaks backwards compatibility. I spent months working on something that would not have been more than a patch update on its own. 😓
Nevertheless, it's out now on the public Elm registry! If you're not an Elm programmer, please give me feedback on the new User documentation page as I aim for it to be simple to understand for starting Elm programmers who know nothing about Matrix. Your feedback would be very welcome in the #elm-sdk:matrix.org room. ❤️ Thanks!
Dept of Interesting Projects 🛰️
Acter
ben reports
This week's update has several updates and fixes since the last time we posted about it here. Among other things, we have revamped the UI flow for Calendar Events, making it a much smoother experience, added participants icons to it, as well as Attachments and Comments. On the Chat side you can now bookmark and filter by DMs and bookmarks, and with the new App User Drawer you can directly switch to an existing or create a new DM, block, kick and kick-ban the user from the room. Next to several fixes we've also re-introduced localization and language switching support with a tight integration into weblate for easy web-based community-driven translations.
Of course this release again comes with a "What's new & AMA" Zoom sessions next week, Tuesday 15th 9:30GMT anyone is invited to join. Zoom Link here, iCal of the Event here
Matrix Dart SDK (website)
Matrix SDK written in pure Dart.
td reports
weekend project: came by https://blog.cloudflare.com/cloudflare-calls-anycast-webrtc yesterday and thought it would be cool if we MatrixRTC calls could use the Cloudflare SFU as an alternative to the current Livekit SFU.
and mwhahah- there's a implementation now, this also gave td some fancy ideas on how to handle different SFUs easily in the spec and not have clients break stuff because of different client library implementations. Apart from that, just having a huge global infrastructure like Cloudflare providing you a SFU just sounds cool! It even does stuff like cascading and choosing the closest SFU based on BGP internally so users are not limited to just one SFU and have the lowest latency. (see blog post linked above for the technical details)
The Cloudflare SFU unfortunately is neither open source nor free afaik and the blog mentions:
To kick off its open beta phase, Calls is available at no cost for a limited time. Starting May 15, 2024, customers will receive the first terabyte each month for free, with any usage beyond that charged at $0.05 per real-time gigabyte. Beta customers will be provided at least 30 days to upgrade from the free beta to a paid subscription. Additionally, there are no charges for in-bound traffic to Cloudflare.
so don't see any clients using this anytime soon, but was fun and just proves how easy and modular the new MatrixRTC structure is :D
Implementations:
- matrix dart sdk: https://github.com/famedly/matrix-dart-sdk/tree/td/matrixRTCCloudfalre. (very adhoc, does not support e2ee yet, and yes that's a typo)
- cloudflare calls backend autogen api: https://github.com/famedly/cloudflare_calls
td announces
the very adhoc state event looks like this:
Matrix Federation Stats
Aine says
collected by MatrixRooms.info - an MRS instance by etke.cc
As of today,
9522
Matrix federateable servers have been discovered by matrixrooms.info,2868
(30.1%
) of them are publishing their rooms directory over federation. The published directories contain160013
rooms.Stats timeline is available on MatrixRooms.info/stats
Dept of Ping
Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by pingbot, a maubot that you can host on your own server.
#ping:maunium.net
Join #ping:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.
Rank | Hostname | Median MS |
---|---|---|
1 | doctoruwu.uk | 241 |
2 | maunium.net | 284.5 |
3 | uwu.sulian.eu | 316.5 |
4 | nerdhouse.io | 317.5 |
5 | aguiarvieira.pt | 354 |
6 | craftingcomrades.net | 464 |
7 | herkinf.de | 503 |
8 | pain.agency | 516 |
9 | matrix.its-tps.fr | 518 |
10 | synapse.rntpts.de | 545 |
#ping-no-synapse:maunium.net
Join #ping-no-synapse:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.
Rank | Hostname | Median MS |
---|---|---|
1 | doctoruwu.uk | 88.5 |
2 | uwu.sulian.eu | 116 |
3 | spritsail.io | 136 |
4 | dendrite.s3cr3t.me | 172 |
5 | matrix.its-tps.fr | 174.5 |
6 | shiftsystems.net | 227 |
7 | girlboss.ceo | 293 |
8 | craftingcomrades.net | 300 |
9 | matrix.org | 360 |
10 | littlevortex.net | 392 |
That's all I know
See you next week, and be sure to stop by #twim:matrix.org with your updates!
The Foundation needs you
The Matrix.org Foundation is a non-profit and only relies on donations to operate. Its core mission is to maintain the Matrix Specification, but it does much more than that.
It maintains the matrix.org homeserver and hosts several bridges for free. It fights for our collective rights to digital privacy and dignity.
Support us