11 KiB
+++ date = "2024-03-22T19:30:00Z" title = "This Week in Matrix 2024-03-22" path = "/blog/2024/03/22/this-week-in-matrix-2024-03-22"
[taxonomies] author = ["Thib"] category = ["This Week in Matrix"] +++
Matrix Live
{{ youtube_player(video_id="yA5-AZnUAdY") }}
Dept of Spec 📜
Half-Shot announces
Great news everyone! As of Matrix 1.10, you can now specify more contact information about your homeserver via the new /.well-known/matrix/support endpoint.
This is useful because it allows other citizens of the federation to know who to contact if there is a problem, and it only requires you to fill in a few details to get going. This change has been on the go since 2019, so on a personal note I am thrilled to see this finally land. You can see an example on the foundation's very own server at https://matrix.org/.well-known/matrix/support
TravisR announces
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:
MSCs in Final Comment Period:
- No MSCs are in FCP.
Accepted MSCs:
- No MSCs were accepted this week.
Closed MSCs:
- No MSCs were closed/rejected this week.
Spec Updates
We released version 1.10 of the spec today! Read the blog post for the full details. Many thanks to Kévin Comaille for writing many of the spec PRs that landed in today's release!
With the release of Matrix 1.10, we on the Spec Core Team are looking forward to Matrix 1.11 and Matrix 2.0. We are asking the teams working on Matrix 2.0 features to update their MSCs and send them for review in #sct-office:matrix.org soon to help bring them closer to release in the next couple of quarters.
Dept of Servers 🏢
Synapse (website)
Synapse is a Matrix homeserver implementation developed by Element
Olivier 'reivilibre' says
This week we released Synapse 1.103.0, which includes a bug fix to lock-ups when joining some very large rooms, a bug fix to joining remote rooms when certain types of modules are installed as well as support for the
Retry-After
header (MSC4041) and a small handful of other things.Other than that, we have been gradually working through the backlog of pull requests — thanks for sending those in and sorry for the delay! See you next week.
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
Element X iOS version 1.5.12 is now available on the AppStore:
- It's now possible to favourite a room so that you can keep track of the groups and the people you like to chat with the most.
- If you read a room but you would like to come back to it later, you can now mark it as unread, making it similar to any room with unread notifications.
- At the same time, if you feel a room's recent activity isn't interesting and you don't want the green badge on it, just mark it as read.
However these three amazing features are now also supported by another amazing quality of life feature, which is... drum roll ..filters! Is now possible to filter the room list by DMs (People), groups (Rooms), favourites, and unread, and any combination of these, allowing you full customisation over the content of the room list.
Meanwhile, on the normal development track, we've completely revamped our user onboarding flow and session verification is now mandatory either by entering the recovery key or by running the interactive emoji flow against an existing session. The new moderation options are close to making an appearance and we've improved overall error tracking and analytics.
Element X Android (website)
Android Matrix messenger application using the Matrix Rust SDK and Jetpack Compose
ganfra reports
Element X Android version 0.4.6 is now available on the PlayStore:
If you read a room but you would like to come back to it later, you can now mark it as unread, making it similar to any room with unread notifications. At the same time, if you feel a room's recent activity isn't interesting and you don't want the green badge on it, just mark it as read.
Room list filters and mark room as favourite are also finished, and will probably be enabled in the next release.
It'll be possible to filter the room list by DMs (People), groups (Rooms), favourites, and unread, and any combination of these, allowing you full customisation over the content of the room list.
We are also making progress on the room admin features.
Dept of SDKs and Frameworks 🧰
Rory&::LibMatrix (.NET 8 matrix bot/client library/SDK)
Emma [it/its] announces
Mainly homeserver emulator updates, with some bot SDK changes aswell :)
Changes
- Made
StateKey
optional in events (given they may be null for non-state events)- Removed
Event
parameter fromEventIdResponse
constructor- HSE: work on partial sync, removed StatePosition because it doesn't make sense
- HSE: Room internals: Abstract call to rebuild room state to dedicated function (so it can be called on load)
- HSE: Room internals: Try to fix state rebuilding
- Bot SDK: Use table for help command
- Bot SDK: Cleaned up command parser
Additions
- Added width and height to
FileInfo
in messages- Added UploadFile with byte arrays rather than streams to
AuthenticatedHomeserver
- HSE: Add sending events in, and leaving rooms
- HSE: Add GET .../devices
- HSE: Room internals: Add
JoinedMembers
accessor- Added table support to
MessageBuilder
And, as always:
- The code is available at cgit.rory.gay!
- All contributions are more than welcome, be it documentation, code, anything! Perhaps, example usecases, bots, ...?
- Discussion, suggestions and ideas are welcome in #libmatrix:rory.gay (Space: #mru-space:rory.gay)
- Got a cool project that you're working on and want to share, using LibMatrix? Be sure to let me know, I'd love to hear all about it!
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
bnjbvr announces
- It's now possible to send media with captions using the SDK, thanks to @surakin!
- Support for searching in the Room directory has landed in the SDK 🥳
- The UI
Timeline
now uses a different algorithm to insert day dividers, which ought to be super robust and well-tested; this should prevent double day dividers in embedders of the SDK like the ElementX apps.- More work is being done on the Linked Chunks data structure, used to represent series of room events in the Event Cache. Actual integration in the Event Cache is looming.
- As we investigate more unable-to-decrypt (UTD) events, more logs have been added in multiple places, the crypto crate tests got improved, and a few bugs related to key backups have been already fixed.
- Work on login via QR code for OIDC sessions is ongoing 👀
- We now have a CI check for the minimum supported Rust version that's used for the SDK. The new MSRV for the project is Rust 1.76.
- And your usual load of small changes/refactorings/bugfixes: Ruma has been updated to the latest version to support time on wasm; new functions have been exposed to the FFI layer for use in other languages; dependencies have been updated, and so on…
Matrix Federation Stats
Aine says
collected by MatrixRooms.info - an MRS instance by etke.cc
As of today,
9546
Matrix federateable servers have been discovered by matrixrooms.info,2855
(29.9%
) of them are publishing their rooms directory over federation. The published directories contain22719
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 | 8447 | 280 |
2 | nerdhouse.io | 263 |
3 | 075-141-169-120.res.spectrum.com:8447 | 269 |
4 | herkinf.de | 272 |
5 | aguiarvieira.pt | 291 |
6 | matrix.its-tps.fr | 404 |
7 | transfem.dev | 430 |
8 | shema.lv | 578.5 |
9 | pain.agency | 597.5 |
10 | computerlie.be | 607 |
#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 | 8447 | 218 |
2 | matrix.its-tps.fr | 116 |
3 | aguiarvieira.pt | 144 |
4 | nerdhouse.io | 154 |
5 | 075-141-169-120.res.spectrum.com:8447 | 154.5 |
6 | dendrite.s3cr3t.me | 191.5 |
7 | herkinf.de | 205 |
8 | transfem.dev | 210 |
9 | spritsail.io | 229 |
10 | inu.is | 230 |
That's all I know
See you next week, and be sure to stop by #twim:matrix.org with your updates!