263 lines
15 KiB
Markdown
263 lines
15 KiB
Markdown
+++
|
||
date = "2023-11-24"
|
||
title = "This Week in Matrix 2023-11-24"
|
||
path = "/blog/2023/11/24/this-week-in-matrix-2023-11-24"
|
||
|
||
[taxonomies]
|
||
author = ["Thib"]
|
||
category = ["This Week in Matrix"]
|
||
|
||
[extra]
|
||
image = "https://matrix.org/blog/img/20231124-fractal.png"
|
||
+++
|
||
|
||
## Matrix Live
|
||
|
||
{{ youtube_player(video_id="G1jeIlfT8dE") }}
|
||
|
||
## Dept of Spec 📜
|
||
|
||
[uhoreg](https://matrix.to/#/@hubert:uhoreg.ca) 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:**
|
||
> * [MSC4081: Claim fallback key on network failure](https://github.com/matrix-org/matrix-spec-proposals/pull/4081)
|
||
>
|
||
> **MSCs in Final Comment Period:**
|
||
> * [MSC1929: Homeserver Admin Contact and Support page](https://github.com/matrix-org/matrix-spec-proposals/pull/1929) (merge)
|
||
>
|
||
> **Accepted MSCs:**
|
||
> * *No MSCs were accepted this week.*
|
||
>
|
||
> **Closed MSCs:**
|
||
> * [MSC4037: Thread root is not in the thread](https://github.com/matrix-org/matrix-spec-proposals/pull/4037)
|
||
>
|
||
> ## Spec Updates
|
||
>
|
||
> Matrix 1.9 is due out next week. Keep your eyes peeled for an update.
|
||
|
||
<!-- more -->
|
||
|
||
## Dept of Bridges 🌉
|
||
|
||
### matrix-hookshot ([website](https://github.com/Half-Shot/matrix-hookshot))
|
||
|
||
A multi purpose multi platform bridge, formerly known as matrix-github
|
||
|
||
[Andrew F](https://matrix.to/#/@andrewf:element.io) announces
|
||
|
||
> Hookshot 4.6.0 & webhook responses
|
||
>
|
||
> Get ready for another Hookshot release! The flagship new feature is the ability for Hookshot to respond to webhooks with custom response data, once Hookshot has handled the webhook message. This feature exists because while some services expect an immediate response to webhooks, others wait for the request to complete. With this release, Hookshot can now handle both cases. For more details, refer to [the documentation](https://matrix-org.github.io/matrix-hookshot/latest/setup/webhooks.html#wait-for-complete).
|
||
>
|
||
> The release is available at https://github.com/matrix-org/matrix-hookshot/releases/tag/4.6.0, or by doing `docker pull halfshot/matrix-hookshot:4.6.0`. And as usual, feel free to direct any questions about Hookshot in our Matrix room: [#hookshot:half-shot.uk](https://matrix.to/#/#hookshot:half-shot.uk)
|
||
|
||
## Dept of Clients 📱
|
||
|
||
### 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) announces
|
||
|
||
> We just released Fractal 5! It is a full rewrite compared to Fractal 4, that now leverages GTK 4, libadwaita, and the Matrix Rust SDK. The two-and-a-half-year effort brings a new interface that fits all screens, big 🖥️ or small 📱, but should still look familiar to users of earlier versions.
|
||
>
|
||
> It still offers the same old features you know and love, with a few additions. Highlights (*italics* is new✨ in 5):
|
||
>
|
||
> * Find rooms to discuss your favorite topics, or talk privately to people, securely thanks to *end-to-end encryption*
|
||
> * Send rich formatted messages, files, or *your current location*
|
||
> * *Reply* to specific messages, *react* with emoji, *edit* or remove messages
|
||
> * View images, and play audio and video directly in the conversation
|
||
> * See *who has read messages*, and who is typing
|
||
> * Log into *multiple accounts* at once (with *Single-Sign On* support)
|
||
>
|
||
> It will be available in a few hours on [Flathub](https://flathub.org/apps/org.gnome.Fractal).
|
||
>
|
||
> For our next version, we intend to add missing key features, like notification settings, room settings and moderation… We also plan on improving the accessibility and polish the rough edges. [Any help](https://gitlab.gnome.org/GNOME/fractal/-/issues/?label_name%5B%5D=4.%20Newcomers) is greatly appreciated!
|
||
> ![](/blog/img/20231124-fractal.png)
|
||
|
||
### 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) says
|
||
|
||
> This week was mostly about tweaks and bug fixes, and we even managed adding a couple new features too:
|
||
>
|
||
> * Read receipts are out of labs and we even implemented a summary sheet for them
|
||
> * [Polls can now be edited](https://github.com/vector-im/element-x-ios/pull/2151)
|
||
> * We have made a lot of fixes around the rich text editor and message composer
|
||
> * and more, too many to enumerate here
|
||
|
||
### 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) reports
|
||
|
||
> * RC 0.3.2 is in the open testing and should go to production on Monday.
|
||
> * Still stabilising and polishing the application
|
||
> * Writing more tests to help avoid as many regressions as possible and also have a great code coverage metric.
|
||
> * The application is now using the dynamic room list API, and in particular it will fix the issue where left rooms were still displayed.
|
||
> * Also fixing issues on the Rich Text Editor library and work on mentions.
|
||
> * Regarding polls, it’s now possible to reply to them. And very soon it will be possible to edit them, if they get no votes.
|
||
|
||
### 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
|
||
|
||
> * A bug has been fixed, which was causing incoming calls to ring forever if answered on another session.
|
||
> * We will prepare a release candidate 1.6.8 next week
|
||
|
||
### Element ([website](https://element.io))
|
||
|
||
Everything related to Element but not strictly bound to a client
|
||
|
||
[Johannes Marbach](https://matrix.to/#/@johannesm:element.io) announces
|
||
|
||
> * Our receipt handling rewrite has entered code review. We're still testing the impact of this and while things are certainly not fixed entirely, we're noticing a meaningful reduction of the stuck notification pain with this change applied. Meanwhile we also started exploring UX improvements around thread notifications that could help lessen the pain further but haven't concluded yet.
|
||
> * Work on the new room header and details has progressed and we're going to default the labs flag to true on develop.element.io to source feedback
|
||
> * We kicked off testing for native OIDC. So far we've identified only one bug around token refresh but we'll give it some more scrutiny next week.
|
||
> * Our exploration of replacing Cypress with Playwright for end-to-end tests is looking really promising so far. Other than tests running faster, we may also be able to re-enable visual / screenshot tests using Playwright's built-in support rather than Percy.
|
||
> * Lastly, while we're not exactly proud to still be using Webpack in 2023, at least we've managed to upgrade from version 4 to 5
|
||
|
||
## Dept of Encryption 🔐
|
||
|
||
### libolm ([website](https://gitlab.matrix.org/matrix-org/olm))
|
||
|
||
[uhoreg](https://matrix.to/#/@hubert:uhoreg.ca) reports
|
||
|
||
> [Libolm 3.2.16](https://gitlab.matrix.org/matrix-org/olm/-/releases/3.2.16) has been released. This release only fixes some installation issues with the Python bindings. Thanks to Alfred Wingate for the fix. If you don't use the Python bindings, or you already have it installed, there is no reason to update.
|
||
|
||
## Dept of SDKs and Frameworks 🧰
|
||
|
||
### Rory&::LibMatrix (.NET matrix bot/client library)
|
||
|
||
[Emma [it/its] ⚡️](https://matrix.to/#/@emma:conduit.rory.gay) says
|
||
|
||
> No new major features this time around.
|
||
> Any help I can get is super appreciated!
|
||
>
|
||
> A lot of time this week has been spent working on an example bot with a real use case: Rory&::ModerationBot!
|
||
> The code for this can be found in the ExampleBots/ModerationBot directory.
|
||
>
|
||
> ## Things I'm not sure I mentioned last week
|
||
> * Added license file (AGPL 3) as I forgot to add this (same license as where the code originated from)
|
||
> * Updated to .NET 8, as that's been released
|
||
>
|
||
> ## Changes
|
||
> * New "SetReplaceRelation" function in TielineEventContent, so one can easily send edited content
|
||
> * Added `info` field to RoomMessageEventContent, so one can properly represent files
|
||
> * Split `PolicyRuleEventContent` into the 3 types (user, room, server)
|
||
> * Add HTML formatting shortcut for links to events
|
||
> * Improved the process of uploading files and sending them in rooms internally
|
||
> * `CreatePublic` shortcut for createRoom data
|
||
> * Utility function to call /messages multiple times in order to get a certain amount of events (useful if you want to eg. export an entire timeline!)
|
||
> * Add fallback to `JoinAsync` on rooms to handle already being a member (fixes sending additional join events)
|
||
> * Allow specifying contentType on file uploads
|
||
> * 10 second timeout on resolving well-knowns
|
||
> * 300 second timeout on sync requests for command handler instead of 30 (reduces pointless traffic)
|
||
>
|
||
> _**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))
|
||
|
||
### Trixnity ([website](https://gitlab.com/trixnity/trixnity))
|
||
|
||
Multiplatform Kotlin SDK for Matrix
|
||
|
||
[Benedict](https://matrix.to/#/@benedict:imbitbu.de) says
|
||
|
||
> Trixnity 4.0.0 has been released. This release contains many breaking changes making the API more clear and consistent. Among many other improvements and features there are also some performance optimizations regarding the memory usage and sync processing speed. The initial sync processing (logic and persistence) on my 250+ rooms Matrix account is up to 50% faster (depending on the device and database).
|
||
>
|
||
> If you want to know more details, check out the [release page](https://gitlab.com/trixnity/trixnity/-/releases) containing a huge list of changes.
|
||
|
||
### 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
|
||
|
||
[Jonas Platte](https://matrix.to/#/@jplatte:flipdot.org) announces
|
||
|
||
> * [Fix read receipt event handlers not being called with Sliding Sync](https://github.com/matrix-org/matrix-rust-sdk/pull/2855)
|
||
> * [Correctly set/unset room avatars with Sliding Sync](https://github.com/matrix-org/matrix-rust-sdk/pull/2867)
|
||
> * Many small improvements and bug fixes for `matrix-sdk-crypto`:
|
||
> - [Improve performance of `get_missing_sessions`](https://github.com/matrix-org/matrix-rust-sdk/pull/2845)
|
||
> - [Improve performance of `share_room_key`](https://github.com/matrix-org/matrix-rust-sdk/pull/2862)
|
||
> - [Various](https://github.com/matrix-org/matrix-rust-sdk/pull/2860) [logging](https://github.com/matrix-org/matrix-rust-sdk/pull/2861) [improvements](https://github.com/matrix-org/matrix-rust-sdk/pull/2873)
|
||
> - [Prepare our `/keys/claim` response handling to handle multiple OTKs](https://github.com/matrix-org/matrix-rust-sdk/pull/2870)
|
||
> * [Room list service: add a new filter to get all rooms but the left ones](https://github.com/matrix-org/matrix-rust-sdk/pull/2866)
|
||
|
||
## Dept of Events and Talks 🗣️
|
||
|
||
[Thib](https://matrix.to/#/@thib:ergaster.org) says
|
||
|
||
> Rejoice, there will be a Matrix booth at FOSDEM! I can't wait to see all of those who can make it to Brussels in February 🎉
|
||
> https://fosstodon.org/@fosdem/111447848642391129
|
||
|
||
## Dept of Interesting Projects 🛰️
|
||
|
||
### Synapse Super Invites
|
||
|
||
[ben](https://matrix.to/#/@ben:acter.global) announces
|
||
|
||
> [SynapseSuperInvites](https://pypi.org/project/synapse-super-invites/) ([sources on github](https://github.com/acterglobal/synapse-super-invites)) is a synapse-matrix-server pluggable module that allows any user from your homeserver to create invitation tokens they can share with others (on the same homeserver) to be automatically added to a range of rooms. It does that by providing a few new API-end-points that any client can use to implement a UI for it. Any invite token is bound to the creating user and any redeeming is tracked, so it isn't redeemed again later. Additionally the tokens can also automatically be created as registration tokens, and if the client pings the API with the registration token right after, they are "automatically" added to the configured range of rooms right from the start -- as it is common among other team messaging apps. Which is the behaviour we are aiming for in [Acter](https://acter.global/), where we [are implementing this flow right now](https://github.com/acterglobal/a3/pull/1160) (contains an example video).
|
||
|
||
## Matrix Federation Stats
|
||
|
||
[Aine](https://matrix.to/#/@aine:etke.cc) says
|
||
|
||
> collected by [MatrixRooms.info](https://matrixrooms.info) - an [MRS](https://gitlab.com/etke.cc/mrs/api) instance by [etke.cc](https://etke.cc)
|
||
>
|
||
> As of today, `8236` Matrix federateable servers have been discovered by matrixrooms.info, `2087` (`25.3%`) of them are publishing their rooms directory over federation.
|
||
> The published directories contain `275483` rooms.
|
||
>
|
||
> [How to add your server](https://gitlab.com/etke.cc/mrs/api/-/blob/main/docs/indexing.md) | [How to remove your server](https://gitlab.com/etke.cc/mrs/api/-/blob/main/docs/deindexing.md)
|
||
|
||
## 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|nerdhouse.io|264.5|
|
||
|2|tcpip.uk|304|
|
||
|3|rom4nik.pl|336|
|
||
|4|medienhaus.dev|343|
|
||
|5|norge.chat|362.5|
|
||
|6|matrix.maymundere.org|366.5|
|
||
|7|bugzbunny.net|480|
|
||
|8|pavot.ca|504.5|
|
||
|9|mailstation.de|978.5|
|
||
|10|matrix.its-tps.fr|988|
|
||
|
||
### [#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|beeper.com|125.5|
|
||
|2|spqr2gang.com|152|
|
||
|3|nerdhouse.io|166|
|
||
|4|matrix.org|219|
|
||
|5|frei.chat|267|
|
||
|6|matrix.its-tps.fr|383|
|
||
|7|inu.is|478|
|
||
|8|shiftsystems.net|532|
|
||
|9|forlorn.day|573|
|
||
|10|noisytoot.org|1287|
|
||
|
||
## 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!
|