Matrix Live

Dept of Spec 📜

uhoreg 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:

MSCs in Final Comment Period:

Accepted MSCs:

  • No MSCs were accepted this week.

Closed MSCs:

Spec Updates

Matrix 1.9 is due out next week. Keep your eyes peeled for an update.

Dept of Bridges 🌉

matrix-hookshot (website)

A multi purpose multi platform bridge, formerly known as matrix-github

Andrew F 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.

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

Dept of Clients 📱

Fractal (website)

Matrix messaging app for GNOME written in Rust.

Kévin Commaille 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.

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 is greatly appreciated!

Element X iOS (website)

A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+.

Ștefan 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
  • 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)

Android Matrix messenger application using the Matrix Rust Sdk and Jetpack Compose

benoit 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)

Secure and independent communication for Android, connected via Matrix. Come talk with us in #element-android:matrix.org!

benoit 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)

Everything related to Element but not strictly bound to a client

Johannes Marbach 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)

uhoreg reports

Libolm 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] ⚡️ 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:

Trixnity (website)

Multiplatform Kotlin SDK for Matrix

Benedict 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 containing a huge list of changes.

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

Jonas Platte announces

Dept of Events and Talks 🗣️

Thib 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 announces

SynapseSuperInvites (sources on github) 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, where we are implementing this flow right now (contains an example video).

Matrix Federation Stats

Aine says

collected by MatrixRooms.info - an MRS instance by 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 | 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.

RankHostnameMedian MS
1nerdhouse.io264.5
2tcpip.uk304
3rom4nik.pl336
4medienhaus.dev343
5norge.chat362.5
6matrix.maymundere.org366.5
7bugzbunny.net480
8pavot.ca504.5
9mailstation.de978.5
10matrix.its-tps.fr988

#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.

RankHostnameMedian MS
1beeper.com125.5
2spqr2gang.com152
3nerdhouse.io166
4matrix.org219
5frei.chat267
6matrix.its-tps.fr383
7inu.is478
8shiftsystems.net532
9forlorn.day573
10noisytoot.org1287

That's all I know

See you next week, and be sure to stop by #twim:matrix.org with your updates!

The Foundation needs you

The Matrix.org Foundation is a non-profit and only relies on donations to operate. Its core mission is to maintain the Matrix Specification, but it does much more than that.

It maintains the matrix.org homeserver and hosts several bridges for free. It fights for our collective rights to digital privacy and dignity.

Support us