matrix.org/content/blog/2024/10/2024-10-25-twim.md

287 lines
18 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 = "2024-10-25"
title = "This Week in Matrix 2024-10-25"
path = "/blog/2024/10/25/this-week-in-matrix-2024-10-25"
[taxonomies]
author = ["Thib"]
category = ["This Week in Matrix"]
+++
## Matrix Live
{{youtube_player(video_id="5q3njjtlaVU")}}
## Dept of Spec 📜
[Andrew Morgan (anoa) {he/him}](https://matrix.to/#/@andrewm:element.io) says
> 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:**
> * [MSC4220: Local call rejection (m.call.reject_locally)](https://github.com/matrix-org/matrix-spec-proposals/pull/4220)
> * [MSC4218: Improving performance of profile changes](https://github.com/matrix-org/matrix-spec-proposals/pull/4218)
>
> **MSCs in Final Comment Period:**
> * [MSC2409: Proposal to send EDUs to appservices](https://github.com/matrix-org/matrix-spec-proposals/pull/2409) (merge)
>
> **Accepted MSCs:**
> * *No MSCs were accepted this week.*
>
> **Closed MSCs:**
> * *No MSCs were closed/rejected this week.*
>
> ### Spec Updates
>
> Steady progress across a range of MSCs this week. I'm particularly excited to see [MSC2409](https://github.com/matrix-org/matrix-spec-proposals/pull/2409) to reach FCP given its widespread use. Perhaps [MSC4203: Sending to-device events to appservices](https://github.com/matrix-org/matrix-spec-proposals/pull/4203) is next?
<!-- more -->
## Dept of Servers 🏢
### Synapse ([website](https://github.com/element-hq/synapse/))
Synapse is a Matrix homeserver implementation developed by Element
[Andrew Morgan (anoa) {he/him}](https://matrix.to/#/@andrewm:element.io) says
> This week we released [Synapse v1.118.0rc1](https://github.com/element-hq/synapse/releases/tag/v1.118.0rc1). The major thing to be aware of is that Python 3.8 is now [end-of-life](https://devguide.python.org/versions/). As per our [Deprecation Policy for Platform Dependencies](https://element-hq.github.io/synapse/latest/deprecation_policy.html#policy), Synapse will be dropping support for Python 3.8 in the next release; Synapse 1.119.0.
>
> Otherwise, Synapse 1.118.0 is the first release to support [Python 3.13](https://www.python.org/downloads/release/python-3130/)! [PostgreSQL 17](https://www.postgresql.org/about/news/postgresql-17-released-2936/) is also supported as of this release.
>
> Other highlights in this release include an experimental implementation of [MSC4210: Remove legacy mentions](https://github.com/matrix-org/matrix-spec-proposals/pull/4210), and the ability to set one's display name upon registering via JWT. In addition, there's the usual round of bugfixes and internal changes. See the [release changelog](https://github.com/element-hq/synapse/releases/tag/v1.118.0rc1) for the full details!
## Dept of Clients 📱
### Extera
[OfficialDakari](https://matrix.to/#/@officialdakari:extera.xyz) says
> Some improvements for Extera are made. Here is what I've changed:
> * Reaction styles. I've completely redesigned reactions in messages.
> * **Perfect** browser back button handler. Primarily it's made for mobile. Now you can close modal dialogs with back button, and it **works**.
> * **Custom CSS themes!** Now you can add Custom CSS Themes to Extera.
>
> Also, here are upcoming things:
> * **Custom JS plugins.** You will be able to inject JavaScript into Extera, like themes.
> * Custom **AI** bots with persona (on extera.xyz homeserver). I will announce in Extera's chat when AI platform for Matrix will be out. Users will be able to create AI bots with GPT-4o + custom system prompt and more.
>
> Best regards,
> Extera ~~team~~ developer
### 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+.
[Doug](https://matrix.to/#/@douge:matrix.org) reports
> * Element X iOS 1.9.3 is in TestFlight and will be available next week. It adds support for rendering media captions in the timeline, showing verification badges when looking at a room members details and fixes a bug with media upload where we sometimes included an incorrect image size.
> * Work on support for Knocking continues and were currently updating the Reaction Picker to include a Frequently Used section so you dont have to hunt for your favourite emoji all the time.
> * Version 1.9.3 is the last version of Element X iOS that will support iOS 16. The next version we will release will require iOS 17 or 18 as we prepare the way to fix some longstanding bugs that should be addressed by using newer SwiftUI components.
## Dept of Widgets 🧩
### Matrix Widget Toolkit
[Kim Brose (Nordeck)](https://matrix.to/#/@kim.brose:nordeck.io) reports
> It's been a bit over a month since we updated our Matrix Widget Toolkit to the newest MUI, React, Redux, and Matrix versions just before the Matrix Conference, so we are happy to share the newest update with you today.
>
> While the list isn't long, it is quite significant.
> We migrated away from Facebook's [Create React App](https://create-react-app.dev/) (CRA) framework in favour of the new and actively maintained [Vite](https://vitejs.dev/) framework (mind the French pronunciation 😉).
> This allows us to update some dependencies with known issues that were kept back behind CRA.
> Along with that, we also swapped out our testing framework from [Jest](https://jestjs.io/) to the Vite-native [Vitest](https://vitest.dev/).
> If you're consuming the toolkit, you might already be using our [`@matrix-widget-toolkit/testing`](https://github.com/nordeck/matrix-widget-toolkit/tree/main/packages/testing) package, which conveniently exposes a helper to mock the widget API.
> These breaking changes caused us to release a new major version of the testing package.
>
> With that, up-to-date package versions of the toolkit components are now:
> * @matrix-widget-toolkit/testing@3.0.1, based on vitest
> * @matrix-widget-toolkit/api@3.4.2, @matrix-widget-toolkit/mui@2.0.6, @matrix-widget-toolkit/react@2.0.3, all now tested using vitest
> * @matrix-widget-toolkit/widget-server@1.0.6, with a slightly newer nginx as its base
>
> All the packages can be found in the [releases section of our repo](https://github.com/nordeck/matrix-widget-toolkit/releases).
>
> You can see a demo of what the toolkit can do using our [demo widget](https://github.com/nordeck/matrix-widget-toolkit/tree/main/example-widget-mui).
>
> If you have any questions or feedback, please reach out to us using our public room [#nordeck:matrix.org](https://matrix.to/#/#nordeck:matrix.org).
## Dept of SDKs and Frameworks 🧰
### Trixnity ([website](https://gitlab.com/trixnity/trixnity))
Multiplatform Kotlin SDK for developing Clients, Bots, Appservices and Servers
[Benedict](https://matrix.to/#/@benedict:imbitbu.de) says
> A new release of Trixnity is out. It supports files larger than 2.1GB now, has some API improvements and there are some new helpers regarding file handling. Additionally a few bugs has been fixed. Matrix 1.12 support is also implemented, but will be part of the next release.
### 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) says
> Hello everyone! Here's for the first Matrix Rust SDK update for a long time, for updates which happened this week, as generated by
> our new [release process helper](https://github.com/matrix-org/matrix-rust-sdk/blob/40f4fc138b3b1f5ab764bd823be3b9a78a481896/cliff-weekly-report.toml#L1-L2)! More news about a new Matrix SDK release coming Soon™.
>
> ### SDK
>
> * Support for preallocated media content URI has been added in
> `Media::create_content_uri()`, and uploading the content for such a
> preallocated URI is possible with `Media::upload_preallocated()`.
> * Uploaded medias can now be cached in multiple
> attachment-related methods like `Room::send_attachment`.
> * When `SendAttachment::store_in_cache()` is set, the thumbnail
> is also cached with a sensible default media request (not animated,
> scaled, same dimensions as the uploaded thumbnail).
> * `RoomListService::subscribe_to_rooms` no longer has a `settings` argument.
> * Room list service: Add `m.room.topic` and `m.room.pinned_events` in `all_rooms`.
> * Room list service: Add the `m.call.member` state event in the required state.
> * (internal) Event cache: Dropping a `LinkedChunk` `UpdatesSubscriber` release the reader token for the GC.
>
> ### Crypto
>
> * We now persist the error that caused an event to fail to send. The error `QueueWedgeError` contains info that client can use to try to resolve the problem when the error is not automatically retry-able. Some breaking changes occurred in the FFI layer for `timeline::EventSendState`, `SendingFailed` now directly contains the wedge reason enum; use it in place of the removed variant of `EventSendState`.
> * Add more reason codes to `UtdCause`.
> * `matrix_sdk_crypto::type::events::UtdCause::Membership` has
> been renamed to `...::SentBeforeWeJoined`.
> * Don't warn about verified users when subscribing to identity updates.
### Matrix Dart SDK ([website](https://github.com/famedly/matrix-dart-sdk))
Matrix SDK written in pure Dart.
### Matrix Dart SDK ([website](https://github.com/famedly/matrix-dart-sdk))
[td](https://matrix.to/#/@td:technodisaster.com) says
> meep quick major version release twim announcement -
>
> #### v0.34.0
>
> * Powerlevel updates are no longer local echo'd, we wait for the update to come down sync.
> * Fix a ton of edgecases parsing message bodies
> * We also added v1.12 endpoints support.
> * Auto-generated objects now also have proper equality and hashcode overrides so you can just compare 2 objects now.
>
> That's it for now, see you soon bye byee
### libQuotient ([website](https://github.com/quotient-im/libQuotient))
A Qt5 library to write cross-platform clients for Matrix
[kitsune](https://matrix.to/#/@kitsune:matrix.org) announces
> ### libQuotient 0.9.0
> After a few release candidates, the new stable branch and the new version of libQuotient are officially released! Matrix 1.12 under the hood, cross-signing support (finally in stable), lots of refactoring and cleanup after transition to Qt6-only code and a flurry of smaller features and fixes. The release notes are [where you would expect them](https://github.com/quotient-im/libQuotient/releases/tag/0.9.0).
### Elm SDK ([website](https://github.com/noordstar/elm-matrix-sdk))
A more consistent alternative to the matrix-js-sdk, written in Elm.
[Bram](https://matrix.to/#/@bram:matrix.directory) says
> ### Elm SDK beta 3.6.0
>
> Despite being a minor update, the number of new features is major! The [beta 3.6.0 Elm SDK](https://package.elm-lang.org/packages/noordstar/elm-matrix-sdk-beta/3.6.0/) update adds the following features:
>
> * Added `Matrix.Room.getState` to explore a room's state
> * Added `Matrix.leave` to leave rooms
> * Added `Matrix.Invite` module
> * Added `Matrix.Event.redact` and Matrix.Room.redact to redact events
> * Added `Matrix.Room.name`, `Matrix.Room.topic` & `Matrix.Room.pinned_events` to quickly access the most commonly used state events
>
> Additionally, using backwards compatibility, the Elm SDK now supports **ALL** official spec versions! _(Including historical ones.)_ This means that you can safely update the Elm SDK without needing to wait for your homeserver to update. You can now [view the supported versions document](https://github.com/noordstar/elm-matrix-sdk-beta/blob/main/docs/supported.md) for an in-depth table.
> ![](/blog/img/wIxrQsBcAKclgmPgHuVcuEhX.png)
## Dept of Ops 🛠
### matrix-docker-ansible-deploy ([website](https://github.com/spantaleev/matrix-docker-ansible-deploy))
Matrix server setup using Ansible and Docker
[Slavi](https://matrix.to/#/@slavi:devture.com) reports
> [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy) now supports installing and configuring [Matrix Authentication Service](https://github.com/element-hq/matrix-authentication-service/) (MAS).
>
> Huge thanks to [Quentin Gliech](https://github.com/sandhose) from the [Element](https://element.io/) / [Matrix Authentication Service](https://github.com/element-hq/matrix-authentication-service) team for answering our numerous questions about MAS.
>
> Our [Setting up Matrix Authentication Service](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/abbe7818e2780951251c003c2744526201fb6109/docs/configuring-playbook-matrix-authentication-service.md) documentation page has more details about this new service, what you might expect from the switch and how you can migrate your existing (Synapse) homeserver setup to it.
## Dept of Services 🚀
### Synapse-Admin
[Aine [don't DM]](https://matrix.to/#/@aine:etke.cc) reports
> 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), and we're excited to share more QoL changes and a new feature
>
> * Separate login button for access token auth - that doesn't depend on the login mechanisms advertised by homeservers
> * Better footer implementation - no more content overlapping, no more unnecessary scrollbar
> * [Fixed room state events display](https://github.com/etkecc/synapse-admin/pull/100), including displaying of external users - the content (and sender) are visible now
> * [User profile in the top menu](https://github.com/etkecc/synapse-admin/pull/80) - now you will see your avatar and displayname instead of a placeholder in the top menu
> * [Enable visual customization](https://github.com/etkecc/synapse-admin/pull/81) - adjust the display of various tables to your liking, e.g. hide unnecessary columns in the user list
> * Custom menu items - evolution of the [previously implemented `Contact support` button](https://github.com/etkecc/synapse-admin/pull/45), now you can set your own custom menu items [using `menu` key in `config.json`](https://github.com/etkecc/synapse-admin/pull/79)
>
> Apart from that, the [#synapse-admin:etke.cc](https://matrix.to/#/#synapse-admin:etke.cc) room has been created - do not hesitate to say hi!
>
> [Source code](https://github.com/etkecc/synapse-admin), [admin.etke.cc (CDN version)](https://admin.etke.cc//?utm_source=twim&utm_medium=matrix&utm_campaign=synapse-admin)
> ![](/blog/img/HJSPWyrkqbjntcsYXDjbJYYI.png)
## Dept of Bots 🤖
### Draupnir ([website](https://github.com/the-draupnir-project/Draupnir))
[Gnuxie 💜🐝](https://matrix.to/#/@gnu_ponut:matrix.org) reports
> [Draupnir](https://github.com/the-draupnir-project/Draupnir), a moderation bot, has released [v2.0.0-beta.8](https://github.com/the-draupnir-project/Draupnir/releases/tag/v2.0.0-beta.8). This release includes improvements to safe mode, we now show which persistent configuration properties have caused Draupnir to enter safe mode. We also have made a few changes to Draupnir's logging to give system admins feedback on how Draupnir is configured. For all the details, check the [release notes](https://github.com/the-draupnir-project/Draupnir/releases/tag/v2.0.0-beta.8).
>
> I've also written a blog update about what I have been working on over the last month or so and I also talk through an update to the Draupnir roadmap.
>
> <https://marewolf.me/posts/draupnir/2406.html>
>
> Please note that in this release the minimum node.js version required to run Draupnir has been updated from Node 18 to Node 20. If you are using Debian, please follow our documentation for using Debian and node source [here](https://the-draupnir-project.github.io/draupnir-documentation/bot/setup_debian), which was kindly contributed by Sky.
>
> If you have any questions or need help with anything related to Draupnir, please find us in our support room at [#draupnir:matrix.org](https://matrix.to/#/#draupnir:matrix.org).
## Matrix Federation Stats
[Aine [don't DM]](https://matrix.to/#/@aine:etke.cc) reports
> 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, `10274` Matrix federateable servers have been discovered by matrixrooms.info, `3145` (`30.6%`) of them are publishing their rooms directory over federation.
> The published directories contain `22149` 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|conduwu.it|151|
|2|transgender.ing|185|
|3|envs.net|192.5|
|4|tomfos.tr|197|
|5|awawawawawawawawawawawawawawawawawawawawawawawawawawawawawawaw.gay|203|
|6|pissing.dev|208|
|7|constellatory.net|233.5|
|8|girlboss.ceo|251.5|
|9|nerdhouse.io|256|
|10|synapse.rntpts.de|292.5|
## 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!