This Week in Matrix 2024-11-08
Matrix Live
Today's Matrix Live: https://youtube.com/watch?v=HmoVN1x4kO8Dept of Status of Matrix 🌡️
Matrix at FOSDEM 2025
Thib (m.org) says
We're happy to announce that this year again we will have a DevRoom at FOSDEM!
We have half a day to talk about all the great projects we have been working on as a community. Our devroom should be on Sunday afternoon, even if it's not completely set in stone for now.
You can submit a talk following one of the two formats:
- 20 min talk + 10 min Q&A, for topics that can be covered briefly
- 50 min talk + 10 min Q&A, for more complex subjects which need more focus
Be quick, the Call for Proposals ends on December 1st and we can't extend it. FOSDEM organizers will close all DevRooms CfPs, and we can't bypass it!
Find all the dates & details on our Call for Proposals
Governing Board Meeting
Nico says
Next Friday (November 15th) the governing board will have its first official meeting! Topics include the governing structure (how do we decide stuff), forming committees (how do we work on topics and who participates where), selecting a chair and vice chair for the board (to steer meetings) and define how we want to communicate. Some of those topics are still in flux and will be defined further throughout this week. If you are interested, your representatives might be able to tell you more and answer your questions!
We are looking forward to having our first official meeting as the board and hopefully we will have productive results to share with you all soon!
Ecosystem Governing Board Members Office Hours
HarHarLinks reports
Earlier this year, the members of the Matrix Foundation voted for members from their own constituency to represent them at the Governing Board. Nico, Bram and myself were elected to represent the Ecosystem.
While we are usually approachable and responsive in all kinds of ways, there are some topics or situations better to discuss synchronously. We therefore starting today Wednesday 6th November start with weekly office hours every Wednesday at 17:00 German time (CET = UTC+1 during winter). 🐸 We will be responsive to chat in the Ecosystem Public Forum room and will also share a link to a (video) call there.
Please find more detail in the announcement post over here.
Update: Our first office hours went great! We covered quite a lot of topics both between us representatives and the community members who joined - so much so that we overran our time slot by 50% 😅 There is going to be one more office hour next week before the first official governing board meeting, so join the office hour (or write us async) if there is any topic you want us to bring up with the governing board. We would also like to emphasise that we are offering this way of communication for you, the community, so please give us feedback over at the Ecosystem Public Forum in regard of the choice of time slot, etc.
Dept of Spec 📜
Andrew Morgan (anoa) {he/him} [back Nov 5] 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:
- MSC4225: Specification of an order in which one-time-keys should be issued
- MSC4224: CBOR Serialization
MSCs in Final Comment Period:
- No MSCs are in FCP.
Accepted MSCs:
Closed MSCs:
- No MSCs were closed/rejected this week.
Spec Updates
There was a flurry of PRs to the spec website itself this week. In addition to the myriad of fixes and clarifications, the underlying technology got an update!
https://spec.matrix.org is a static site generated with Hugo, and we use the docsy Hugo theme. Matrix.org has their own fork, with minor changes to self-host all third-party JS/CSS assets instead of downloading them from CDNs.
This fork had gotten a bit outdated however, mostly because updating it and re-downloading the CDN assets was a bit of a pain. This week Kévin Commaille both automated this task and subsequently updated our docsy fork to the latest and greatest. Thank you!
We'd also like to call out @Johennes, @bnjbvr, @AllMightLegend, @uhoreg and @dkasak for their contributions to the spec this week. Thanks all!
Dept of Servers 🏢
Synapse (website)
Synapse is a Matrix homeserver implementation developed by Element
Devon Dmytro says
There was no new release this week, but we have been working hard on getting a few specific things ready to go for the release. You can expect the v1.119.0rc1 release to be out early next week.
Alongside the usual allotment of new features and bug fixes, we have been working hard on:
- Lifting the minimum supported Python version to 3.9
- Updating Synapse test infrastructure in order to pull in the latest version of Twisted (24.10.0)
Thank you to all our contributors for helping to make Synapse the best it can be. As always, feel free to stop by #synapse:matrix.org to join in on the discussion and if you encounter a bug make sure to report it here.
Dept of Bridges 🌉
Parsee
LDA announces
Oyé, oyé, nouvelle alpha sur le plus petit pont ! I just released the Parsee v0.2 alpha today. I've not being able to work as much on it as before, but I did get quite some bugsquashing features, and plain dumb experiments like getting it to build and start on an (emulated) DEC Alphaserver with some minor changes to Cytoplasm, more commands to make admins' lives easier, and reworked Matrix->XMPP formatting in order to make it more pleasant.
I've also dabbled in some MbedTLS support, but it is still unstable(and slow), done slightly more work with avatars, and fixed some known bugs that would make handling Parsee annoying.
As of next(v0.3 will probably be out by 2025), I am mostly working on optional Janet extension support, to make Parsee even more powerful and extensible.
We're still available over at Matrix and XMPP(xmpp:marsee@conference.monocles.eu) if you want to try it out.
Dept of Clients 📱
Benedict says
We released a new version of Tammy including some UI fixes for older Android devices. For those who are hearing about Tammy for the first time: Tammy is a new multiplatform Matrix messenger powered by Trixnity Messenger.
Quaternion (website)
A Qt5-based IM client for Matrix
kitsune says
This is the first 0.0.97 pre-release primarily focused on migration to libQuotient 0.9. Not much to talk about aside from this. The release notes and some prebuit binaries can be found at the usual place.
Element X iOS (website)
A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+.
Mauro Romito says
- A new RC for EX iOS will soon be released 1.9.5
- In the new RC EX iOS will be capable of also receiving verifications requests through the SAS protocol (while before was only able to send them)
- We also added a toggle to enable media optimisation that will process media files, to save up data and memory space by compressing them. The option is on by default but can be turned off
- The work for implementing sending, receiving and accepting/declining knocks on rooms is progressing
- Alongside knocking we are also implementing management of room aliases
Dept of Services 🚀
Synapse Admin Updates
Aine [don't DM] reports
A while back, we at etke.cc announced our Synapse-Admin fork, and this week we're excited to share more new features, QoL changes and bug fixes!
We'll begin by discussing technical and under-the-hood updates before moving on to UI features.
SYNAPSE_ADMIN_VERSION
env variableStarting from the least interesting - if you want to build Synapse Admin yourself in an environment where git is unavailable, you can now use
SYNAPSE_ADMIN_VERSION
env var to set version, instead of relying on git tags.Logout that actually does the job
Earlier, the logout did send a request to the Matrix logout API endpoint, but didn't clean up things like local storage that is used as a state/session store. Well, now it does 🤷
Proper
restrictBaseUrl
despite its typePreviously, you could limit Synapse Admin instance to work with specific homeserver(-s) using the
restrictBaseUrl
config var that accepted both string (like"restrictBaseUrl": "https://example.com"
) and slice (like"restrictBaseUrl": ["https://example.com", "https://example.net"]
). Such an approach has proven to be problematic in multiple cases, but today the last inconvenience with it has been solved - now single-item slices will be treated the same way as the string does (and yes, they are treated differently in the UI), using the only value of the slice.Configuration in
/.well-known/matrix/client
We found out that people tend to use Synapse Admin instances hosted outside their actual servers, and even use a single Synapse Admin instance to manage multiple servers. Unfortunately, such a setup means you can't rely on the
config.json
file that comes with Synapse Admin instance because it won't contain server-specific configuration… So, here is the solution - just add configuration to your/.well-known/matrix/client
file undercc.etke.synapse-admin
key, here is an example of how to mark mautrix-telegram puppets as appservice-managed users:{ "cc.etke.synapse-admin": { "asManagedUsers": ["^@telegram_[a-zA-Z0-9]+:example\\.com$"] } }
works for any config option
Generate random passwords with ease
when creating or updating users. With this change, a new button has been added to the user's create/update form where you can generate a random password in 1 click.
Experimental Features and Rate Limits controls are here!
Now you can enable specific Experimental Features per user, and adjust user's rate limit overrides on the user's page.
Source code, admin.etke.cc (CDN version), say hi in the #synapse-admin:etke.cc
Matrix Federation Stats
Aine [don't DM] announces
collected by MatrixRooms.info - an MRS instance by etke.cc
As of today,
10391
Matrix federateable servers have been discovered by matrixrooms.info,3184
(30.6%
) of them are publishing their rooms directory over federation. The published directories contain22281
rooms.Stats timeline is available on MatrixRooms.info/stats
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.