Dept of Spec 📜
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.
- MSC3994: Display why an event caused a notification
- MSC3993: Room takeover
- MSC3991: Power level up! Taking the room to new heights
- MSC3989: Redact
originfield on events
- MSC3995: [WIP] Linearized Matrix
MSCs in Final Comment Period:
- No MSCs are in FCP.
This last week the core team has been working on Linearized Matrix, which now exists in MSC form. The idea is still very much in flux, but the MSC covers a large part of the backing context for the overall approach. More detail about IETF116, Linearized Matrix, and the overall mission can be found in last week's TWIM, and we're happy to answer any questions in #matrix-spec:matrix.org on Matrix.
Meanwhile, the Spec Core Team (SCT) has been focusing on Matrix 2.0 MSCs for OIDC, VoIP, etc alongside quite a few other smaller MSCs. You can follow along with the SCT's weekly priorities in the #sct-office:matrix.org room on Matrix.
Random MSC of the week
Today's random proposal is MSC3860: Media Download Redirects! Quite a few medium-large servers use a CDN of some kind to host media shared in rooms, and currently the usefulness of that CDN is diminished by servers not necessarily being able to tell clients that the media is actually found on another URL. This proposal formalizes HTTP 307 redirects, and the SCT is interested to hear if this will break any clients - check it out, leave some comments, and let us know :)
Dept of Servers 🏢
A performance-oriented homeserver with minimal dependencies.
Jason Volk announces
Construct features a Github webhook bot built into the server as a loadable module. This is something which existed from the very first days of the project and something I've worked on intermittently. For those that don't remember shortly after reactions were released in Riot, Construct was the first to make use of them as status indicators for continuous integration by reacting with 🟡 and 🟢. Sometime later we were one-upped by the creativity of the folks over at #nheko whose bot sends a very baroque set of reactions for individual Gitlab jobs.
Last week Construct added a rather large Docker image matrix both for release consumption and to replace the the Appveyor CI. I'm sad to see Appveyor go since only a couple weeks ago they were very helpful with a support ticket of mine, but our needs now have exceeded that and I prefer to do things myself.
This week I'd like to present Construct's live-action continuous-integration status bar. Each box is actually a clickable hyperlink to the Github actions page, so when something turns red you can find the error.
If you're interested in a demonstration, I would have some screencasts but nothing I've tried yet seems to work in wayland. As always, feel free to check out #construct:zemos.net for a live demonstration of the real thing.
Dept of Clients 📱
A Qt5-based IM client for Matrix
Quaternion 0.0.96 beta
The first beta of Quaternion's new version has been published earlier this week, with (still work-in-progress and incomplete at the moment) E2EE support as the main highlight. The release notes can be found at the usual place at GitHub. Most of the changes are actually due to using libQuotient 0.7 under the hood so it's a short read this time; but make sure to check the E2EE section in the library release notes (two key things: don't use encryption if it's the only device you're logged in from, and don't expect Quaternion to decrypt historical messages). Translators are welcome to update the strings at the usual place (you only need strings tagged
For this beta, both the pre-built packages at GitHub and the Flatpak (NB: you have to use the Flathub beta channel to get it) have E2EE switched on and you cannot turn it off; so please don't use this version for anything serious (I know you waited for so long; it's still the first beta, okay?). The work on making E2EE opt-in on a per-account basis is ongoing, and there's still a laundry list of things to do before the final 0.0.96 is released, with a lot of quick and easy fixes - so please help with closing them off to make the release come sooner!
Element iOS (website)
Secure and independent communication for iOS, connected via Matrix. Come talk with us in #element-ios:matrix.org!
Happy Monday everybody, ending yet another exciting week in iOS land that brought us:
- Push notifications in ElementX (albeit with no content until we figure out the rusty bits)
- Blocking users from the content reporting screen
- An improved direct message room details screen
- Developer tools that make it easier to deal with translations plus some bug fixes in that area
- Improvements to our screen templates and fixes for some flakey tests as a result
- A lot of sliding sync bug and performance fixes courtesy of our crack Rust Team™
- Our first look at end to end media sending (pre-processed image sent in an encrypted room)
- An improved timeline item debug menu
- and more..
- Meanwhile a new Element release is on the way with significant improvements for read marker and the ability to mention a @room
Last but not least, with Localazy now fully setup, please join us in making ElementX the nicest Matrix client to use in any language at https://localazy.com/p/element
Cinny is a Matrix client focused on simplicity, elegance and security
- Update matrix-js-sdk to v24: Address CVE-2023-28427
Our hosted versions are already up-to-date. If you are self hosting, please update to v2.2.6 as soon as possible.
Dept of Non Chat Clients 🎛️
Chess client on Matrix ♟️
I built a chess client on Matrix! You can now play chess with your friends using a Matrix server as your back-end. It's a hacky design built in two weeks time, but it's ready for demo purposes. Users can log in using an access token or using a username and password, and they'll be able to receive and send invites.
The chess games work in any room, but I'll gladly accept games from people who challenge mr-demo in #elm-sdk-development:noordstar.me in the next week. No promises that I'm good at the game though. ;)
You can view the source code here, and you can use the live demo version: https://chess.noordstar.me/
This client is meant as a proof-of-concept for the Elm SDK, so any and all feedback is welcome! You can contact me at #elm-sdk:matrix.org .
export matrix messages (website)
A commandline utility to export matrix messages
emm (export matrix messages) v0.9.6
Long time no see! The emm tool got new release with proper handling of replaced (edited) messages.
Why project doesn't get much updates you ask? Because it does the job almost perfectly! Try it yourself and find out 😉
Dept of SDKs and Frameworks 🧰
Elm SDK - first test client
As by Elm's guidelines, packages and SDK's in Elm aren't just published as they're being developed - they're published when they're finished and can be used widely.
- This shows the potential of using Matrix to the Elm community as a simple back-end for the purpose of "and now you can do this with other Elm clients".
For this reason, I am asking both communities for feedback - what tiny Elm clients would you like to see created?
Multiplatform Kotlin SDK for Matrix
Trixnity v3.6.0 is released. There is also a website with documentation for Trixnity now 🚀
- matrix 1.6 support
- BREAKING CHANGE: more flexible API for loading events
- added SSO redirect endpoints
- cleaner logging messages
- also catch deserialization exceptions on decrypting olm events
- fix server discovery from UserId
Dept of Ops 🛠
Command line admin tool for Synapse (Matrix reference homeserver)
It's been only a little bit since our last TWIM. But since v0.40, we did some improvements on how synadm handles very special characters (e.g.
/), automated releases, and control over whether certificates should be verified.
Dept of Bots 🤖
hasskbot the vacuum bot
Did you know you can control your robot vacuum cleaner via Matrix?
I added the docs how to configure this.
Similar approach can be used to control any entity in home-assistant via hasskbot.
Dept of Events and Talks 🗣️
Matrix Salon podcast
Christian Paul (jaller94) reports
Meet anoa, one of the Spec core team members.
We talked about Matrix events at FOSDEM 2023, the Matrix Spec core team and Matrix Spec changes (MSCs).
RSS feed: https://anchor.fm/cdb34188/podcast/rss Episode link: https://podcasters.spotify.com/pod/show/matrix-podcast0/episodes/Anoa-English-episode---Spec-core-team--FOSDEM-2023-e21ufnm Fediverse post: https://mastodontech.de/@jaller94/110157776518946999
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!