πŸ”—Matrix Live

πŸ”—Dept of Status of Matrix 🌑️

πŸ”—Trust and Safety Research and Documentation Working Group

Nico announces

As part of my work for the Trust and Safety Committee I am trying to establish a working group to help with researching and documenting the state of T&S across the ecosystem. If that sounds interesting to you, please poke your head into #governing-board-office:matrix.org and tell us!

To summarize what the group is about, the current proposal looks like this:

To make appropriate decisions, the T&S committee needs to know about the state of T&S in the wider ecosystem. It needs to have insights into current challenges, solutions and initiatives. On the other hand the community can also benefit from having some of that information documented. The T&S R&D WG is a tool to help with that. It includes a wider set of individuals and reports their research results to the T&S committee. In some cases the WG is also encouraged to enhance the documentation on matrix.org to help communities and users on Matrix moderate their rooms. The T&S committee might sometimes ask the WG for help in researching specific topics in more detail to guide their decisions.

πŸ”—Pledge of Confidentiality

The WG will sometimes have to deal or come in contact with confidential data, possibly because of legal reasons, possibly because of active abuse concerns. While the WG is encouraged to be open, there will be times where the WG should keep certain information confidential and only share it with specific individuals. As the WG we pledge to keep information confidential when necessary while still being transparent and open where possible. The T&S committee may decide to remove members from the WG if it sees a member abusing their access to information or not acting in a trustworthy manner by sharing information the group agreed to keep confidential. This should be a last resort, needs a majority in the T&S committee and should be preceded by appropriate communication and warnings.

πŸ”—Typical Tasks

  • Gather information about current moderation challenges on Matrix and keep structured notes about them
  • Maintain an overview of available moderation tools and their capabilities
  • Create and maintain moderation guides on matrix.org in collaboration with the Website or Documentation WGs
  • Reach out to moderators to gather feedback or offer advice
  • Reports insights and opinions to the T&S committee and possibly other T&S working groups
  • Potentially collaborate on proposals with the T&S committee or other WGs
  • Turn some of their research into MSCs and collaboratively push them to completion as well as advise on other MSCs from a T&S perspective

πŸ”—Dept of Spec πŸ“œ

Andrew Morgan (anoa) {he/him} 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:

MSCs in Proposed Final Comment Period:

  • See the current list here.

Accepted MSCs:

  • No MSCs were accepted this week.

Closed MSCs:

πŸ”—Spec Updates

The release of Matrix 1.14 is right around the corner! It is currently scheduled to go out Thursday, March 27, 2025. View the release checklist here if you want to follow along in the meantime. There will be a blog post at the time to detail everything shiny and new!

Otherwise the Spec Core Team are still focusing on concluding Matrix 2.0-related MSCs. On the docket recently have been those for next-gen auth in Matrix. If you're interested in taking a look, MSC3861 is the one to start with.

πŸ”—Dept of Clients πŸ“±

πŸ”—Element X Android (website)

Android Matrix messenger application using the Matrix Rust SDK and Jetpack Compose.

Benoit says

This week we were focused on fixing issues and improving the UX. We're working on rendering pills in the timeline and he's fixing the latest issues. We have also made some changes on the timeline, to pre-fetch more events and so improve the scroll performance.

πŸ”—Dept of VoIP πŸ€™

πŸ”—Element Call (website)

Native Decentralised End-to-end Encrypted Group Calls in Matrix, as a standalone web app

Florian Heese announces

Hey Matrix fans! This week, we're rolling out a major architectural change in Element Call, alongside several UX improvements and new reactions. But first, an important announcement for self-hosters!

πŸ”—βš οΈ Reminder: Removal of Fallback MatrixRTC Backend soonβ„’*

Currently, the default Element Call widget at call.element.io provides a fallback MatrixRTC backend (sponsored by Element) for deployments without their own MatrixRTC setup.

With the move to In-App bundling, we plan to remove this fallback soon to encourage proper Matrix site setups. If you rely on this fallback, now's the time to prepare! Follow the self-hosting guide to ensure your deployment supports MatrixRTC/Element Call properly.

(*) soonβ„’ is around early next week

πŸ”—πŸš€ Element Call v0.8.0 released

This release brings a fundamental shift: call participation and video tiles now rely on MatrixRTC membership instead of the LiveKit room state. This marks the final step toward enabling to-device media key exchange for end-to-end encryption (E2EE).

To support this change, we introduced a new MembershipManager, making MatrixRTC membership the single source of truth to ensure correctness across all scenarios.

πŸ”—πŸ”₯ Key Changes & Improvements

  • Video tiles now track MatrixRTC membership, not LiveKit participants (essential for upcoming E2EE media key distribution improvements).
  • Smoother call UX -- video tiles are now a lot more stable when determining which ones should be on screen.
  • New Sound Effects! 🎡
    • When you leave a call
    • When screen sharing starts
  • New Wave/Hello Reaction πŸ‘‹
  • Adaptive Themes -- Element Call's widget mode now responds to theme changes.
  • Improved Mute Behavior:
    • New cameras or microphones won't start unmuted when you plug them in during a call.
    • Your previous mute state is remembered when you unplug a device and plug it back in.
  • Better Error Handling (first batch of improvements!):
    • Detect MatrixRTC backend capacity limits.
    • Handle cases where a Matrix deployment doesn't advertise a MatrixRTC backend.
  • Enhancements in Widget Mode:
    • Header is now hidden for a cleaner look.
    • Leave session & show proper error screens when failures occur.
    • Introduced a "close" action when the widget is ready to shut down (helpful for error handling & other widgets).
  • Visual feedback when your camera starts in the Lobby.
  • Authenticated media requests when loading avatars.

With these updates, we're laying the foundation for a to-device based E2EE media distribution in Element Call while making everything more stable and polished! πŸŽ‰

πŸ”—Upcoming in Element Call v0.9.0

We've been working behind the scenes on testing and release processes to ensure that we can release more frequently. And so, Element Call v0.9.0 is already around the corner! It provides better feedback in a couple more error cases, and also contains the changes needed for proper In-App bundling.

That's it for this week! If you rely on the fallback MatrixRTC backend, please make sure you're ready before we remove it. Got feedback or want to chat? Drop by #webrtc:matrix.org!

See you in the next call! πŸš€

πŸ”—Dept of SDKs and Frameworks 🧰

πŸ”—Rory&::LibMatrix (website)

.NET 8 matrix bot/client library/SDK

Emma [it/its] announces

Lots and lots of work, such as things from ModerationClient, has been merged this time around, may today be a wild ride!

New features:

  • Sync responses can now be stored on disk, allowing clients to resume quickly.
    • Warning: it's very not efficient
  • "Sync state resolution"/checkpoint support, to make clients resume even faster!
  • Synapse admin API support (incomplete, but quite a bit of coverage), allowing server admins to administer their server from simple bots or tools.
  • Ominous commit named "meow", adding partial support for MSC4133 - Custom profile fields (is it even up to date?)
  • Extended invite listener API in bot utilities, allowing bot developers or end users to get greater control over exactly what happens as far as the sync loop is concerned.
  • Added a specialised room wrapper for dealing with policy lists, allowing tooling to become much simpler.
  • Allow developers to opt out of request logging, reducing the signal to noise ratio in logs.

And, as always:

  • The code is available at cgit.rory.gay (or Github - read only, may be outdated)!
    • 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 (Space: #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!

πŸ”—libQuotient (website)

A Qt5 library to write cross-platform clients for Matrix

kitsune announces

A small maintenance release, 0.9.3, is out with fixes and tweaks made over the last couple of months, to support Quaternion 0.0.97.1 that is also coming out later this week (if you read the blog post, you will most likely read about both in it). Packagers and developers, grab it at the usual place: https://github.com/quotient-im/libQuotient/releases/tag/0.9.3

πŸ”—Dept of Ops πŸ› 

πŸ”—matrix-docker-ansible-deploy (website)

Matrix server setup using Ansible and Docker

Slavi says

matrix-docker-ansible-deploy now supports Element Call as an optional feature. Thanks to wjbeckett for getting us started via PR#3562.

To get started, see our Configuring Element Call documentation page.

Slavi announces

matrix-docker-ansible-deploy recently improved its IPv6 support and now defaults to recommending that every playbook user enable IPv6 for their Docker containers (even if they don't have IPv6 connectivity yet)

To get started, see our:

πŸ”—Dept of Bots πŸ€–

πŸ”—Rory&::Matrix-Anti-DM-Spam (Simple Matrix bot to automatically reject spam invites)

Emma [it/its] says

Hi all! It's been a while since I last gave a sign of life. Today I present to you: somewhat of a solution to invite spam!

The basic concept is that the bot rejects invites based on policy lists, as used by Mjolnir and Draupnir. This is a user bot, not a tool for server admins! (Soon, though :)) "But how would users reach out to appeal?", you might ask. That's been thought of! Every rejected invite is logged into a room for you!

Interested? Check out the repository!

And, as always:

  • The code is available at cgit.rory.gay!
    • All contributions are more than welcome, be it documentation, code, anything!
  • Discussion, suggestions and ideas are welcome in #anti-dm-spam:rory.gay (Space: #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 over at #libmatrix:rory.gay, we'd love to hear all about it!

πŸ”—Matrix Federation Stats

Aine [don't DM] says

collected by MatrixRooms.info - an MRS instance by etke.cc

As of today, 11033 Matrix federateable servers have been discovered by matrixrooms.info, 3269 (29.6%) of them are publishing their rooms directory over federation. The published directories contain 20362 rooms.

Stats timeline is available on MatrixRooms.info/stats

How to add your server | How to remove your server

πŸ”—That's all I know

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

To learn more about how to prepare an entry for TWIM check out the TWIM guide.

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