24 KiB
+++ date = "2024-06-14T19:00:00Z" title = "This Week in Matrix 2024-06-14" path = "/blog/2024/06/14/this-week-in-matrix-2024-06-14"
[taxonomies] author = ["Thib"] category = ["This Week in Matrix"] +++
Dept of Status of Matrix 🌡️
Thib (m.org) reports
The Matrix.org Foundation and the Matrix Community Summit team are pleased to announce The Matrix Conference!
It is meant to be the place where the ecosystem at large meets. From individual hackers to organisations working with Matrix, from the Governing Board to public sector representatives we expect the whole community to gather for an exciting event that shapes the future of Matrix!
A particular thank you to HarHarLinks, Yan and Nadine as well as Plain Schwarz who all contributed to the organisation.
Find all the details about the conference and the venue at https://2024.matrix.org and submit your proposals at https://cfp.matrix.org.
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:
MSCs in Final Comment Period:
- No MSCs are in FCP.
Accepted MSCs:
Closed MSCs:
- No MSCs were closed/rejected this week.
Spec Updates
Release news
As another quarter looms, another Matrix release brews within it! Matrix 1.11 is scheduled to be released on June 20th, 2024. Matrix 1.11 is expected to bring with it Authenticated Media, more robust end-to-end encryption key management, and many, many spec clarifications. Thank you to everyone who has contributed so far; watch this space!
As per usual for the active release cycle, the SCT is focusing on T&S and Matrix 2.0 objectives. Below are the MSCs which were on Tuesday's pings, and their current status:
MSC4151: Reporting rooms (Client-Server API)
- Opened last week, this is functionality the T&S team believes should have already existed. Client developers are in active need of this, so if we can get it to stable for inclusion in servers, would be appreciated. FCP is more convenience than necessity, currently.
- Needs 1 more checkmark from the SCT to enter FCP (started the week needing 4)
- Needs updates from the author.
MSC2781: Remove reply fallbacks
- Needs 1 more checkmark from the SCT to enter FCP (started the week needing 2)
MSC2867: Marking rooms as unread
- Readers should review the outcomes on this thread.
- Needs 1 more checkmark from the SCT to enter FCP (started the week needing 1)
Client and server developers are encouraged to review these MSCs in particular because they're on a path to being included in the next spec version. This doesn't have to mean implementing them, but if there's something which doesn't sound quite right in the proposal text then leave a comment on the diff to raise a concern. The SCT will take these comments into consideration as the MSC enters FCP - the 5 day countdown to ensure any last comments are considered before the proposal is accepted into the spec as stable.
Nico reports
Recently the rules for #matrix-spec:matrix.org have been made stricter. To not repeat the same discussions over and over again or lose valuable conclusions, any results of a discussion are supposed to end up on an MSC. There is certainly merit to such rules.
However, I do think it is very hard for the community to organize with such rules and just asking questions about the spec without any relation to a specific MSC should have a place. Similarly people might be unsure about their ideas for an MSC and might want a place where they can receive feedback before taking a (for some people) somewhat big step and write down a proposal in a more formal setting. For this purpose I created a new room, #matrix-spec-discussion:neko.dev. My hope is that this room will have somewhat laxer rules, while still being productive. It should be an open place to start discussions and answer questions as well as giving people a way to organize around proposals in the making. Not all questions are suited for the foundation (#foundation-office:matrix.org) or discuss a specific proposal (#matrix-spec:matrix.org). So this is my answer to cover the scraps, that don't feel like offtopic, but don't quite belong in any of the aforementioned rooms.
Please give it a look, it would be quite a barren place without people! :)
Dept of Servers 🏢
Conduit (website)
Conduit is a simple, fast and reliable chat server powered by Matrix
Timo ⚡️ reports
Conduit v0.8.0 just released!
This release is focused on patching security vulnerabilities. Most notably, there is a CRITICAL vulnerability, which requires an attacker to have an account on your server. Administrators which have untrusted users on their server (e.g. public homeservers) are advised to update immediately or take their homeserver off the internet ASAP.
Please send
@conduit:server.name: help
into your admin room. If the Conduit bot does not respond to the command, even after a restart, you have likely been victim of this vulnerability, and should not connect your server to the internet for the time being, even after upgrading. Please contact us privately if you are affected. If the Conduit user does respond to any command, then you are safe to connect your homeserver to the internet after upgrading. We will release further instructions for victims at 2024-06-19, 18:00 UTC. The other vulnerabilities are relatively minor, but we still urge you upgrade as soon as possible.Aside from that and some bug fixes, there have been a few notable changes, including:
- Feature: Support for integration managers, as well as anything else that depends on Open ID endpoints, thanks to avdb !681
- Feature: Support for hosting
.well-known
files from Conduit directly, thanks to M0dEx !332
- This should make sliding sync work out of the box, so long as you are not using delegation in your reverse proxy (which you can also configure inside of Conduit instead)
- Allowing for toggling of registration via admin command, without requiring a restart, thanks to rmsthebest in !477
If you have any questions, ideas, concerns, please ask in #conduit:fachschaften.org or DM me or Matthias
Dept of Bridges 🌉
matrix-appservice-revolt
Austin Huang reports
A new appservice bridge is now available between Matrix and Revolt, another popular Discord alternative. The bridge is built with matrix-appservice-bridge and the source code is available on Codeberg. Currently it supports bridging between Revolt server channels and Matrix rooms, and allows moderation to be done from Matrix. Contributions are welcome!
A space has been set up for public testing: #matrix-appservice-revolt:bus-hit.me on Matrix, and https://rvlt.gg/n28bHqeY on Revolt.
mevaka - eVaka to Matrix forwarder
mijutu announces
mevaka reads messages and attached files from eVaka and sends them to Matrix. eVaka threads are forwarded as Matrix threads.
eVaka is a parent-teacher communication website for children in daycare.
Dept of Clients 📱
Nheko (website)
Desktop client for Matrix using Qt and C++17.
Nico reports
After playing games for a year, it seems we racked up over 800 commits and so we decided to publish that all as a new version. This means Nheko 0.12.0 is out now and you may even be able to install it depending on your OS and package preferences!
This release does bring some big changes since we switched to Qt6 and also just from being in development for so long. We also now don't provide an MSI installer anymore, but instead an MSIX package with an optional appinstaller, which enables automatic updates on Windows. On Flatpak our appid changed and for now you will need to manually migrate, but publishing on Flathub is also still pending as of writing.
Apart from this the release brings intentional mentions, automatic event expiration, ignoring users, improvements to sticker and emoji packs including a unified emoji picker, screenshare support on Wayland and lots and lots of smaller changes.
While we do think the whole changelog is exciting to read, it doesn't fit into a matrix event, as such please read it in more detail here: https://github.com/Nheko-Reborn/nheko/releases/tag/v0.12.0 We did remove most of the boring stuff, where we fixed our own bugs introduced during development, so it looks quite a bit shorter than the work we actually put into the release.
And to end it out, as always, thanks a lot for the people who contributed to Nheko. Not only did you contribute code, the translation work is invaluable as are the helpful bug reports and feature requests. And all the discussions, suggestions and support provided in #nheko:nheko.im deserve a special mention as well. It helps so much just having other people than the developers being active and answering questions.
So now that all the boring organizational stuff is out of the way, I am going to take a nap now, see you for the next release in 10 years!
Element X iOS (website)
A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+.
Mauro Romito announces
- restoring message drafts has made great progress, the feature is about to be completed
- now some state events like invites will display the username instead of the user id
- some major bug fixes improved the overall stability of the timeline
- automatic message resend in case of network failure has been implemented
Element X Android (website)
Android Matrix messenger application using the Matrix Rust SDK and Jetpack Compose.
benoit announces
- Release 0.4.14 is available on the stores, yes with an “s”, since it is also available on F-Droid! The plain FOSS version can be downloaded from https://f-droid.org/packages/io.element.android.x/. The README file at https://github.com/element-hq/element-x-android have been updated accordingly. We have been reported an issue with notification that we are investigating. Do not forget to install (if not done yet) a UnifiedPush client.
- First iteration of the message queue has landed in develop and will be available in the next release. The application may retry to send messages in error when the network is back for instance.
Dept of Non Chat Clients 🎛️
Matrix Wrench (website)
Matrix Wrench is a web client to tweak Matrix rooms.
Christian Paul (jaller94) reports
Happy 3rd birthday, Matrix Wrench! (release 0.13.0)
Matrix Wrench got started on 13th June 2021 as a tool to replace tedious curl commands. Since then, Matrix Wrench has helped me a lot to tweak and fix Matrix room states. In the past years, it also gained features to export your rooms and contacts to JSON for external analysis.
I want to celebrate its 3rd birthday with a new release. 🔧🥳 Now with a new dark mode.
Circles (website)
E2E encrypted social networking built on Matrix. Safe, private sharing for your friends, family, and community.
cvwright announces
Circles is an E2E encrypted, secure social network app for families and friends, built on Matrix.
This week we released Circles for Android v1.0.31. This release includes some significant changes:
- Support for dehydrated devices (MSC3814) for more reliable end-to-end encryption
- Removal of the "connections" feature (profile rooms). Having both the social "following" relationship and the "connection" relationship was too confusing for most users. Profile rooms may return in a future version of the app, but for now we have removed all references to "connecting" with friends or viewing your "connections" etc.
- Removal of the Photos tab. The photo galleries were a neat feature, but they are somewhat tangential to the core social features of the app, so they will be going away in a future version of the app. For now, you can re-enable Photos under the Advanced settings, and you will then be able to access your photos via the "Photos" button on the Settings tab. Also, if you were a fan of the photo gallery grid view, look for it to re-appear in a future version of Circles as an alternate way to see all the photos that have been posted to a group (similar to Telegram).
- Replaced the old "Configure Workspace" screen with a more user-friendly onboarding flow
- The post composer now stays open until the message has been received and acknowledged by the server
This build is available now on Google Play and the FUTO F-Droid repo. It will be rolling out to the main F-Droid.org repo with the next build cycle.
Dept of Encryption 🔐
Kegan says
Last week I mentioned that we have been aggressively analysing bug reports to fix Unable To Decrypt (UTD) problems across Element clients. To do this, we rely on people submitting bug reports whenever they cannot decrypt an event. The call to action last week was very helpful, so I'm doing it again this week.
Here are some real issues that have come out of this work:
- Rust SDK: events can be sent without an up-to-date member list causing UTDs
- Sliding Sync: Dropping the database can drop to-device messages going forwards
- Synapse: Backoffs and 429s on /keys/claim over federation causes UTDs
These are just some examples over the last two weeks: we've been doing this for months. As you can see, issues are not limited to just one particular project. This requires good logs, intuition and a bit of luck to fix.
Please report any unable to decrypt errors you may see. It may also appear as "waiting for this message" depending on your client/version. We need both the sender and the receiver in order to accurately debug the issue, so please ask the sender to submit a bug report if they are on an Element client.
Element-Web/Desktop specific: Please DO NOT submit "Feedback" as this does not include logs. Please use Settings -> Help & About -> Submit debug logs.
Even if the sender isn't on an Element client, it can be very helpful to include the client that they are using in the bug report. We cannot guarantee to reach 0 UTDs because UTDs have no borders: if the sender encrypts incorrectly then the receiver will always see a UTD, and Matrix is an open ecosystem with many different client codebases. Therefore, even if Matrix Rust SDK were perfect, Element clients may see UTDs from senders using other SDKs. When it becomes clear this is happening, we file issues upstream to help improve the ecosystem for all clients. Where bugs have been fixed, we now have a test suite capable of reproducing a wide range of these failures. We're also looking to include SDKs other than Matrix Rust SDK in this test suite, to build a virtuous cycle where bugs in one SDK can then be fixed across the board in all SDKs going forwards.
So please submit bug reports, and I'll reach out to you if I need further information.
Dept of Bots 🤖
Draupnir (Website)
Gnuxie 💜🐝 says
The Draupnir
v2.0.0-beta
now has a new documentation website for system administrators setting up the bot, and also for moderators using the bot that can be found here https://the-draupnir-project.github.io/draupnir-documentation/.
maubot pretix inviter
Adrian Edwards announces
I have been working on a new maubot plugin for matrix to help run virtual events in matrix (primarily things such as the Fedora Release Parties and Fedora Week of Diversity). This bot connects to pretix via its REST API to fetch event attendees and invite them to matrix. This means it works on the pretix.eu SaaS where adding plugins like pretix-matrix-inviter is not possible.
So far things are currently in development so the repositories may get moved as this gets closer to production use.
- My development repo (for development): https://github.com/MoralCode/maubot-events
- Current progress tracking issue: https://gitlab.com/fedora/commops/interns/-/issues/16
Matrix Feed Bot
Sam Bull reports
Matrix Feed Bot is a small bot for subscribing to RSS/Atom feeds. It is an overhaul of the old matrix-rss-bridge, making several improvements to reliability and features. Once the bot is running, users can manage subscriptions in a room with simple commands to the bot.
The code and instructions can be found at https://github.com/Dreamsorcerer/matrix-feed-bot
Dept of Events and Talks 🗣️
HarHarLinks announces
Icymi, there will be a Matrix Community Event at the 19th FrOSCon in Sankt Augustin (near Bonn) 🇩🇪 on 2024-08-17 and 18!
Would you like to be involved? Answer the Call for Participation in our matrix room! We are looking for talks, workshops, helpers, .... Have a look at last year's talks on Matrixdotorg's YouTube for inspiration!
Dept of Community
CHAOTIC ivan reports
A Call to Action: We Need More Local Communities!
One noticeable aspect lacking in Matrix as a platform, is the presence of local communities. You might be surprised by how helpful a room dedicated to your city or province can be for getting involved in an ecosystem proper.
Many new Matrix users tend to join a homeserver (most notably, matrix.org) and then forget about it, which, in my opinion, is a missed opportunity.
That's why today, I took the initiative to create a Matrix room for Valencia, the city I currently reside in, and I believe you should do the same!
Connecting with individuals who share similar cultures and backgrounds can be enriching on any social media platform or chat service. From my experience, one thing that Matrix lacks in its ecosystem, is local communities. These communities can serve as fantastic entry points for newcomers.
I urge you, the reader, to take a moment to explore the room directory to see if there are any well-maintained communities for your city or province. If you don't find one, consider stepping up and creating it yourself!
Simple gestures like maintaining a well-moderated room can make a significant difference for newcomers.
Matrix Federation Stats
Aine reports
collected by MatrixRooms.info - an MRS instance by etke.cc
As of today,
9637
Matrix federateable servers have been discovered by matrixrooms.info,2941
(30.5%
) of them are publishing their rooms directory over federation. The published directories contain160932
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 | doctoruwu.uk | 214.5 |
2 | tchncs.de | 255 |
3 | nerdhouse.io | 265.5 |
4 | h.hackclub.app | 336 |
5 | uwu.zemos.net | 357 |
6 | exozy.me | 402 |
7 | craftingcomrades.net | 411 |
8 | sulian.eu | 431 |
9 | uwu.sulian.eu | 548 |
10 | rue.nabulator.com | 563 |
#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 | uwu.sulian.eu | 84 |
2 | tchncs.de | 90 |
3 | doctoruwu.uk | 133 |
4 | h.hackclub.app | 164.5 |
5 | spritsail.io | 165 |
6 | sulian.eu | 177 |
7 | conduwuit.daedric.net | 209 |
8 | uwu.zemos.net | 227.5 |
9 | exozy.me | 244 |
10 | dendrite.s3cr3t.me | 283.5 |
That's all I know
See you next week, and be sure to stop by #twim:matrix.org with your updates!