199 lines
11 KiB
Markdown
199 lines
11 KiB
Markdown
+++
|
|
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](https://matrix.to/#/@Half-Shot:half-shot.uk) 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](https://spec.matrix.org/v1.10/client-server-api/#getwell-knownmatrixsupport).
|
|
>
|
|
> 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](https://github.com/matrix-org/matrix-spec-proposals/pull/1929), 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](https://matrix.to/#/@travis:t2l.io) 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:**
|
|
> * [MSC4121: `m.role.moderator` `/.well-known/matrix/support` role.](https://github.com/matrix-org/matrix-spec-proposals/pull/4121)
|
|
> * [MSC4120: Allow `HEAD` on `/download`](https://github.com/matrix-org/matrix-spec-proposals/pull/4120)
|
|
>
|
|
> **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](https://matrix.org/blog/2024/03/22/matrix-v1.10-release/) 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](https://matrix.to/#/#sct-office:matrix.org) soon to help bring them closer to release in the next couple of quarters.
|
|
|
|
<!-- more -->
|
|
|
|
## Dept of Servers 🏢
|
|
|
|
### Synapse ([website](https://github.com/element-hq/synapse/))
|
|
|
|
Synapse is a Matrix homeserver implementation developed by Element
|
|
|
|
[Olivier 'reivilibre'](https://matrix.to/#/@reivilibre.element:librepush.net) says
|
|
|
|
> This week [we released Synapse 1.103.0](https://github.com/element-hq/synapse/releases/tag/v1.103.0), which includes [a bug fix to lock-ups when joining some very large rooms](https://github.com/element-hq/synapse/issues/16968), [a bug fix to joining remote rooms when certain types of modules are installed](https://github.com/element-hq/synapse/issues/16973) as well as [support for the `Retry-After` header](https://github.com/element-hq/synapse/issues/16947) ([MSC4041](https://github.com/matrix-org/matrix-spec-proposals/pull/4041)) 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](https://github.com/vector-im/element-x-ios))
|
|
|
|
A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+.
|
|
|
|
[Ștefan](https://matrix.to/#/@stefan.ceriu:matrix.org) 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](https://github.com/vector-im/element-x-android))
|
|
|
|
Android Matrix messenger application using the Matrix Rust SDK and Jetpack Compose
|
|
|
|
[ganfra](https://matrix.to/#/@ganfra:matrix.org) 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]](https://matrix.to/#/@emma:rory.gay) 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](https://cgit.rory.gay/matrix/LibMatrix.git)!
|
|
> - 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](https://matrix.to/#/#libmatrix:rory.gay) (Space: [#mru-space:rory.gay](https://matrix.to/#/#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](https://github.com/matrix-org/matrix-rust-sdk))
|
|
|
|
Next-gen crypto-included SDK for developing Clients, Bots and Appservices; written in Rust with bindings for Node, Swift and WASM
|
|
|
|
[bnjbvr](https://matrix.to/#/@benjib:element.io) announces
|
|
|
|
> * It's now possible to [send media with captions](https://github.com/matrix-org/matrix-rust-sdk/pull/3226) using the SDK, thanks to [@surakin](https://github.com/surakin)!
|
|
> * Support for searching in the Room directory [has landed](https://github.com/matrix-org/matrix-rust-sdk/pull/3169) 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](https://matrix.to/#/@aine:etke.cc) says
|
|
|
|
> collected by [MatrixRooms.info](https://matrixrooms.info/?utm_source=twim&utm_medium=matrix&utm_campaign=federation-stats) - an [MRS](https://gitlab.com/etke.cc/mrs/api) instance by [etke.cc](https://etke.cc?utm_source=twim&utm_medium=matrix&utm_campaign=federation-stats)
|
|
>
|
|
> 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](https://matrixrooms.info/stats/?utm_source=twim&utm_medium=matrix&utm_campaign=federation-stats)
|
|
>
|
|
> [How to add your server](https://matrixrooms.info/indexing/?utm_source=twim&utm_medium=matrix&utm_campaign=federation-stats) | [How to remove your server](https://matrixrooms.info/deindexing/?utm_source=twim&utm_medium=matrix&utm_campaign=federation-stats)
|
|
|
|
## Dept of Ping
|
|
|
|
Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server.
|
|
|
|
### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net)
|
|
Join [#ping:maunium.net](https://matrix.to/#/#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](https://matrix.to/#/#ping-no-synapse:maunium.net)
|
|
Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#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](https://matrix.to/#/#twim:matrix.org) with your updates!
|