πMatrix Live
Neil says
Hi all, we here at Element Towers recently ran a two day hackathon called βHow Hard Can It Be?β. The idea being to try out a bunch of ideas that weβve been noodling on. At the end of the event we ran a demos session and we thought weβd share the video with you.
This is the first time weβve run an event like this, but it certainly wonβt be the last. Iβve also been talking with Yan about the idea of expanding it to be Matrix wide, so anyone can get involved. Watch this space.
Disclaimer: Don't get too excited, it was just a two day hackathon, so everything you see is very much at the poc stage. Though, we may pick a few up in the coming months and ship for real.
πDept of Status of Matrix π‘οΈ
Matthew announces
Super exciting to see the European Commission soft-launch their first official Matrix Server (https://mathstodon.xyz/@Pol/115173504011566267), powered by Element Server Suite. Watch this space for more info :D
πGoverning Board (website)
The Governing Board is an advisory board to the Matrix.org Foundation and with elected representatives from all across the Matrix ecosystem.
HarHarLinks reports
This week I'm excited to share some quick transparency update from the Governing Board. Together with the Website & Content Working Group, we have updated the Governing Board area of the matrix.org homepage, adding more info about the Governing Board's current Committees! We have mentioned the Committees before and named them on the website. The Committee names are mostly speaking for themselves, but one of the goals in open governance is transparency, not guessing. π So we have just added a new subpage at https://matrix.org/foundation/governing-board/committees/ where you can now find each Committee's charter, members, and meeting schedule.
We have also tweaked the main Governing Board page, restructuring the info about the elected representatives and chairs visually to be easier to grasp in the context of Foundation member constituencies and Committees respectively. Give it a whirl, and as always hit us with any questions about the Governing Board over at the #governing-board-office:matrix.org!
πDept of Spec π
Andrew Morgan (anoa) {he/him} says
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:
- MSC4350: Permitting encryption impersonation for appservices
- MSC4349: Causal barriers and enforcement
- MSC4348: Portable and serverless accounts in rooms
- MSC4347: Emoji verification images
- MSC4345: Server key identity and room membership
- MSC4344: Strike deprecated SRV service name.
- MSC4343: Making mass redactions use a new event type
MSCs in Final Comment Period:
- No MSCs are in FCP.
Accepted MSCs:
- MSC4311: Ensuring the create event is available on invites
- MSC4175: Profile field for user time zone
Closed MSCs:
- MSC4148: Permitting HTTP(S) URLs for SSO IdP icons
- Closed in favour of next-gen auth.
- [WIP] MSC2957: Cryptographically Concealed Credentials
- Closed in favour of next-gen auth.
πSpec Updates
In line our quarterly release schedule, the Matrix 1.16 release is soon due. In parallel, the Spec Core Team is working to land as many Matrix 2.0-labeled MSCs ahead of the upcoming Matrix 2025 conference. This is only an aspiration, and the MSCs will not be rushed to meet this deadline.
If you'd like to help with the effort, or would like to see a given MSC land in Matrix 1.16, feel free to drop us a message in the Office of the Spec Core Team room on Matrix.
andybalaam reports
πStitched ordering update
I've been banging on about message ordering for a while now, but recently Rich and I tried to do something about it by working on a design for providing messages in a consistent order.
We recently made an attempt at implementing this design, and I wanted to give a small update on how it went. We worked in the Synapse codebase and prototyped adding a column to the
events
table that could represent the "stitched" order of each event. As expected, we encountered some practical difficulties, but we eventually managed to get sensible orders inserted into the table. The next step will be to return events in that order from the various APIs. We'll send more updates if/when we make more progress!Why do this? Read the links above for the full story, but the short answer is that with the current behaviour, Matrix clients can become confused about what order things happened in a room, and this can lead to nasty problems like stuck unread rooms or stuck notifications, among other things. Our plan for "stitched" ordering should make sure clients always see messages in the same order from the server. You can find out a bit more by watching a recent episode of Matrix Live!
πDept of Trust & Safety βοΈ
Sky says
Room directory working group update:
Today, we (Nico, Emma, Krille, Mahdi, Sky) want to announce that the application form to get your room listed in the matrix.org room directory is now open. We also have a appeal form for when you disagree with our decision.
Find the forms at:
(This is to be considered a beta test where we want to see how the workflow functions and identify any problems. Once we feel comfortable with it, we will also publish it properly on the matrix.org website.)
For any questions, feedback or further discussion, find us in our #room-dir-wg-office:neko.dev. Looking forward to your applications!
πDept of Clients π±
πElement X Android (website)
Android Matrix messenger application using the Matrix Rust SDK and Jetpack Compose.
Jorge says
Hi everyone, this week on the Element X Android team we've been focused on:
- Spaces: while it's still behind a feature flag, it's slowly taking shape and now you can explore the spaces you've already joined using a separate tab in the app.
- Trying to fix F-Droid: we haven't been able to make the F-Droid builds work for a while, first because of an issue with the dependency injection we were using, then with the Android Gradle Plugin used to build the app. Both of these issues have been addressed, so we hope a new F-Droid version will be available soon π€.
- The notifications for rooms are now set as conversations, and recently used rooms can be added as a shortcut to your home screen.
- Emoji search for reactions: this was a feature that was request quite some time ago, but we couldn't fit into our planning. However, we managed to find some time to actually implement this, we hope you like it!
πDept of SDKs and Frameworks π§°
πmatrix-rust-sdk (website)
Your all-in-one toolkit for creating Matrix clients with Rust, from simple bots to full-featured apps, with bindings to Swift, Kotlin, WebAssembly, Go and more, sponsored by Element.
Ivan π¦ announces
Hello folks! Progresses are being made in every directions. Let's dive, would you?
πCVE-2025-59047
First off, we have created a new CVE, with a low level.
- #5635 Fix a panic in the
RoomMember::normalized_power_level
method.- #5656 Create the CVE.
- #5645 Celebrate a new 0.14.1 version!
πMedia live in their own store
It's been a moment we want to split the event cache store (#5410). It contains 2 kind of data: the event cache, and the media. The problem is that this store is pretty busy. It leads to βthis database is busyβ, or βthis database is lockedβ error in SQLite (#5362). To solve this problem, we have reduced the number of concurrent write accesses to this store (#5382). It has reduced the occurrence of errors greatly (#5362-c3200020959). However, this is not entirely done, and we believe extracting the media into their own store would help solving the last occurrences of this problem.
- #5568 Split media store from event cache store.
- #5655 Drop media SQLite table from event cache store.
πSearch
Last week, we briefly talked about a new crate:
matrix-sdk-search
. It implements a search engine for Matrix, and we hope to soon see it embedded in many clients. Progresses have been made on that front, with an improved implementation insidemultiverse
, our developer- and debug-oriented Matrix client.
- #5659 Add
get_room_events
toEventCacheStore
trait, allowing the initial indexing to be possible.- #5634 Allow to paginate through search's results when many.
- #5629 Implementing the search engine in
multiverse
.πLatest Event
The new Latest Event API is still blocked by the re-decryption happens in the Event Cache project. Meanwhile, we've been able to merge a couple of other patches to polish the implementation:
- #5617 Add the new
latest_event
room list sorter, and update therecency
sorter. This helps to put the rooms with a local latest event value at the top of the room list, and to sort rooms based on their latest event recency stamp.- #5648 Partially protect against malicious
origin_server_ts
. This was a long standing issue. We took the opportunity of working on this project to fix this issue.- #5665 Clear the Event Cache so that all new events stored in it are protected against malicious
origin_server_ts
.πBadge counter
Are you aware of app icon badge notification count is wrong on iOS (element-x-ios#3151)? It personally drives me nuts. We are fully aware that it drives many people crazy, and for good reasons! Wait no more, we are finally working on it! The fix on itself isn't particularly complex, but it required βand still requires a bit ofβ upstream non-trivial work, notably around the cross-process lock. Why that? Because on iOS, the process for the app isn't the same as the process for the notification. We have to ensure mutually exclusive access to the underlying stores. That's why we've implemented a cross-process lock. But we need more.
- #4874 The meta issue about the cross-process lock improvements
- #5653 The first step to generalise the cross-process lock. The next step is to introduce poison (next week!).
πShared recent emojis
During our hackathon, someone has implemented the shared recent emojis feature. Now it has landed inside the Matrix Rust SDK. With this feature, we can sync recently used emojis between clients (notably ElementΒ Web and ElementΒ X). The list is sorted by recency of usage and also contains the number of times the emoji has been used in case we want to use that to filter out the items in the future.
- #5641 Add recent emojis for shared emoji reactions.
πTechnical article of the week
We want to publish technical articles about what we do in the Matrix Rust SDK. We hope you will enjoy reading them. They aim at deep diving in the details of some bugs, performance improvements, or various novelties. This week, the article is:
πDept of Ops π
πMatrix Connectivity-Tester (website)
MTRNord (they/them) reports
Small update finally now that I got a few free minutes. Alerts should now finally not fail to verify your email.
If you tried this before and got an error, just try adding it again, which should fix it.
You can find the release at https://github.com/MTRNord/rust-federation-tester/releases/tag/v0.2.3 and find the updated deployment at https://connectivity-tester.mtrnord.blog
πDept of Guides π§
Kimiblock Moe reports
@this-week-in:matrix.org
This week, I wrote a simple blog about self-hosting autopush-rs and common-proxies for Sunup and Matrix push gateway.This forms a complete, local and reliable solution of Matrix push notifications on Android:
πMatrix Federation Stats
Aine [etke.cc] says
collected by MatrixRooms.info - an MRS instance by etke.cc
As of today,
12932
Matrix federateable servers have been discovered by matrixrooms.info,3714
(28.7%
) of them are publishing their rooms directory over federation. The published directories contain17961
rooms.The most popular server software among the online servers is:
- synapse:
9526
(73.7%
)- conduit:
440
(3.4%
)- dendrite:
404
(3.1%
)- continuwuity:
229
(1.8%
)- tuwunel:
203
(1.6%
)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 | tuwunel.love | 134 |
2 | continuwuity.codestorm.net | 167 |
3 | codestorm.net | 191 |
4 | envs.net | 200 |
5 | loang.net | 262.5 |
6 | nerdhouse.io | 267 |
7 | shork.ch | 327 |
8 | tomfos.tr | 353.5 |
9 | ellis.link | 365 |
10 | wolfspyre.io | 378 |
πThat's all I know
See you next week, and be sure to stop by #twim:matrix.org with your updates!
To learn more about how to prepare an entry for TWIM check out the TWIM guide.
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