matrix.org/content/blog/2025/01/2025-01-17-twim.md

344 lines
22 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

+++
date = "2025-01-17"
title = "This Week in Matrix 2025-01-17"
path = "/blog/2025/01/17/this-week-in-matrix-2025-01-17"
[taxonomies]
author = ["MTRNord"]
category = ["This Week in Matrix"]
+++
## Matrix Live
{{ youtube_player(video_id="RvVC0wNgNC0") }}
## Dept of Events and Talks 🗣️
### Matrix@FOSDEM 2025
As a reminder Matrix will again be present at FOSDEM this year!
As always, FOSDEM is free to attend and will happen at the 1. and 2. of February. Additionally we will have a fringe event on the 31st of January.
You can find more information in the ["Matrix in full force at FOSDEM"](https://matrix.org/blog/2024/11/matrix-fosdem-full-force/) blog post.
Additionally please be aware that the Health and Safety Policy for the fringe event will be the same as the one of the Matrix Conference.
Extremely briefly: You need to wear a mask while indoors, except while eating and drinking.
## Dept of Spec 📜
[Andrew Morgan (anoa) {he/him}](https://matrix.to/#/@andrewm:element.io) reports
> 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:**
>
> * [MSC4253: Modifying or rejecting accepted MSCs](https://github.com/matrix-org/matrix-spec-proposals/pull/4253)
> * [MSC4252: Extensible Events modification: State event handling](https://github.com/matrix-org/matrix-spec-proposals/pull/4252)
> * [MSC4250: Authenticated media v2 (Cookie authentication for Client-Server API)](https://github.com/matrix-org/matrix-spec-proposals/pull/4250)
>
> **MSCs in Final Comment Period:**
>
> * [MSC4213: Remove server_name parameter from `join` and `knock` endpoints](https://github.com/matrix-org/matrix-spec-proposals/pull/4213) (merge)
>
> **Accepted MSCs:**
>
> * *No MSCs were accepted this week.*
>
> **MSCs in Proposed Final Comment Period:**
>
> * [MSC4133: Extending User Profile API with Key:Value Pairs](https://github.com/matrix-org/matrix-spec-proposals/pull/4133)
> * [MSC3765: Rich text in room topics](https://github.com/matrix-org/matrix-spec-proposals/pull/3765)
> * [MSC3266: Room summary API](https://github.com/matrix-org/matrix-spec-proposals/pull/3266)
> * [MSC4239: Room version 11 as the default room version](https://github.com/matrix-org/matrix-spec-proposals/pull/4239)
> * [MSC3757: Restricting who can overwrite a state event](https://github.com/matrix-org/matrix-spec-proposals/pull/3757)
> * [MSC4183: Additional Error Codes for submitToken endpoint](https://github.com/matrix-org/matrix-spec-proposals/pull/4183)
>
> **Closed MSCs:**
>
> * [MSC3575: Sliding Sync (aka Sync v3)](https://github.com/matrix-org/matrix-spec-proposals/pull/3575)
> * Superseded by [MSC4186: Simplified Sliding Sync](https://github.com/matrix-org/matrix-spec-proposals/pull/4186)
> * [[WIP] MSC4097: Interactions between media redirection and authentication](https://github.com/matrix-org/matrix-spec-proposals/pull/4097)
> * Replaced by [spec-independent approaches](https://github.com/matrix-org/matrix-spec-proposals/pull/4097#issuecomment-2593968927).
>
> ### Spec Updates
>
> As suggested from folks in the TWIM room, the above status now contains MSCs that are currently in proposed Final Comment Period. The hope is that this directs attention to MSCs that are close to being either merged/closed.
>
> Let me know what you think!
<!-- more -->
## Dept of Servers 🏢
### Synapse ([website](https://github.com/element-hq/synapse/))
Synapse is a Matrix homeserver implementation developed by Element
[Matthew](https://matrix.to/#/@matthew:matrix.org) announces
> In Chapter 46 of Elements neverending mission to persuade enormous Matrix deployments to contribute to Synapse and Matrix development costs, weve put out a blog post explaining precisely what Synapse Pro is, why it exists, and why if you base a huge national Matrix deployment on open source Synapse it will fail - <https://element.io/blog/scaling-to-millions-of-users-requires-synapse-pro/>
[Andrew Morgan (anoa) {he/him}](https://matrix.to/#/@andrewm:element.io) announces
> This week the Element team released [Synapse v1.122.0](https://github.com/element-hq/synapse/releases/tag/v1.122.0). Please note that the minimum required version of PostgreSQL is now 13 - upgrade your DB cluster if necessary!
>
> Otherwise this release contains a number of nice additions to the module API and the Admin API. It also stabilises the implementation of [MSC3823: Account Suspension](https://github.com/matrix-org/matrix-spec-proposals/pull/3823).
>
> The usual round of bug fixes and dependency upgrades are also present. Enjoy and thanks!
### matrix-media-repo ([website](https://github.com/turt2live/matrix-media-repo))
Matrix media repository with multi-domain in mind.
[TravisR](https://matrix.to/#/@travis:t2l.io) announces
> [matrix-media-repo v1.3.8](https://github.com/t2bot/matrix-media-repo/releases/tag/v1.3.8) is out now! This release is a security release with other bug fixes and features contained within. Operators are encouraged to update as soon as possible.
>
> Highlights from the changelog are:
>
> * Fix [GHSA-rcxc-wjgw-579r](https://github.com/t2bot/matrix-media-repo/security/advisories/GHSA-rcxc-wjgw-579r) / [CVE-2024-56515](https://www.cve.org/CVERecord?id=CVE-2024-56515)
> * Fix [GHSA-gp86-q8hg-fpxj](https://github.com/t2bot/matrix-media-repo/security/advisories/GHSA-gp86-q8hg-fpxj) / [CVE-2024-52791](https://www.cve.org/CVERecord?id=CVE-2024-52791)
> * Fix [GHSA-r6jg-jfv6-2fjv](https://github.com/t2bot/matrix-media-repo/security/advisories/GHSA-r6jg-jfv6-2fjv) / [CVE-2024-52602](https://www.cve.org/CVERecord?id=CVE-2024-52602)
> * Guests are now able to upload media, as per [MSC4189](https://github.com/matrix-org/matrix-spec-proposals/pull/4189).
> * Federated servers will have their `Authorization` headers parsed correctly now, giving them a higher chance at being able to download media.
>
> If you run into issues upgrading, please visit [#media-repo:t2bot.io](https://matrix.to/#/#media-repo:t2bot.io) on Matrix, or open issues in the [issue tracker](https://github.com/t2bot/matrix-media-repo/issues).
### Dendrite ([website](https://github.com/matrix-org/dendrite))
Second generation Matrix homeserver
[Till](https://matrix.to/#/@s7evink:matrix.org) announces
> This week we released [Dendrite 0.14.1](https://github.com/element-hq/dendrite/releases/tag/v0.14.1)! This is a security release with just one additional fix for loading server ACLs.
>
> [gomatrixserverlib](https://github.com/matrix-org/gomatrixserverlib), which is powering Dendrite, was vulnerable to server-side request forgery under certain conditions. [CVE-2024-52594](https://www.cve.org/CVERecord?id=CVE-2024-52594)/[GHSA-4ff6-858j-r822](https://github.com/matrix-org/gomatrixserverlib/security/advisories/GHSA-4ff6-858j-r822) has been fixed by implementing `Allow` and `Deny` lists for network requests.
>
> Loading server ACLs on startup has seen a huge improvement, this is mostly noticeable on larger instances with many ACL'd rooms.
>
> On the PR side of things: There is a work in progress [PR](https://github.com/element-hq/dendrite/pull/3493), adding support for [MSC3861](https://github.com/matrix-org/matrix-spec-proposals/pull/3861) and the [matrix-authentication-service](https://github.com/element-hq/matrix-authentication-service/) which is quite exciting.
>
> Like always, feel free to join us at [#dendrite:matrix.org](https://matrix.to/#/#dendrite:matrix.org) if you encounter any issues or for Dendrite-related discussions.
## Dept of Clients 📱
### gomuks android
[tulir](https://matrix.to/#/@tulir:maunium.net) says
> I made an Android wrapper for gomuks web using GeckoView to get push notifications. There are a bunch of other new features too, read <https://mau.fi/blog/2025-01-mautrix-release/> for more info
### Fractal ([website](https://gitlab.gnome.org/GNOME/fractal))
Matrix messaging app for GNOME written in Rust.
[Kévin Commaille](https://matrix.to/#/@zecakeh:tedomum.net) says
> In this cold weather, we hope Fractal 10.rc will warm your hearts. Lets celebrate this with our own awards ceremony:
>
> * The most next-gen addition goes to… making Fractal [OIDC aware](https://areweoidcyet.com/#next-gen-auth-aware-clients). This ensures compatibility with [the upcoming authentication changes for matrix.org](https://matrix.org/blog/2025/01/06/authentication-changes/).
> * The most valuable fix goes to… showing consistently pills for users and rooms mentions in the right place instead of seemingly random places, getting rid of one of our oldest and most annoying bug.
> * The most sensible improvement goes to… using the send queue for attachments, ensuring correct order of all messages and improving the visual feedback.
> * The most underrated feature goes to… allowing to react to stickers, fixing a crash in the process.
> * The most obvious tweak goes to… removing the “Open Direct Chat” menu entry from avatar menu and member profile in direct chats.
> * The clearest enhancement goes to… labelling experimental versions in the room upgrade menu as such.
>
> As usual, this release includes other improvements, fixes and new translations thanks to all our contributors, and our upstream projects.
>
> It is available to install via Flathub Beta, see the [instructions in our README](https://gitlab.gnome.org/World/fractal#installation-instructions).
>
> As the version implies, it should be mostly stable and we expect to only include minor improvements until the release of Fractal 10.
>
> If you are wondering what to do on a cold day, you can try to fix one of our [newcomers issues](https://gitlab.gnome.org/World/fractal/-/issues/?label_name%5B%5D=4.%20Newcomers). We are always looking for new contributors!
### Element X Android ([website](https://github.com/vector-im/element-x-android))
Android Matrix messenger application using the Matrix Rust SDK and Jetpack Compose.
[benoit](https://matrix.to/#/@benoit.marty:matrix.org) announces
> Working on the media gallery. It will be possible to swipe between media (images and videos) when displaying media in full screen. For the first iteration, and because of technical - temporary - limitations, it will be possible only when coming from the gallery (navigate to `Room settings` / `Media and files`).
>
> Also finalizing (?) the work on the Knock feature.
>
> A technical note: there has been an update on how we configure the log of the SDK, it's now limited to setting a log level.
### Element Android ([website](https://github.com/vector-im/element-android))
Secure and independent communication for Android, connected via Matrix. Come talk with us in [#element-android:matrix.org](https://matrix.to/#/#element-android:matrix.org)!
[benoit](https://matrix.to/#/@benoit.marty:matrix.org) announces
> We are publishing a new release of Element Android (v1.6.28), that will advertise user to migrate to Element X if they want to create an account on a homeserver with MAS support. As a reminder, matrix.org will migrate to MAS in a near future. This is the first step of redirecting user to Element X, which will become the main client that Element will support on Android and iOS platforms.
>
> Also, Element Android is now dual-licensed: AGPL-3.0 and commercial license.
## Dept of Widgets 🧩
### Miro to [Matrix-Neoboard](https://github.com/nordeck/matrix-neoboard/pulls) converter
[MTRNord (they/them)](https://matrix.to/#/@mtrnord:midnightthoughts.space) announces
> As a weekend project I wanted to solve the usecase we got at work where we develop Neoboard but mainly still use Miro for a lot of things. Hence, I wrote a tool to migrate :)
>
> You can find it hosted at <https://miro-export.neoboard.midnightthoughts.space/>. Note that it requires you to be logged in to Miro to work, but then it allows also using urls.
>
> You can also find the source code at <https://gerrit.midnightthoughts.space/gitweb?p=neoboard-miro-converter.git;a=summary>
>
> #### Catches/Gotchas
>
> * Neoboard lacks feature compatibility
> * Arrows do not show up the same
> * Sticky notes don't have dedicated rendering
> * No border colors
> * Miro API doesn't tell me the position of unattached lines -> Unable to export those
> {{ figure(
img="/blog/img/miro-neoboard-converter.png"
caption="A comparison of Miro(right side) to Neoboard(left side)")
}}
## Dept of SDKs and Frameworks 🧰
### Rory&::LibMatrix ([website](https://cgit.rory.gay/matrix/LibMatrix.git/))
.NET 8 matrix bot/client library/SDK
[Emma [it/its]](https://matrix.to/#/@emma:rory.gay) says
> I've been hard at work squashing compile warnings! Hopefully pushing those in a few days?
> User impact is not expected for those changes.
> Not worth a separate TWIM post: Fixed a bug in Rory&::MatrixUtils that caused some tools to crash when you have an invalid session logged in.
> Additionally: I hope you had a great new year!
>
> #### Changes
>
> * Trim leading slashes out of well-known URIs. LibMatrix and anything that uses it (hello Rory&::MatrixUtils!) should now work more reliably for homeservers!
> * Update dependencies, keeping us up to date with the latest bug fixes and security improvements.
> * Allow building all parts of LibMatrix without depending on a local checkout of ArcaneLibs. This should help with packaging LibMatrix in NuGet/... in the future, making LibMatrix far more accessible for developers!
>
> ***And, as always:***
>
> * The code is available at [cgit.rory.gay](https://cgit.rory.gay/matrix/LibMatrix.git) (or [Github - read only, may be outdated](https://github.com/Rory-LibMatrix/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 us know, we'd love to hear all about it!
### Matrix Rust SDK (2025-01-17) ([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
[Jorge](https://matrix.to/#/@jorgem:element.io) reports
> First of all, we have some **important updates about Sliding Sync vs Simplified Sliding Sync**:
>
> Sliding Sync exists in 2 MSC: [3575](https://github.com/matrix-org/matrix-spec-proposals/pull/3575) and [4186](https://github.com/matrix-org/matrix-spec-proposals/pull/4186) (aka Simplified Sliding Sync).
> [As announced](https://matrix.org/blog/2024/11/14/moving-to-native-sliding-sync/), after a period where both MSC were supported, it's time to “deprecate” MSC3575.
> Here is [the PR that removes the support of MSC3575 in the SDK](https://github.com/matrix-org/matrix-rust-sdk/pull/4531). The plan is to merge it next week.
>
> Besides that, we kept working on the persistent event cache storage, and some other topics:
>
> * The time when an event is added to the send queue is stored in some metadata so the send queue has a better understanding on how stale the event is. Thanks @zzorba! ([#4385](https://github.com/matrix-org/matrix-rust-sdk/pull/4385)).
> * A new `RoomPrivacySettings` helper was added through `Room::privacy_settings` to customise a room's aliases, join rules, visibility, etc. ([#4401](https://github.com/matrix-org/matrix-rust-sdk/pull/4401)).
> * We fixed a bug where we incorrectly discarded previous batch tokens when the persistent event cache storage is disabled, which caused some events to be missing while paginating ([#4495](https://github.com/matrix-org/matrix-rust-sdk/pull/4495)).
> * When a room is forgotten by the SDK, we now also clear all the events related to it from the event cache ([#4521](https://github.com/matrix-org/matrix-rust-sdk/pull/4521)).
> * Fixed a bug where UTD events where always added to any timeline unconditionally while syncing, including those that filter out events such as the pinned events timeline or the media one ([#4525](https://github.com/matrix-org/matrix-rust-sdk/pull/4525)).
> * Added a `Room::own_membership_details` function to get both the current user's room member details and the ones of the sender of that room member event. Also, the FFI `RoomMember` struct now also contains the optional reason for the membership change ([#4529](https://github.com/matrix-org/matrix-rust-sdk/pull/4529)).
> * We now handle redactions of redacted events ([#4533](https://github.com/matrix-org/matrix-rust-sdk/pull/4533)).
> * Fix a bug that caused the logs at the FFI layer to be way too verbose ([#4542](https://github.com/matrix-org/matrix-rust-sdk/pull/4542)).
## Dept of Services 🚀
### etke.cc ([website](https://etke.cc))
Your matrix server on your conditions
[Aine [don't DM]](https://matrix.to/#/@aine:etke.cc) reports
> #### Synapse Admin Updates
>
> A while back, we at [etke.cc announced our Synapse-Admin fork](https://etke.cc/news/xueua5a7nvgjzxldyu52gkw7viftcthp8cz-m3dyi_8/?utm_source=twim&utm_medium=matrix&utm_campaign=synapse-admin). This week, were excited to introduce a new feature and more bugfixes!
>
> **[Account Data Tab for Users](https://github.com/etkecc/synapse-admin/pull/276)**
>
> You can finally see what's inside your users' account data! It is extremely handy for bots using account data as main data store
>
> **Respect base url when loading config.json**
>
> If you serve Synapse Admin under a subdir (e.g. example.com/admin), this one is for you! Previously Synapse Admin attempted to fetch config.json as-is, completely ignoring the base url you use
>
> **Respect other GET params when reading SSO login token**
>
> Previously, Synapse Admin extracted `loginToken` using regular expressions, and that didn't work well if you have any other GET params (like `server`). Well, the issue is no more!
>
> Explore the [source code](https://github.com/etkecc/synapse-admin) or try the [admin.etke.cc (CDN version)](https://admin.etke.cc//?utm_source=twim&utm_medium=matrix&utm_campaign=synapse-admin). Dont forget to join the discussion in [#synapse-admin:etke.cc](https://matrix.to/#/#synapse-admin:etke.cc)
## Dept of Bots 🤖
### Draupnir ([website](https://github.com/the-draupnir-project/Draupnir))
A moderation bot for open Matrix communities
[Gnuxie 💜🐝](https://matrix.to/#/@gnu_ponut:matrix.org) says
> Draupnir 2.0 is finally out!
>
> The 2.0-beta programme has concluded and the long-awaited [Draupnir 2.0](https://github.com/the-draupnir-project/Draupnir/releases) is here, bringing substantial improvements to moderation for public Matrix rooms. This update reflects over a year of hard work and community feedback.
>
> #### A Milestone for Matrix moderation
>
> This release marks a turning point for Draupnir, which has become an essential tool for moderators across Matrix's open communities. With the introduction of new features and optimizations, the bot is easier to use and more capable than ever.
>
> The key improvements are:
>
> * Intuitive Prompts: Routine tasks like protecting rooms or watching policy lists are now as simple as inviting the bot and clicking a reaction. Prompts in the management room replace many manual commands.
> * Faster and Smarter: Draupnir now caches room state using a persistent revision system, significantly reducing the need to query homeservers. An optional room state backing store also cuts startup time dramatically.
> * Resilient and Recoverable: The new Safe Mode feature can diagnose and recover from configuration problems by using the bot's familiar prompts and commands UI.
> * Revamped Protections: The protections system has been overhauled, offering better hooks into room state, community membership, and policy changes. Protection settings and configurations are now also easier to manage.
>
> In addition to hundreds of other fixes and smaller changes that add up to make a big difference. For full details, see the [release notes](https://github.com/the-draupnir-project/Draupnir/blob/main/CHANGELOG.md#v200-2025-01-16). Thank you to everyone who contributed to Draupnir in any way to making this release possible, whether that was reporting an issue, feature request, or coming to talk in [#draupnir:matrix.org](https://matrix.to/#/#draupnir:matrix.org).
## Matrix Federation Stats
[Aine [don't DM]](https://matrix.to/#/@aine:etke.cc) announces
> collected by [MatrixRooms.info](https://matrixrooms.info/?utm_source=twim&utm_medium=matrix&utm_campaign=federation-stats) - an [MRS](https://github.com/etkecc/mrs) instance by [etke.cc](https://etke.cc?utm_source=twim&utm_medium=matrix&utm_campaign=federation-stats)
>
> As of today, `10589` Matrix federateable servers have been discovered by matrixrooms.info, `3152` (`29.8%`) of them are publishing their rooms directory over federation.
> The published directories contain `20436` 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|nexy7574.uk|212|
|2|codestorm.net|234|
|3|synapse.rntpts.de|279|
|4|pissing.dev|283|
|5|matrix.sp-codes.de|363|
|6|girlboss.ceo|424|
|7|tomfos.tr|489|
|8|transgender.ing|559.5|
|9|matrix6.rainerzufall.click|678|
|10|melthecat.dev|740|
## 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!
To learn more about how to prepare an entry for TWIM check out [the TWIM guide](https://matrix.org/twim-guide).
Check also out the [Office of the Governing Board](https://matrix.to/#/#governing-board-office:matrix.org) if you want to get more involved in the Matrix community.