πMatrix Live
πDept of Status of Matrix π‘οΈ
Matthew reports
Last week US Senators Wyden (D) and Schmitt (R) wrote an open letter to the US Department of Defense encouraging them to adopt Matrix more widely, rather than wasting money on unencrypted, centralised or closed systems. The letter also reveals a whole bunch of info at the end about the US Navy's Matrix deployments. This feels like a huge step change forwards - not only is the FBI encouraging citizens to use end-to-end-encryption in the wake of realisations that the public telephone network is insecure, but US Senate is pushing for Matrix adoption (without any lobbying from us, I hasten to add). You can read more about it at the Element blog (Element provides the deployments for the US Navy).
P.S. it really is bleakly amusing that we've been constantly pointing out that legislation like EU's ChatControl and the UK's Online Safety Act are catastrophically flawed because the surveillance backdoors they propose will be exploited and abused by attackers. And here we are, with the lawful intercept backdoors in the US public phone system being compromised by attackers, causing the FBI to recommend non-backdoored E2EE instead. We live in a very strange timeline.
π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:
- No MSCs are in FCP.
Accepted MSCs:
- MSC4225: Specification of an order in which one-time-keys should be issued
- MSC4147: Including device keys with Olm-encrypted events
Closed MSCs:
- No MSCs were closed/rejected this week.
πRandom MSC of the Week
The random MSC of the week is... MSC3006: Bot Interactions!
We haven't had one of these in a while, so I figured, why not!
This MSC talks about "bot interactions", which are additional ways that users can interact with bots other than text - namely client-rendered buttons. Ironically, the rise of LLMs in the years since this MSC was published have brought human-computer text interaction to the forefront, but buttons still have their place!
A bot can define their interactions as a state event and send it into the room. Then clients that see that state event can populate user menus with the actions that bots support! Clicking on a button will send a message into the room that a bot would parse as per usual (so really this is just a shortcut to typing commands out manually). The benefit is users don't need to remember commands (and don't need to !help all the time - cough cough mjolnir), and can quickly issue a potentially lengthy command without typing.
This seems like a cool feature to me. If any bot or client devs feel the same, consider reaching out on the MSC and offering your feedback!
πDept of Servers π’
πSynapse (website)
Synapse is a Matrix homeserver implementation developed by Element
Till reports
This week we released Synapse 1.121.0 (and 1.121.1).
1.121.1 is just a patch release to fix an issue building release docker images in our CI. As such, there is only a docker image for 1.121.1, not 1.121.0. 1.121.1 is otherwise functionally identical to 1.121.0.
1.121.0 introduces experimental support for a number of MSCs (MSC4190: Device management for application services, MSC4076: Let E2EE clients calculate app badge counts themselves (disable_badge_count)), as well as stabilises support for locking accounts. It also has bug fixes and limited initial support for returning information about suspended users via the Admin API.
Grab it while it's hot! π₯
πDept of Clients π±
πExtera
OfficialDakari reports
Recently, Extera got saved messages feature. To save a message, open it's menu and click Save. This feature can be changed at any time and is unstable. Also, now, users of extera.xyz can get an email on our domain. DM @mail:extera.xyz and say
!m help
.
πSchildiChat (website)
SchildiChat is a fork of Element for Android and Desktop, that used to focus on UI changes such as message bubbles and a unified chat list, but now also provides some additional tweaks and community-driven features that may not be on the roadmap for the upstream clients.
SpiritCroc says
While releases of SchildiChat Next (our fork of Element X for Android) have always been available on my own F-Droid repository, we finally made it into the main F-Droid repository too! These F-Droid releases are reproducible builds checked against my repo, so you know if it lands on the F-Droid repository that it matches what I built before. Compared to reproducible builds from Element X, F-Droid even builds our forks of the Matrix Rust SDK and the Rich Text Editor from source rather than using prebuilts to include as dependencies.
On the feature side, one of the main points that made me switch back to the old SchildiChat app was the ability to manage rooms in spaces. Accordingly, I added a long-press action to the room list that allows you to select a room's parent spaces to add to or remove from. At the time of writing this change is still only included in beta builds behind a feature flag, but will probably arrive in a release build in the next few days.
π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
- We are doing great progress with message knocking and media gallery
- We are also experimenting with the event cache, which will make the app even faster
- Some design improvements are being made in the room details screen and the join room screen
πElement X Android (website)
Android Matrix messenger application using the Matrix Rust SDK and Jetpack Compose.
benoit reports
- Pretty similar to what's happening on Element X iOS:
- We are doing progress with room knocking
- We are making progress on the media gallery and are integrating an audio player to play voice message and message with audio attachment
- We are also experimenting with the event cache, which will make the app even faster. There is still work to do SDK side to make it usable so it's behind a disabled feature flag for now.
πDept of SDKs and Frameworks π§°
πTrixnity (website)
Multiplatform Kotlin SDK for developing Clients, Bots, Appservices and Servers
Benedict says
The latest release of Trixnity introduces support for decrypted temporary files across all platforms! π This feature is crucial for handling media like video playback and PDF rendering that require secure but temporary access to decrypted content. Trixnity ensures to providing seamless and secure handling of such files, while maintaining compatibility with the old API.
For more information about this update, or to check out Trixnity, visit the project repository: https://gitlab.com/trixnity/trixnity.
We welcome feedback and discussions in the #trixnity:imbitbu.de room.
πDept of Services π
πSynapse Admin Updates
Aine [don't DM] says
A while back, we at etke.cc announced our Synapse-Admin fork. This week, weβre excited to introduce more new features and quality-of-life improvements!
Previously, media management was limited to individual users (i.e., media uploaded by a specific user). Now, you can manage media at the room level!
β οΈ While the new media tab offers options to view and remove media per room, itβs worth noting that the Admin API endpoint for room media is more limited compared to the user media endpoint. Despite this, we hope this feature will assist with Matrix server moderation.
Account suspension is here! This feature enables you to place users in a "read-only account" state as an alternative to locking accounts.
π‘ Note: Not all Admin API endpoints fully support the suspension flag yet, but support is expected to improve in future updates.
E.164-Based Matrix IDs (MSC4009)
Support for E.164-based Matrix IDs is finally here!
Matrix IDs in the format
+123456:example.com
(with a+
sign) have been valid since Matrix v1.8. However, Synapse Admin previously lacked support for these IDs - oops! This has now been addressed.πSpread the Word!
We at etke.cc are incredibly proud of what weβve accomplished with our Synapse Admin fork. Over the last three months, weβve released an impressive 34 versions, each packed with updates to make Synapse Admin the go-to admin dashboard for Synapse.
While we havenβt yet covered 100% of the API endpoints, and thereβs still work to be done, the overall experience has improved dramatically.
If youβve appreciated the progress weβve made, weβd love your help in spreading the word about github.com/etkecc/synapse-admin! Share it with homeserver owners and administrators you know, and let them discover the features weβve worked so hard to deliver.
Explore the source code or try the admin.etke.cc (CDN version). Donβt forget to join the discussion in #synapse-admin:etke.cc
Kim was flabbergasted by Aine's productivity and shared
πDept of Bots π€
πI Don't Have Spotify Maubot
HarHarLinks says
Do people sometimes share links to music with you on Matrix? They do for me. Often, people use Spotify as their music streaming service, but I don't have Spotify.
Therefore about month ago, I shared a maubot plugin on TWIM, which uses the REST API of sjdonado's I don't have Spotify webapp, which itself is also selfhostable open source software.
As it turns out, people sometimes also share links to other streaming services not just with me but also with you!
So after a bit more tinkering, I have released v1.1.0 of my plugin https://github.com/HarHarLinks/maubot-idonthavespotify. It can now also be configured to check for any combination of spotify, apple, deezer, soundcloud, tidal, and youtube, which are all supported by idonthavespotify to different extent. Your mileage may vary depending on what you search, but that's up to the upstream project, since the plugin just connects whatever it does to matrix.
Let me know of any feedback you have at #maubot-idonthavespotify:matrix.org!
Here is what it can look like in action:
πDept of Events and Talks π£οΈ
πMatrix Stammtisch Dresden
@mcnesium:matrix.org announces
After being founded live during the recording of a recent "Reboot Politics" podcast show, the newly spawned regional community meetup "Matrix Stammtisch Dresden" will have their second get-together next Wednesday the 18th December at 19:00 in the bistro/restaurant "Neue Sachlichkeit" at Kraftwerk Mitte, Dresden, DE β all creatures welcome!
πFOSDEM
Thib (m.org) says
The Matrix.org Foundation & Community Devroom @ FOSDEM has a schedule!
The DevRoom will start at 13:00 and end at 17:00 CET, on Sunday, February 2. We received more talks than we could accept, compressed some longer talks into shorter ones to accept as many high quality talks as possible, but we had to make some tough choices!
We will hold a Fringe Event before FOSDEM and invite everyone who didn't make it to the schedule to give it another try there! We already have 2 generous sponsors to keep the community refreshed and fed, and we're open to more sponsorship opportunities. Reach out if you want to talk about how you can help us secure recordings for Fringe event speakers who opt-in, or more.
As for the devroom itself, the schedule is the following:
- 13:00 Matrix State of the Union
- 13:30 Getting the Rust SDK running on WebAssembly
- 14:00 Demystifying Federation in Matrix
- 14:30 State of Synapse
- 15:00 Building the World's First Server-to-Server Matrix Federation Bridge
- 15:30 How Ubuntu Entered the Matrix
- 16:00 Robrix: a pure multi-platform Matrix Client and more
- 16:30 MatrixRTC: Building Real-Time Applications on Matrix
πMatrix Salon Podcast: Tom Lant
Christian Paul (jaller94) says
Back in August, I had the honour of interviewing Tom about Matrix, Element, open source work and the community.
Here are links to the episode with Tom, RSS feed of the Matrix Salon Podcast and the Mastodon post about Tom's episode.
You may also look forward to two more German episodes which are planned to be released before the end of the year (aka. on the upcoming two Fridays). π₯
πDept of Interesting Projects π°οΈ
Kegan reports
TARDIS has had a facelift! Matthew spent a weekend devising a custom layout algorithm and renderer which has now replaced
d3-dag
.This is not only clearer for complex DAGs but also faster than the layout algorithm we previously used. We're currently using TARDIS to experiment with state resolution improvements.
πChristian's NeoBoard Advent Calendar
Christian Paul (jaller94) reports
More backgrounds, more games, more templates for your retrospectives. My NeoBoard Advent Calendar offers free whiteboard templates every day.
Check out some highlights from the past days:
Do you also wonder what will be behind tomorrow's door? π
NeoBoard is a whiteboard widget for Element, allowing you and your team to collaborate during meetings, presentations and group projects. You can export and import whiteboard files to reuse them as templates or migrate between rooms.
πDept of Built on Matrix ποΈ
πActer (website)
Your social organizing app build on matrix: A secure space to gather, engage and grow your community!
ben says
We have been working on deep-linking support in Acter for a while now. As per our usual process, progrress on that happens iteratively over the weekly releases. In the last few releases, we have added support for matrix.to and matrix:-URI-schemes on Mobile as well as started experimenting with our own acter:-scheme to support linking to specific items like Pins and Task-Lists. The current release already featuers support for that via a new QR-code you can scan from within the app to directly jump to specific items. As part of that effort, you can also link calendar-events and pins in boosts and you can easily do that from the newly designed share-screen from the object itself. It's glorious.
On the other side, work on the Chat NG - the total rewrite of the chat UI infrastructure - is also progressing very well with support for bubbles and grouping of messages already in, and further message types being rendered properly now. It is still quite a bit from production ready but the improvement in architecture can already be felt very nicely in terms of UX speed and reactive-ness when you switch it on in your Labs.
Last but not least, we have started with "spring cleaning"-sessions where larger parts of the team get together and walk through the app and discuss minor bugs and annoyances in a synchronised sessions and then try to fix them there and then - so we can speed up the process on these - or write them up as proper bugs if we can't fix them yet. A first sessions of this kind was done recently and fixed a bunch of minor annoyances. As usual the Github release page's Changelog has all the details.
Additionally, we'd like to mention that we are looking for a DevOps Person helping us run our Matrix Infrastructure to extend the Acter Team. If that sounds interesting to you, please apply :) .
πMatrix Federation Stats
Aine [don't DM] reports
collected by MatrixRooms.info - an MRS instance by etke.cc
As of today,
10386
Matrix federateable servers have been discovered by matrixrooms.info,3148
(30.3%
) of them are publishing their rooms directory over federation. The published directories contain20778
rooms.Stats timeline is available on MatrixRooms.info/stats
π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 | 242 |
2 | nerdhouse.io | 303.5 |
3 | wi11.co.uk | 307 |
4 | girlboss.ceo | 311.5 |
5 | envs.net | 407.5 |
6 | catvibers.me | 437 |
7 | ncat.cafe | 491 |
8 | larsl.net | 683 |
9 | melthecat.dev | 1161 |
10 | xiny.li | 1200 |
π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