πMatrix Live S10E23 β Making P2P Matrix more reliable with ReP2P Matrix
πDept of elections π³οΈ
Robin Riley (m.org) reports
It's Governing Board election season and nominations opened last weekend! This year we're electing representatives for Gold, Silver, Individual, and Associate Members. Learn more on the 2025 election page and consider nominating yourself! You can also drop by the Office of the Governing Board to talk to current representatives and community members.
πDept of Servers π’
πMatrix Authentication Service (website)
Matrix Authentication Service (MAS) is an OAuth 2.0 and OpenID Provider server developed by Element.
Andrew Morgan (anoa) {he/him} says
MAS v0.16.0 was released this week with a new migration tool! It's still called
syn2mas
, but it's faster, more accurate and... written in Rust. π¦ Running it against matrix.org showed users being migrated at a rate of 60k/s!More details around the new tool, and migrating your homeserver to next-generation auth, is available in the MAS documentation. Please give it a try and send feedback!
πSynapse (website)
Synapse is a Matrix homeserver implementation developed by Element
Andrew Morgan (anoa) {he/him} says
Synapse 1.129.0 was released on Tuesday this week. After a rocky start with rc1 a few weeks ago, all regressions have now been fixed. After a successful rc2, v1.129.0 was deemed ready to be finalised.
The release contains some optimisations to token introspection caching when using MAS, as well as some other minor changes. As always, bugs should be reported on the Synapse issue tracker.
πConduit (website)
Conduit is a simple, fast and reliable chat server powered by Matrix
Matthias announces
Conduit v0.10.0 has now released!
I quickly want to note that in case you missed it, a few months ago, I became the lead maintainer of Conduit, replacing Timo, as he didn't have the time to commit to the role anymore. He is still a member of the project, but now mainly just handles infrastructure, rather than writing code.
This change should allow for more frequent & feature-full, as well as allowing us to accept more contributions faster.
Anyways, back onto the release.
The highlight of this release is the media refactor, which include many improvements to media handling, such as:
- De-duplicating identical files
- Retention policies, to configure how long media is stored for, as well as size limits for scopes of media
- Commands for blocking and purging media, making it easy to remove media and/or prevent it from being downloaded
And more! See !740 for an exhaustive list
The other new features added are:
- Support for simplified sliding sync !744
- Appservice pinging !738
- Knocking !728
- Refactoring space handling, allowing remote servers to get space information over federation !598
- Allowing remote servers to leave rooms over federation !728
- Allowing remote servers to join restricted rooms over federation !618
πDept of SDKs and Frameworks π§°
πmatrix-rust-sdk (website)
Next-gen crypto-included SDK for developing Clients, Bots and Appservices; written in Rust with bindings for Node, Swift and WASM
Ivan π¦ reports
Oh. You're here? Well, you know, we were at the same time busy and in holidays. Anyway. The weekly report gently turns into a monthly report, but who doesn't like long news?
We've spend quite a lot of time doing underground work. Not really visible, but absolutely necessary in order to develop new features.
πEvent cache
We've fixed a
UNIQUE
constraint violation in the SQLite store for the event cache. The SQLite query planner was doing something we were not aware of: the execution order of some updates was happily working by accident sometimes, actually in all our tests, and in most real-life situations. But sometimes it was different, and kaboom. Well, this is now fixed in #5001, you can discover how creative we had to be. If someone has a better solution, we welcome it!Another bug has been fixed where the SDK could believe the start of a timeline has been reached whilst it's wrong, see #4936.
πNotification
Calls and notifications have always been tricky to implement. Hopefully, with #4991, we can now check whether a room still has an ongoing call before showing the ringing screen. Rest In Peace dear Bug.
πCrypto
Sharing room keys for past messages on invite is making progress with #4988. If we already have cross-signing details for the owner of the device at the point we receive the to-device message, we now store that rather than just the device info.
The
experimental-share-history-on-invite
flag has been introduced in #4946 to share room history when we send an invite. Pretty convenient!A racy situation has been fixed when collecting devices. When doing so, the pending to-device room key sharing requests are now taken into account. Read the details of the patch to get more details, #4975.
We also start using the stable identifier for the sender device keys in #4964; the
sender_device_keys
field has been introduced in the MSC4147.A bug has been fixed where room keys would be rotated unnecessarily in the presence of blacklisted/withheld devices, with #4954.
πMedia
Many homeservers expect an encrypted media to be uploaded with the
application/octet-stream
MIME type. The SDK aligns with this behaviour in #4987.πThreads
We are doing progress about Threads too! The SDK gains new API to list all threads of a room, and the relation events within a thread, go check #4973.
We have also been able to open a thread, and paginate its history, inside ElementΒ XΒ iOS! The event cache had to be disabled for the moment though. Overall, that's a nice progress! The patches are not sent yet, but it shows we are progressing!
πSDK maintenance
Refactoring the sync response flow is finished, see #4914, #4925, #4928, #4934. Unsurprisingly, it has created a new bug: state events were wrongly reset instead of updated, #4953. The good news is that things are now isolated and easier to spot and to fix.
With #4940, the room computed display name is now persisted and triggers a notable update. It fixes a long-standing issue where users may not be able to search for a room. Read the patch description to learn more if you are curious about this problem.
πConclusion
That's all folks. See you next⦠week?
πMatrix Federation Stats
Aine [don't DM] says
collected by MatrixRooms.info - an MRS instance by etke.cc
As of today,
11103
Matrix federateable servers have been discovered by matrixrooms.info,3293
(29.7%
) of them are publishing their rooms directory over federation. The published directories contain17788
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 | codestorm.net | 172 |
2 | bi-vibes.com | 217 |
3 | usbpc.xyz | 224 |
4 | saneke.eu | 231 |
5 | neko.dev | 232 |
6 | nerdhouse.io | 240 |
7 | nexy7574.uk | 276.5 |
8 | calitabby.net | 414.5 |
9 | catboyindustries.co | 419 |
10 | nadeko.net | 424 |
π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