matrix.org/content/blog/2024/03/2024-03-22-twim.md

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 from EventIdResponse 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 contain 22719 rooms.

Stats timeline is available on MatrixRooms.info/stats

How to add your server | How to remove your server

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!