20 KiB
+++ date = "2023-07-28T18:00:00Z" title = "This Week in Matrix 2023-07-28" path = "/blog/2023/07/21/this-week-in-matrix-2023-07-28"
[taxonomies] author = ["Thib"] category = ["This Week in Matrix"]
[extra] image = "https://matrix.org/blog/img/matrix-logo.png" +++
Matrix Live
{{ youtube_player(video_id="b_qCw28Adfk") }}
Dept of Spec 📜
Andrew Morgan (anoa) 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:
- MSC3381: Polls (mk II) (merge)
Accepted MSCs:
- No MSCs were accepted this week.
Closed MSCs:
- No MSCs were closed/rejected this week.
Spec Updates
We've been quite busy at IETF 117 this last week discussing MLS and MIMI in several contexts, meetings, and sessions. Overall things have moved pretty fast in the last week, but the short summary is we're working with MIMI to get (Linearized) Matrix used as the new-found "signalling layer". This layer delegates membership of the room to the crypto layer when the crypto layer (namely MLS) supports being used as such, and is responsible for enforcing all policies. Policies in the context of MIMI are things like join rules, history visibility, and power levels, but with an added twist: we're looking at supporting Role-Based Access Control (RBAC) in combination with power levels in MIMI, which should also bring RBAC to Matrix in the form of a currently-unwritten MSC.
All told, we've got several new documents to write and MSCs to draft, but we'll get there in time. The MIMI working group is expecting solutions in place by about September, so watch this space for more news as we progress. An architecture draft is also in progress on the MIMI side to further explain what all of these new layers mean. In the meantime, if you have questions then please visit the matrix-spec room on Matrix!
We're also looking for more Matrix 1.9 candidates. Currently we have just custom emoji and anything to do with MIMI on the agenda - if you'd like to add more, let us know in the Office of the Matrix Spec Core Team room on Matrix.
Random MSC of the Week
The random MSC of the week is... MSC3062: Bot verification!
This MSC describes a method for verifying (cross-signing) the devices of a bot user, and how verification of that sort could be done. Obviously it wouldn't make much sense to verify emoji with a bot. Instead, this MSC suggests that the bot provide a URL to present to the user. If the URL appears trustworthy (those who would control this URL should also be in charge of this bot), then the user can choose to continue the verification.
The user's Matrix client would then make a request to the URL with details of the verification. If the server responds successfully, some cryptographic magic happens, and your client will consider the bot verified!
This is essentially tying a bot's verification with control of a domain's DNS, which I think is a smart way to do things. But you do need to watch out for those pesky UTF-8 control characters when asking the user to verify the URL!
Dept of Servers 🏢
Synapse (website)
Synapse is a Matrix homeserver implementation developed by the matrix.org core team
Shay says
This week we released 1.89.rc1. Highlights include:
- Add Unix Socket support for HTTP Replication Listeners. Document and provide usage instructions for utilizing Unix sockets in Synapse
- Fix a long-standing bug where remote invites weren't correctly pushed
- Ensure a long state res does not starve CPU by occasionally yielding to the reactor
- Remove support for calling the
/register
endpoint with an unspecceduser
property for application services- Support room version 11 from MSC3820
and much more. If you'd like to take a deep dive into the changes, you can find the release notes here and as always, if you encounter a bug feel free to report it at https://github.com/matrix-org/synapse/issues/new/choose.
Dept of Bridges 🌉
Thib says
we have asked the Libera.Chat team to postpone the removal of portals from 31st July to 11th August, both to leave us more time to get the bridge ready and to leave people more time to turn their portals into plumbed rooms.
We're grateful to the Libera Chat team for accepting our request and being mindful of our community.
Dept of Clients 📱
Element X iOS (website)
A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+.
Ștefan reports
Another week, another successful campaign on tweaks and bugfixes. We’ve continued our foray with:
- a brand new timeline implementation that just needs a few final tweaks before absolutely shining
- fixes around media upload for uncommon flows and file types
- copyable app version and device id
- improvements to Compound and our design system
- and even some tweaks for the mac
Otherwise we’re also working on room notification settings and support for polls
Element X Android (website)
Android Matrix messenger application using the Matrix Rust Sdk and Jetpack Compose
benoit reports
- We are still fixing issues on Element X Android, to be able to release it. Thanks for your patience!
- We are also making progress on some new features like polls for instance, mainly on the Rust SDK side right now.
- The project got an updated readme: https://github.com/vector-im/element-x-android!
Element Web/Desktop (website)
Secure and independent communication, connected via Matrix. Come talk with us in #element-web:matrix.org!
Johannes Marbach says
- We’ve continued our quest to eliminate stuck notifications. Fixes around read receipts for non-thread relations on thread roots, missing replies and some of the zombie notifications that appear on app reload have landed. Hot off the press, we’ve also identified a promising fix for the unread count mismatch before and after decryption. Check out our meta issue for the plan going forward.
- On the Compound front, we’ve had discussions around theming support and aligned on letting a small subset of customisable colours define the theme identity while not entirely disabling fully custom themes
- Lastly, we’ve also made some more progress around the logout path in the native OIDC integration. Sadly, things will be somewhat delayed here with folks going on summer vacation and having to pivot to other projects temporarily.
Element Android (website)
Secure and independent communication for Android, connected via Matrix. Come talk with us in #element-android:matrix.org!
benoit says
- Element Android 1.6.5 has been released, it contains some bugfixes, especially when the device is out of network range. Should be available soon on GooglePlay and F-Droid.
Commune (website)
Commune is a communications suite built on top of matrix. Commune aims to bring together chat, discussions, email and other interactive apps into a single matrix client.
ahq reports
Shpong is an instance of Commune, a publicly-accessible matrix community.
Dept of Non Chat Clients 🎛️
Thirdroom (website)
A browser-based open metaverse client
Matthew (away) reports
We've had to stop development on Third Room for the foreseeable due to lack of funding (folks who said they were interested in funding the project unfortunately did not come through in the end, and Element unfortunately doesn't have the resources to continue funding the development solo). All the code is of course Apache Licensed open source, and we very much hope that the codebase will find a way to live on in future.
Dept of SDKs and Frameworks 🧰
Matrix.swift SDK (website)
cvwright reports
The Circles team at FUTO is proud to announce the first alpha pre-release of Matrix.swift, our homegrown Swift client SDK for Matrix apps on Apple platforms including iOS and MacOS.
Although the project is still quite rough around the edges, it already provides most of the basic functionality that a simple Matrix client app would need. It can create, join, and leave rooms, and it can send and receive messages and media attachments, with support for Matrix end-to-end encryption via the Rust Crypto SDK.
A more complete list of features is available in the main project repo.
The first alpha v0.1.0 release is available from the FUTO Gitlab as well as from a Github mirror.
Trixnity (website)
Multiplatform Kotlin SDK for Matrix
Benedict reports
Trixnity 3.8.0 is released with matrix 1.7 support 🎉
features:
- matrix 1.7 support (reactions and more)
- extend MatrixClient API of sync allowing to set presence
- configurable sync delays (contribution by @steffen.eichenberg)
bugfixes:
- don't fail filling timeline when room does not exist locally yet
matrix-rust-sdk (website)
Next-gen crypto-included SDK for developing Clients, Bots and Appservices; written in Rust with bindings for Node, Swift and WASM
Jonas Platte reports
This week, we made progress on four key areas:
- Polls. FFI types were added and we got a first draft PR for timeline support. Special thanks to Kévin Commaille who did all the Ruma work this builds on, including recently making it compatible with both the latest state of the MSC and the older version currently implemented by Element Web
- Sliding Sync: Making it more robust against unexpected server behavior, more logging context, getting the new server-computed avatar URL
- Timeline: applying redactions more thoroughly
- Room List API: Update batching to reduce the amount of FFI back-and-forth for EX and fuzzy searching
Dept of Bots 🤖
Matrix Registration Bot (website)
moanos [he/him] announces
The matrix-registration-bot allows you to manage an invite only matrix server. An admin asks the bot for a invite code and then sends this code to a friend (or enemy) that they want to invite to the server.
it is now a lot easier to run the bot
- Create an admin account on your server for the bot
- run
docker run -it -e "BOT_USERNAME=@matrix-registration-bot:example.org" -e "BOT_PASSWORD=SECURE_PASSWORD" -e "BOT_SERVER=https://synapse.example.org" moanos/matrix-registration-bot:1.3.0
- Message the bot
help
to find out about all it can doFor all the folks using matrix-docker-ansible-deploy: Adding the following to you
vars.yml
is enough to fully configure the botmatrix_bot_matrix_registration_bot_enabled: true #By default, the playbook will set use the bot with a username like ## this: `@bot.matrix-registration-bot:DOMAIN`. # To use a different username, uncomment & adjust the variable. # matrix_bot_matrix_registration_bot_matrix_user_id_localpart: bot.matrix-registration-bot # Generate a strong password here. Consider generating it with `pwgen -s 64 1` matrix_bot_matrix_registration_bot_bot_password: PASSWORD_FOR_THE_BOT # Enables registration matrix_synapse_enable_registration: true # Restrict registration to users with a token matrix_synapse_registration_requires_token: true
No more hassle with access tokens - the bot can obtain them now on it's own!
For questions and support visit #matrix-registration-bot:hyteck.de
flip-matrix-bot (website)
A Matrix bot for the Friendly Linux Players community.
HER0 says
The new online documentation has received a bunch of updates, and now the Interacting with the bot section (starting with the usage overview) is much more fleshed out.
The docs are still in an early state, but this is a step towards making the bot easier to work with! If you have any feedback on this, feel free to file an issue or discuss it with us in #flip-matrix-bot:flip.earth.
Dept of Events and Talks 🗣️
Michael Weimann says
Schau dir den Vortrag „Die aufregende Reise einer Matrix-Nachricht“ am Sonntag, den 06.08. August um 10:00 Uhr auf der FrOSCon an
This post is about a talk „The exciting journey of a Matrix message“ explaining the Matrix protocol and APIs at FrOSCon. Since the conference is mainly in German, the main content of this post is also in German.
Wenn ihr wissen wollt, warum Matrix funktioniert und ihr nächstes Wochenende in der Nähe von Bonn (bzw. Sankt Augustin) seid, schaut euch den Vortrag „Die aufregende Reise einer Matrix-Nachricht“ auf der FrOSCon an!
Im Vortrag verfolgen wir den Weg einer Matrix-Nachricht vom eigenen Eingabefeld bis zur Timeline des Empfängers: Was passiert da, wer redet mit wem und wie zum Geier funktioniert eigentlich diese Verschlüsselung? Zu jedem Schritt schauen wir uns an, welche APIs benutzt werden. Außerdem werfen wir einen Blick in die Matrix-Spezifikation, in der drinsteht, wie das alles funktioniert.
Der Vortrag wird danach auch als Stream bei media.ccc.de verfügbar sein. Die komplette Beschreibung zum Vortrag gibt es im FrOSCon Programm.
HarHarLinks says
Matrix @ FrOSCon
FrOSCon is happening next week!
- 🐸 Free and Open Source Conference
- 📆 Saturday August 5 and Sunday August 6
- 🗺️ University of applied Sciences Bonn Rhine Sieg 🇩🇪
- 🧑🏫 Matrix community devroom, Matrix community stand, and even talks about Matrix on the main tracks
- 🕒️ Programme/Schedule: Saturday / Sunday
- 🗨️ Matrix Room: #FrOSCon:fiksel.info
- 💲 Free as in free beer! If you're in the area, come and meet us!
- 🦣 Share the toot or tweet (nitter mirror)
Matrix User Meetup Berlin
saces reports
Next Matrix user meetup 2.8.2023, 8 pm @ c-base
Meet other matrix users, chat about Matrix, the rest, and everything else, discuss your Matrix ideas, sign each other in persona, and maybe spice the evening with a good mate or beer.
Also when the bbq is lit you may wish you brougth your favorite item :)
Every first Wednesday of the month in the c-base at 8pm ('til the next pandemic).
Matrix room: #mumb:c-base.org
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 | test.zemos.net | 273 |
2 | zemos.net | 462.5 |
3 | maescool.be | 467 |
4 | infosec.exchange | 677.5 |
5 | herkinf.de | 715 |
6 | kittenface.studio | 814 |
7 | matrix.org | 2807.5 |
8 | 0xdead10cc.com | 3498 |
9 | anonymousland.org | 4500 |
10 | plocki.org | 6476 |
#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 | test.zemos.net | 68 |
2 | zemos.net | 123 |
3 | herkinf.de | 151 |
4 | 777.tf | 206 |
5 | matrix.org | 337 |
6 | l1qu1d.net | 750.5 |
7 | evilcyberhacker.net | 1184.5 |
8 | shiftsystems.net | 22843 |
That's all I know
See you next week, and be sure to stop by #twim:matrix.org with your updates!