15 KiB
+++ date = "2024-09-06T19:30:00Z" title = "This Week in Matrix 2024-09-06" path = "/blog/2024/09/06/this-week-in-matrix-2024-09-06"
[taxonomies] author = ["Thib (m.org)"] category = ["This Week in Matrix"] +++
Matrix Live
{{ youtube_player(video_id="7ejLV7VABkk") }}
Dept of Spec 📜
TravisR announces
Earlier in the week matrix.org started requiring authentication to access media, and it looks like most users didn't notice (a good thing)! Smooth rollouts like this are thanks in large part to the developer ecosystem preparing users for the change with code - thank you to everyone who has been working hard at improving how media is shared in Matrix ❤️.
There's always going to be problems which reveal themselves after the deployment happens, and it looks like most of the issues we're tracking have workarounds or patches on the way. If you're seeing errors for images/files, please update your client. Web users may need to refresh the page multiple times before things start working because of how browsers (don't) work. If you're still seeing issues, it may be a bug in your client: please report it to the developers so they can take a look.
Developers, protocol designers, and future MSC writers may also be interested in "Authenticated media & how to ship spec features" in LAB 4 at this year's Matrix Conference in just a couple of weeks! We'll be discussing how such a massive feature (and technically breaking change in the spec) gets designed, developed, and deployed with support from the MSC process - if you're thinking about how to get your idea for a feature out in the hands of users, this talk is for you. The advice should be transferable to features smaller than authenticated media too, hopefully 😇
Andrew Morgan (anoa) {he/him} announces
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:
- MSC4189: Allowing guests to access uploaded media
- MSC4188: Handling HTTP 410 Gone Status in Matrix Server Discovery
MSCs in Final Comment Period:
- No MSCs are in FCP.
Accepted MSCs:
- MSC4178: Additional Error Codes for requestToken endpoint
- MSC4138: Update allowed HTTP methods in CORS responses
Closed MSCs:
- No MSCs were closed/rejected this week.
Spec Updates
Lots of incremental progress all over the shop this week, with two MSCs being accepted (detailed above).
Last week saw MSC4186: Simplified Sliding Sync opened, which is squarely on the roadmap for Matrix 2.0.
On the spec repo side, we had 2 PRs merged, and 1 opened. Thank you to everyone creating and reviewing them!
Matrix Conference 2024
A few of the Spec Core Team members will be attending this year's Matrix Conference 2024. Come find us and say hi!
And don't miss Travis Ralston and Andrew Morgan's session on Sunday, 10am - 12pm (LAB 4) titled "MSC Process Guidance". We'll be going over the MSC process itself, answering yours questions and talking about MSCs currently in-flight. See you there!
Dept of Servers 🏢
conduwuit (website)
conduwuit is a very cool, featureful, well-maintained fork of Conduit
strawberry🍓 (it/pup/she/they) 🏳️⚧️🦴💜🩷💖 reports
Hi everyone! We're excited to announce the release of conduwuit 0.4.6 🎉. It's been a long time since our last release, and we hope the new features, bug fixes, and improvements make it worth the wait!
There's so much I'd like to mention here, but here is an extremely brief overview of some highlights -
Major Highlights:
- Authenticated Media: Media endpoints are now authenticated by default, with no user or server admin intervention needed. If you'd like to disable legacy media endpoints, simply set
allow_legacy_media = false
. Huge thanks to my very talented primary co-maintainer, @jason:uwu.zemos.net for spearheading this!- Improved Sliding Sync: With the help of @morguldir:sulian.eu, we've resolved many Sliding Sync issues, making Element X a lot smoother to use on conduwuit. Fixes include support for heroes, timestamps, per-room account data, read receipts extension (MSC3960), room/client filters, seeing room invites, and more.
- Mautrix Bridge Support: Added the appservice ping endpoint and MSC3316 timestamped massaging, making conduwuit more compatible with Mautrix bridges.
- Thread Fixes: Thanks to @isosphere:matrix.org for a huge effort fixing backwards threads and other bugs, improving the experience on clients like Element Web/Desktop.
Admin Tools & Miscellaneous Updates:
- Admin Commands: Tons of new admin commands have been added for moderation, media cleanup, and debugging; run
!admin help
for a full list. And admin room misc improvements like log capture was added.- Presence Status: Clients can now set presence status messages correctly.
- Room Banning: Improved room banning by removing aliases and unpublishing banned rooms.
- Federation Controls: The
forbidden_remote_server_names
config option now blocks both inbound and outbound federation.- Older Debian Compatibility: Fixed install issues on older Debian versions.
- Codebase Improvements: Extensive refactoring, optimizations, and the usual dependency bumps (including RocksDB v9.5.2 and Rust 1.80.1).
For full details, including around 250 commits since 0.4.5, check out the commit history.
GitHub Releases | Docker Hub | NixOS
Liberapay | GitHub Sponsors | Ko-fi
Chat with us in #conduwuit:puppygock.gay
Dept of Clients 📱
Extera (website)
OfficialDakari reports
Hello! I am glad to announce that Extera now has it's own website and homeserver with bridges!
You can apply for registration here by clicking Register button and filling out the form. You will get credentials for your Matrix account on your email.
We also offer Whatsapp and Telegram puppeting bridges!
Special thanks to:
- @kglt:re128.org, for sponsoring the domain name!
P.s.: Extera email soon with dedicated UI in client app, stay tuned! 💯
Element (website)
Everything related to Element but not strictly bound to a client
Matthew reports
After moving to AGPL for Synapse at the end of last year, Element is finalising the licence changes for the remaining related projects. We’ve also decided to switch the Element apps to (A)GPL. The intention is to ensure that system integrators and other proprietary forks of our software support its development, either by releasing their contributions or buying an alternative licence. https://element.io/blog/sustainable-licensing-at-element-with-agpl/ has the details!
Dept of Widgets 🧩
Widgets & Authenticated Media
Kim Brose announces
Since our last update, a couple things have happened in widget land, so we want to share some news with you today before we see you in 2 weeks at The Matrix Conference!
The more exiting updates to the Matrix Widget Toolkit include the update to Material UI 6 as well as latest React and Redux, and support for Matrix v1.11's Authenticated Media!
To get there, we updated/extended our MSC4039: Access the Content repository with the Widget API to account for downloads with Authenticated Media, Asynchronous Media Uploads, and encrypted media (we would welcome any feedback!). So far, we contributed reference implementations of the Authenticated Media parts to the matrix-widget-api, released in v1.9.0, and Element's react-sdk, besides our own packages. Async Media and e2ee media are to follow soon, watch this space! ;)
With that, up to date package versions of the toolkit are now:
- @matrix-widget-toolkit/api@3.4.0, with support for authenticated media downloads as specified in MSC4039 and implemented in v1.9.0 of the matrix-widget-api
- @matrix-widget-toolkit/react@2.0.1, now with various updated dependencies
- @matrix-widget-toolkit/mui@2.0.3, now using Material UI 6
and our MUI Matrix Example Widget was updated to demonstrate the toolkit's capabilities as usual.
To try them out right now, we recommend using Element Web's develop or nightly builds. Or you can wait for Element Web's v1.11.77 release, which is planned for next week.
If you have any questions or feedback, you can reach us at Nordeck (public).
Dept of Events and Talks 🗣️
Josh Simmons (he/they) announces
The Matrix Conference is quickly approaching and we have officially sold out of tickets! 200 of us will be gathering in Berlin for four days of sessions and community meetups.
Can’t make it to Berlin or didn’t get a ticket? You can still participate! We’ll be livestreaming sessions and including remote attendees in Q&A through our space at #matrix-conference-2024:matrix.org – no ticket required.
Dept of Interesting Projects 🛰️
The Magic of Distributed Access Control
Robin says
Matrix room state is a curious thing. A while ago I was contemplating three, seemingly unrelated questions:
- Are periodic room upgrades really the only way to delete state?
- Is a complex state resolution algorithm really the only way to implement distributed access control?
- What if room state could embed, or simply take the form of, an arbitrary CRDT?
When it clicked that these were related, this put me on the quest to develop an access control technique with transparent semantics that could be applied to any eventually consistent system. And, I think I've hit upon something pretty promising! The full story is on my blog: https://robin.town/blog/distributed-access-control
I don't know yet whether this idea might inform future development of Matrix, but I hope it's interesting! Feedback is appreciated :)
Matrix Federation Stats
Aine reports
collected by MatrixRooms.info - an MRS instance by etke.cc
As of today,
9893
Matrix federateable servers have been discovered by matrixrooms.info,3040
(30.7%
) of them are publishing their rooms directory over federation. The published directories contain22043
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 | conduwu.it | 211 |
2 | awawawawawawawawawawawawawawawawawawawawawawawawawawawawawawaw.gay | 222 |
3 | saneke.eu | 267 |
4 | girlboss.ceo | 268 |
5 | nyanbinary.rs | 283 |
6 | aguiarvieira.pt | 303 |
7 | codestorm.net | 312 |
8 | constellatory.net | 330.5 |
9 | doctoruwu.uk | 363 |
10 | puppygock.gay | 375.5 |
#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.
Rank | Hostname | Median MS |
---|---|---|
1 | conduwu.it | 75.5 |
2 | girlboss.ceo | 96 |
3 | saneke.eu | 100.5 |
4 | awawawawawawawawawawawawawawawawawawawawawawawawawawawawawawaw.gay | 108 |
5 | doctoruwu.uk | 136 |
6 | bi-vibes.com | 152 |
7 | codestorm.net | 159 |
8 | conduwuit.saneke.eu | 191 |
9 | inu.is | 201.5 |
10 | constellatory.net | 234.5 |
That's all I know
See you next week, and be sure to stop by #twim:matrix.org with your updates!