πMatrix Live S11E23 - Multi-tenancy and an audit of ESS
πDept of Spec π
Andrew Morgan (anoa) {he/him} 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:
- MSC4427: Custom banners for user profiles
- MSC4426: User Status Profile Fields
- MSC4425: Ephemeral media
MSCs in Final Comment Period:
- No MSCs are in FCP.
Accepted MSCs:
- MSC4376: Remove /v1/send_join and /v1/send_leave
- MSC4341: Support for RFC 8628 Device Authorization Grant
- MSC4284: Policy Servers
Closed MSCs:
πSpec Updates
This week a number of MSCs were accepted. One notable entry is MSC4284: Policy Servers, which is a huge step forwards for moderation on Matrix.
In essence, while moderation is typically reactive in Matrix today - where someone posts spam and a bot catches it 5-10 seconds later - this MSC shifts it to be proactive. An event isn't sent into the room, or accepted by other homeservers, until it's run by a policy server.
And it doesn't stop there. Other MSCs are now building on top of policy servers to add more proactive moderation to Matrix. Hopefully the days of (briefly) seeing spam on Matrix is coming to a close. Huge thanks to the folks working to keep the public federation safe.
πDept of Events and Talks π£οΈ
πElement at FOSDEM 2026
sirloynes announces
Element has published a few blog posts with fleshed out transcriptions and recordings of Element's talks from the Decentralised Comms Devroom at FOSDEM. They are Digital Omnibus, Exploring MatrixRTC, Element Web, and Sustainable decentralised comms at Element.
πDept of Clients π±
πMactrix
Viktor Strate reports
A fully native macOS Matrix client made with the Matrix Rust SDK.
This is the first update on Mactrix since I open sourced and announced it last month. So many of you have been interested in the project and it has received a lot of support. We have surpassed the first 100 stars on Github, over 25 people have joined our Matrix room, and we even got 6 new contributors to the project. The project is now also listed on the official Matrix website here.
Although I have mostly been working on stability and performance improvements, we have gotten quite a lot done, most of which was made by new contributors:
- A new setting to control the font size has been implemented.
- Usernames and profile pictures are now colorized.
- User read receipts are now shown next to the latest message each user has seen.
- Added visual feedback when starting the verification process.
- Message drafts are now persisted so if you change room or restart the app, the unsent message stays right where you left it.
- The timeline has been rewritten so it now renders super quickly and doesnβt jump when more messages are loaded in.
πResources
- Find the project or download it from the Github project page.
- Come say hi in our Matrix room at #mactrix:qpqp.dk.
πElement X iOS (website)
A total rewrite of Element iOS using the Matrix Rust SDK underneath and targeting devices running iOS 17+.
Doug says
This week has mainly been focussed on project maintenance, with the migration of our UnitTests and PreviewTests from XCTestCase to Swift Testing now complete along with a continuation of our quest to replace Fastlane with our own Swift tools.
As this winds up, weβre now focussing on 2 new features:
- Live location sharing to bring Element X closer to feature parity with Element Classic.
- A new, simpler authentication flow for users who wish to use their account from Element Classic in Element X.
And for those who havenβt seen the TestFlight, version 26.03.0 is available in testing and should land in the App Store next week if everything goes to plan. The main highlight of this version is a community contribution that adds support for changing the playback speed of Voice Messages.
πElement X Android (website)
Android Matrix messenger application using the Matrix Rust SDK and Jetpack Compose.
Jorge reports
Hello from the Element X Android team! What news do we have this week?
- New bottom bar, who this? On nightly versions we have a brand new bottom bar replacing the tab bar in the home screen, looking more modern and aligned with the new Material 3 designs. Thanks ChelseaDH for the base implementation and we hope you all like it!
- DB optimizations: if your app gets slow the longer you use it, it could be because the temporary cache the DB uses kept growing and growing, so it became slower. We've set a reasonable limit to it so we can stay performant!
- Improving migrating from Element Classic to Element X: we have a plan and we've tried some promising prototypes so we can make the migration from the classic app to X as painless as possible.
- UX improvements: when the app gets killed by the OS, it tries to restore its previous state and navigation, but it did so synchronously, blocking the UI thread and the app felt like it froze sometimes. Now we do this asynchronously and we've also reduced how much data we save so the restoration can't cause problems when this data is too large.
- Get audio focus when recording voice messages: this stops any audio playback from the device while you record voice messages. Thanks vmfunc for the contribution!
- Disabled cross-process lock on Android: the cross-process lock is a mechanism that allows us to access the same SQLite DB from different processes and making sure only one of these processes can make changes to it at a time. However, Android uses a single process and there's no need to share this DB, so we're disabling this, which should also improve battery consumption and performance a bit.
- Live location sharing work is starting: we started the work on the live location sharing feature, which is already supported by the Matrix Rust SDK but needs some extra work to get it properly integrated on Element X.
πCinny (website)
A Matrix client focusing primarily on simple, elegant and secure interface.
Lozenge says
We have released the following updates this week: v4.10.3, v4.10.4 and v4.10.5. These also include security updates, so if youβre running Cinny, this is a good time to update.
Version 4.10.3 includes a vulnerability fix. Users are strongly encouraged to upgrade as soon as possible. As an extra precaution, you should log out and then log back in after updating. Before doing that, make sure your encrypted chat key backup is working properly or take a manual backup of your keys to avoid any risk of losing access to encrypted history.
Beyond the security fix, 4.10.3 also addresses several issues and quality of life problems. It fixes a bug where sending room pill could trigger room-wide notifications, prevents invalid MXC URIs from being used, improves link privacy handling by consistently applying noreferrer.
Version 4.10.4 continues the security-focused improvements. It bumps linkifyjs and linkify-react, adds verification of the SSO window message origin, and added a new permission in room and space settings for managing emojis and stickers. It also updates Node to v24.13.1 LTS and includes several additional fixes and refinements.
Finally, v4.10.5 is a smaller follow-up release that fixes Docker and GHCR builds.
Special thanks go to Quasar0147 and mat-1 for responsibly reporting the vulnerability and helping improve the security of the project.
GitHub release can be found on: https://github.com/cinnyapp/cinny/releases
Any issues or question, please post them in our room, use #cinny:matrix.org to join!
πWe have Discord at home
Joop Kiefte π (LaPingvino) says
With the current Discord refugee crisis, many have been working hard to get new servers set up, and significantly to make it work with Element Call. In this whirlwind of looking for options, Cinny has been really attractive, and the PR that slowly adds support for Video/Voice Call rooms has been attractive for many as well. I tried it and got annoyed, so I started a patch set to fix my annoyances for myself and in the meantime got others on board to test it and run it. Because I focus on iterating quickly and letting the AGPL do its job, and plan to only think of upstreaming things later when I actually properly tested and know what I want, I nicknamed the efforts Wally and set up a small community for it.
The patchset can be found at https://codeberg.org/lapingvino/cinny and at this moment includes:
- VC Rooms
- VC in DMs/other rooms
- Custom ringtone support
- A setting that fixes the emoji font just for me, shhhh
- Accessibility improvements being actively tested and used by bgt lover
- Multi-account support
- An experimental implementation of an issue tracker
- And my fork includes Ginger [she/they] pronoun and timezone patch by default
The experience of people trying it out so far is amazing, and consistently has them ignore the fact that this fork relies on LLM assistance, because it's not in fact slop. Give it a try and let us know what's missing... We have an issue tracker after all!
πDept of Widgets π§©
πIssue Tracker Widget
Joop Kiefte π (LaPingvino) reports
Update about the issue tracker thing, it's now also usable independently of my Cinny fork via https://lapingvino.github.io/matrix-issue-widget/
πExpenses Widget
cyclikal announces
The Expense Widget is something you can add to your room to share expenses with your family and friends simply by sending lightweight, human-readable messages like so:
1000 nice dinner $ @me / @me @myfriend:example.com @myotherfriend:example.comIf you've been following along recent TWIMs you'll remember the last TWIM update for the Expenses Widget a couple weeks ago where we shared some progress.
That update included work on a PR for Element Web, making the widget fully reactive, and adding support for room history exports. This time round the expense widget has gotten a whole new look courtesy of some shiny CSS, better link parsing to handle user mentions from more clients and some CI to automate the deployment of updates!
Check out the experience of using the updated widget in-room below:
Interested? Visit the repo at matrix-community/expenses-matrix-widget or add the widget now to your room by pasting the below command:
/addwidget https://matrix-expenses-widget-nightly.netlify.app/#/?widgetId=$matrix_widget_id&userId=$matrix_user_id&roomId=$matrix_room_id&baseUrl=$org.matrix.msc4039.matrix_base_url&deviceId=$org.matrix.msc3819.matrix_device_id
πDept of Bots π€
πmaubot (website)
A plugin-based Matrix bot system.
HarHarLinks reports
If you are using my maubot plugin maubot-idonthavespotify to resolve Spotify (and other big tech streaming services) links to your preference, you may have noticed the default configuration stopped working some time ago. It turns out the upstream service doing the resolution changed domains and with the help of Itsyourdriver I have just released v1.1.2 to adjust the default configuration to the new domain and πͺ it works again.
πDept of Interesting Projects π°οΈ
πMatrix Simple Invite
Risa says
MSI is a simple client-agnostic web-based tool for creating, managing and accepting invite links to public and private rooms and spaces.
πFeatures
- Creation of invite links, with optional expiry and use limit, using a room alias, room id, or matrix.to link
- Management of invite links, with information on time left to expire and number of uses so far, and the ability to delete them
- Invitees can preview information about the room and the inviter before accepting the invite
- Upon accepting the invite, the bot will send a Matrix invitation to the invitee which they can accept on the client of their choice
- Matrix authentication via authentication link sent by the bot. Used to link Matrix users to their created and accepted invites
πResources
More information on the Github repository. You can freely use my instance. You can test the invitee experience by joining the official channel #msi:vtubeando.net with this invite link!
πScreenshots
Happy inviting!
πBenben
Mistress Remilia (she/her) says
Benben, a TUI-based audio player for Linux, now has integration with Matrix! Currently it allows you to set your status message upon song change. Here are the details:
- Your login info goes into your Benben configuration file. Benben will warn you if you have unsafe permissions on that file at startup.
- When you start Benben, it will grab your current status message. Then, when you exit Benben normally, it will restore the status message you had when you first started Benben.
- After a song has played a minimum of 10 seconds, and the song is 15 seconds or longer, it will change your status message to "Now playing in Benben: The Artist - Song Title" or similar, based on the metadata available in your song.
- Your online presence (online/offline/whatever) is not changed, just the message.
- There is a new
--no-matrixcommand line option that temporarily and completely disables Matrix integration. This is the same as not putting login information into your config file.This functionality is available in the trunk code in the repository, and will be part of the v1.0 release that is planned for later this year. You can find the source code and more info at the homepage/repository.
https://remilia.sdf.org/random-stuff/shot-2026-02-20_16-35-18.jpg
πMatrix User Manager
Sure Server reports
Matrix User Manager is a browser extension for Synapse server administrators. Manage your homeserver from the toolbar: add servers via domain (
.well-knowndiscovery), create users with username/password/display name, and manage accounts β lock, unlock, or remove users with optional media cleanup. All data is stored locally; no tracking, no telemetry, passwords never persisted. Works on Firefox (desktop and Android), Tor Browser, Mullvad Browser, and Chromium-based browsers, with light/dark theme support.πGet it
πSource
πMatrix Federation Stats
Aine [etke.cc] says
collected by MatrixRooms.info - an MRS instance by etke.cc
As of today,
16549Matrix federateable servers have been discovered by matrixrooms.info,4040(24.4%) of them are publishing their rooms directory over federation. The published directories contain17956rooms.The most popular server software among the online servers is:
- synapse:
13399(81.0%)- continuwuity:
998(6.0%)- conduit:
583(3.5%)- dendrite:
377(2.3%)Stats timeline is available on π MatrixRooms.info/stats
π§© Integrations with apps and servers | π Support the project | π 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.
| Rank | Hostname | Median MS |
|---|---|---|
| 1 | codestorm.net | 212 |
| 2 | chat.mailliw.org | 216.5 |
| 3 | envs.net | 222 |
| 4 | vibb.me | 253 |
| 5 | usbpc.xyz | 258 |
| 6 | cisnt.uk | 272 |
| 7 | nerdhouse.io | 272.5 |
| 8 | vibb.cc | 277 |
| 9 | 4d2.org | 294.5 |
| 10 | starstruck.systems | 310.5 |
π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