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.
- There were no new MSCs this week.
MSCs in Final Comment Period:
- No MSCs are in FCP.
- No MSCs were accepted this week.
- No MSCs were closed/rejected this week.
No movement through the process on the surface for any MSCs according to the above chart, but some things have been happening! Other than the usual background hum of IETF work, conversations across many MSCs have been moving along. We also saw MSC3930 (Polls push notifications) have FCP proposed! The latter would stop a notification from being generated every time someone voted in a poll, which is sorely needed.
A reminder that in keeping with the spec's quarterly release schedule, Matrix v1.8 is due to release this month and Matrix v1.9 is due for November. We want to plan well ahead for the v1.9 release though, so if you would like to see anything in particular land in v1.9, please raise that concern in the Office of the Spec Core Team room!
See this message in the same room for more information including the currently planned v1.9 spec changes.
Random MSC of the Week
The random MSC of the week is... Refine and clarify how presence works!
This is a very old "MSC" (still on google docs), but it's come up and I've seen folks taking a look at revamping presence recently, so I figured it may be interesting to share.
The document lists a number of confusing behaviours that come with the current presence spec (at the time, though it hasn't moved much since then). There is also a bullet-point list of what a redesigned presence could look like.
Given the conversation on the GitHub issue, this document appears lost to time. But perhaps someone will find it useful today.
Dept of Servers 🏢
Conduit is a simple, fast and reliable chat server powered by Matrix
Timo on Conduit ⚡️ announces
Conduit was at the top of Hacker News this week! https://news.ycombinator.com/item?id=36937713
Synapse is a Matrix homeserver implementation developed by the matrix.org core team
This week we released 1.89.0. Highlights include:
+in Matrix IDs, per MSC4009
- Support room version 11 from MSC3820
- Allow configuring the set of workers to proxy outbound federation traffic through via
- Fix a long-standing bug where remote invites weren't correctly pushed
- Fix a bug where resyncing stale device lists could block responding to federation transactions, and thus delay receiving new data from the remote server
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 🌉
Gabriel R. announces
Hi! I've made a new Matrix<->Mattermost message history import tool and bridge: https://github.com/gabrc52/mattermost-to-matrix. It allows importing and bridging entire Mattermost teams into Matrix spaces. If you have any questions about it, you can DM me or use GitHub issues.
Dept of Clients 📱
Quaternion 0.0.96 beta4 (website)
A Qt5-based IM client for Matrix
After another round of smashing the keyb^W bugs, another beta of Quaternion is out now - hopefully the last one before the release. Nicer timeline scrolling, (much) better HTML insertion and a few other fixes all around. Packagers and translators - that's a great moment to update your stuff where necessary (would be especially great to see help on Ukrainian, Polish, and Spanish translations).
Element X iOS (website)
A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+.
It's holiday season in Element land (and everywhere else?) but that doesn't mean we don't have cool updates for you:
- Version 1.2.1 has been submitted to AppStore review and, as a result of that, we are now building a special home screen state for when you're not part of any rooms 😅
- We're setting up the foundations for the RichTextEditor adoption
- Started looking in what it would take to adopt Element Call and the results are promising
- We have a brand new notification settings screen
- The app now shows avatars for direct messages
- Made improvements to how read receipts are sent
- And, as always, a bunch of bug fixes and performance improvements
Element X Android (website)
Android Matrix messenger application using the Matrix Rust Sdk and Jetpack Compose
- Investigate release blocker issues, including fix of async uniFFI bug on Kotlin
- Continue integration of Compound
- Continue working on Polls
- The app now shows avatars for direct messages
- A bunch of bug fixes and performance improvements
Element Web/Desktop (website)
Secure and independent communication, connected via Matrix. Come talk with us in #element-web:matrix.org!
- This week in web… We’re heads down on the stuck notifications issues we’ve been battling. We’re making significant progress across the board. We’ve coined the current issues as “zombie notifications” as these are the ones that are removed by entering a room but come back when the app restarts. Rest assured, we’re doing all we can.
- Also new in this week’s release are the updated colours. We’ve updated our colour system across the board to improve legibility and usability throughout the app. It goes hand-in-hand with our other accessibility improvements.
Dept of SDKs and Frameworks 🧰
Skyler M reports
- Supports only SSO at this moment and spits out an access token to be used eg with Whatsapp double puppet.
Multiplatform Kotlin SDK for Matrix
Trixnity v3.9.0 has been released:
- BREAKING CHANGE: more type safe push rules (sealed interface for different kinds of push rules)
CoroutineCacheperformance improvements (one of the 3.7.x releases made it a bit slower)
Dept of Bots 🤖
MatrixJoinLink is bot that allows the creation of invite links to non-public rooms in matrix. It uses the Trixnity framework. The bot is currently in early alpha and primarily used as proof-of-concept. In addition, I currently gather feedback regarding the concept.
Reason for this Bot
I always struggled with the problem that I have private rooms, I want to share with a group of friends. Before the bot, I had to invite all the people. Now I can invite JoinLink and create an invite link. This link can be shared to my friends who want to join my room (including spaces).
Technical Details / How it works
- Let's assume that you want to share the private room
- After you've invited the bot, you can enter
!join link IShareLinksWithYou
- The bot creates a new public room that contains "IShareLinksWithYou" in its name. The room will not be listed in the room directory; for this example its ID is
- If somebody joins the public room, the bot verifies whether the rooms belong to each other based on two encrypted state events in
!public:room.domain. If the validation is successful, the bot invites the user to the private room.
- If you want to disable the share simply type
!join unlinkin the private room. This will invalidate the link.
The MensaBot is a bot I created at the beginning of the year using the Trixnity framework. It sends a daily reminder of the food that is currently available in your canteen (German: Mensa). You can also use commands to request the list directly. Currently, it only supports the API of my university's canteen. However, the bot is extensible for new canteens.
- Schedule daily posts about the food in your canteen
- Get a summary of the food in your canteen (on the current date)
- Simple rights management (only configured admins can interact with the bot)
A Matrix bot for the Friendly Linux Players community.
Among other (less interesting) changes, the bot received an update to the response generated by the
information eventscommand, contributed by a community member!
Additionally, the in-progress documentation keeps getting improvements. This week, it was focused on the Running the bot section, starting with the Installation chapter.
Dept of Events and Talks 🗣️
Matrix @ FrOSCon
FrOSCon is happening this weekend! If you're very spontaneous, or at least a bit spontaneous and not too far away, drop by our Matrix Community Stand and Devroom!
- 🐸 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)
Dept of Guides 🧭
Matrix client tutorial
The initial version of the Olm encryption section of my Matrix client tutorial is now up. The plan is to do sending/receiving of to-device messages next, and then a section where all the e2ee pieces get put together into a more coherent package. After the to-device section is written, it will be almost a replacement for the current e2ee implementation guide, with the missing sections being encrypted attachments (which, in the current guide, is just a pointer to the spec), and key requests/forwarding.
Dept of Ping
Join #ping:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.
Join #ping-no-synapse:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.
That's all I know
See you next week, and be sure to stop by #twim:matrix.org with your updates!