matrix.org/content/blog/2023/04/2023-04-10-this-week-in-mat...

286 lines
16 KiB
Markdown

+++
title = "This Week in Matrix 2023-04-10"
date = "2023-04-10T21:24:54Z"
path = "/blog/2023/04/10/this-week-in-matrix-2023-04-10"
[taxonomies]
author = ["Thib"]
category = ["This Week in Matrix"]
+++
## Matrix Live
{{ youtube_player(video_id="ZtMGKbyb4Cs") }}
## Dept of Spec 📜
[TravisR](https://matrix.to/#/@travis:t2l.io) 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:**
> * [MSC3994: Display why an event caused a notification](https://github.com/matrix-org/matrix-spec-proposals/pull/3994)
> * [MSC3993: Room takeover](https://github.com/matrix-org/matrix-spec-proposals/pull/3993)
> * [MSC3991: Power level up! Taking the room to new heights](https://github.com/matrix-org/matrix-spec-proposals/pull/3991)
> * [MSC3989: Redact `origin` field on events](https://github.com/matrix-org/matrix-spec-proposals/pull/3989)
> * [MSC3995: [WIP] Linearized Matrix](https://github.com/matrix-org/matrix-spec-proposals/pull/3995)
>
> **MSCs in Final Comment Period:**
> * *No MSCs are in FCP.*
>
> **Merged MSCs:**
> * [MSC3980: Dotted Field Consistency](https://github.com/matrix-org/matrix-spec-proposals/pull/3980)
>
> ## Spec Updates
>
> This last week the core team has been working on Linearized Matrix, which now exists in [MSC form](https://github.com/matrix-org/matrix-spec-proposals/pull/3995). 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](https://matrix.org/blog/2023/03/31/this-week-in-matrix-2023-03-31#spec-updates), and we're happy to answer any questions in [#matrix-spec:matrix.org](https://matrix.to/#/#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](https://matrix.to/#/#sct-office:matrix.org) room on Matrix.
>
> ## Random MSC of the week
>
> Today's random proposal is [MSC3860: Media Download Redirects](https://github.com/matrix-org/matrix-spec-proposals/pull/3860)! 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 :)
<!-- more -->
## Dept of Servers 🏢
### Construct ([website](https://github.com/matrix-construct/construct))
A performance-oriented homeserver with minimal dependencies.
[Jason Volk](https://matrix.to/#/@jevolk:matrix.org) 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](https://matrix.to/#/#construct:zemos.net) for a live demonstration of the real thing.
>
> ![](/blog/img/uvZdkBdlTIdjyaCmvXjXVHNl.png)
>
> ![](/blog/img/aVMXUONdJNJHkJxHvQeEftgs.png)
## Dept of Clients 📱
### Quaternion ([website](https://github.com/quotient-im/Quaternion))
A Qt5-based IM client for Matrix
[kitsune](https://matrix.to/#/@kitsune:matrix.org) says
> ## 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](https://github.com/quotient-im/Quaternion/tree/0.0.96-beta1). 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](https://github.com/quotient-im/libQuotient/releases/tag/0.7.0#user-content-e2ee) (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](https://app.lokalise.com/project/730769035bbc328c31e863.62506391) (you only need strings tagged `dev`).
>
> For this beta, both the pre-built packages at GitHub and the Flatpak (NB: you have to use the Flathub [beta channel](https://discourse.flathub.org/t/how-to-use-flathub-beta/2111) 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](https://github.com/quotient-im/libQuotient/issues/603) is ongoing, and there's still a [laundry list](https://github.com/quotient-im/Quaternion/projects/2#column-5799377) 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](https://github.com/vector-im/element-ios))
Secure and independent communication for iOS, connected via Matrix. Come talk with us in [#element-ios:matrix.org](https://matrix.to/#/#element-ios:matrix.org)!
[Ștefan](https://matrix.to/#/@stefan.ceriu:matrix.org) announces
> 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 ([website](https://cinny.in))
Cinny is a Matrix client focused on simplicity, elegance and security
[Lozenge](https://matrix.to/#/@kfiven:matrix.org) says
> ## Cinny v2.2.6
>
> #### Security release
>
> * Update matrix-js-sdk to v24: Address [CVE-2023-28427](https://matrix.org/blog/2023/03/28/security-releases-matrix-js-sdk-24-0-0-and-matrix-react-sdk-3-69-0)
>
> Our hosted versions are already up-to-date. If you are self hosting, please update to v2.2.6 as soon as possible.
>
> **Release**: https://github.com/cinnyapp/cinny/releases/tag/v2.2.6
>
> #### Folds
>
> Our work on Folds (the design system for Cinny) is finished and it's now getting incorporated into Cinny itself. You can find the design system [code on Github](https://github.com/cinnyapp/folds) and a [live demo here](https://folds-sb.netlify.app/).
## Dept of Non Chat Clients 🎛️
### Chess client on Matrix ♟️
[Bram](https://matrix.to/#/@bram:noordstar.me) reports
> 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](https://matrix.to/#/#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](https://github.com/BramvdnHeuvel/Matrix-Chess), 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](https://matrix.to/#/#elm-sdk:matrix.org) .
>
> ![](/blog/img/fAIfIFRiGjktwfMDHpMeIenf.png)
### export matrix messages ([website](https://gitlab.com/etke.cc/emm))
A commandline utility to export matrix messages
[Aine](https://matrix.to/#/@aine:etke.cc) reports
> 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 😉
>
> Check out the [source code](https://gitlab.com/etke.cc/emm) (has binary releases) and say "hi!" in the [#emm:etke.cc](https://matrix.to/#/#emm:etke.cc)
## Dept of SDKs and Frameworks 🧰
### Elm SDK - first test client
[Bram](https://matrix.to/#/@bram:noordstar.me) reports
> As by [Elm's guidelines](https://package.elm-lang.org/help/design-guidelines#design-for-a-concrete-use-case), 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.
>
> For this reason, the final phase of developing [the Elm SDK](https://github.com/noordstar/elm-matrix-sdk) is to test, make examples, and ask the community for feedback. For this reason, I've built [a chess client as a demo version](https://github.com/BramvdnHeuvel/Matrix-Chess).
>
> Hopefully,
>
> * This shows the performance optimization of Elm to the Matrix community. The entire client fits in a 57,22kB JavaScript file, which is quite small when considering that Hydrogen's JavaScript file is 13 times as large.
> * 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?
### Trixnity ([website](https://gitlab.com/trixnity/trixnity))
Multiplatform Kotlin SDK for Matrix
[Benedict](https://matrix.to/#/@benedict:imbitbu.de) announces
> Trixnity v3.6.0 is released. There is also a [website with documentation](https://trixnity.gitlab.io/trixnity/) for Trixnity now 🚀
>
> features/improvements:
> * matrix 1.6 support
> * BREAKING CHANGE: more flexible API for loading events
> * added SSO redirect endpoints
> * cleaner logging messages
>
> bugfixes:
> * also catch deserialization exceptions on decrypting olm events
> * fix server discovery from UserId
## Dept of Ops 🛠
### synadm ([website](https://github.com/JOJ0/synadm))
Command line admin tool for Synapse (Matrix reference homeserver)
[jacksonchen666](https://matrix.to/#/@jacksonchen666:jacksonchen666.com) announces
> 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](https://github.com/JOJ0/synadm/pull/105) (e.g. `/`), [automated releases](https://github.com/JOJ0/synadm/pull/108), and control over [whether certificates should be verified](https://github.com/JOJ0/synadm/pull/88).
>
> That's all the notable changes in synadm. But if you really want to get into the raw changelogs, you can [read all the commits](https://github.com/JOJ0/synadm/compare/v0.40...v0.41.2) or look at the [release notes](https://github.com/JOJ0/synadm/releases).
## Dept of Bots 🤖
### [Phish Bot](https://matrix.to/#/@phishbot:matrix.org)
[dzlandis](https://matrix.to/#/@dzlandis:mozilla.org) reports
> Introducing [Phish Bot](https://matrix.to/#/@phishbot:matrix.org), a Matrix bot that detects phishing/malicious links sent in your chat rooms and notifies users that the links are malicious.
> Invite [Phish Bot](https://matrix.to/#/@phishbot:matrix.org) to a room to get started.
>
> * Github: [`dzlandis/Phish-Matrix-Bot`](https://github.com/dzlandis/phish-matrix-bot)
> * Matrix Space: [`#phishbot:matrix.org`](https://matrix.to/#/#phishbot:matrix.org)
> * Support Room: [`#phishbotsupport:matrix.org`](https://matrix.to/#/#phishbotsupport:matrix.org)
> * Announcements Room: [`#phishbotannouncements:matrix.org`](https://matrix.to/#/#phishbotannouncements:matrix.org)
> ![](/blog/img/d3d16243a66bbb4ae18f8d89c8b563c28d84e77c.gif)
> ![](/blog/img/b1fb46415acee1833c8b35440b3da86548562809.gif)
### hasskbot the vacuum bot
[Oleg](https://matrix.to/#/@oleg:fiksel.info) reports
> Did you know you can control your robot vacuum cleaner via Matrix?
>
> How?
>
> Using [home-assistant](https://www.home-assistant.io) and [hasskbot](https://gitlab.com/olegfiksel/hasskbot)! 😉
>
> I added [the docs how to configure this](https://gitlab.com/olegfiksel/hasskbot/-/blob/master/examples/vacuum-robot-prompt.md).
>
> Similar approach can be used to control any entity in home-assistant via hasskbot.
>
> Hasskbot [v1.0.2](https://gitlab.com/olegfiksel/hasskbot/-/blob/master/CHANGELOG.md#v102) is now based on the latest [Opsdroid](https://opsdroid.dev) version, which includes [simpler logging when running in a container](https://github.com/opsdroid/opsdroid/pull/1929).
>
> ![](/blog/img/uDgAnRoQfLijdDUeJfzqJQwR.png)
## Dept of Events and Talks 🗣️
### Matrix Salon podcast
[Christian Paul (jaller94)](https://matrix.to/#/@jaller94:matrix.org) 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
Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server.
### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net)
Join [#ping:maunium.net](https://matrix.to/#/#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|invert.zone|444|
|2|envs.net|561|
|3|maescool.be|577|
|4|skladka.net|641|
|5|masfloss.net|993|
|6|zemos.net|1140.5|
|7|matrix.org|1177|
|8|mindlesstux.com|1221.5|
|9|maunium.net|1505.5|
|10|rom4nik.pl|2063|
### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net)
Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#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|skladka.net|174|
|2|herkulessi.de|459.5|
|3|777.tf|785|
|4|zemos.net|973|
|5|midnightthoughts.space|1780|
|6|matrix.org|1985|
|7|kernel-error.com|2264|
## That's all I know
See you next week, and be sure to stop by [#twim:matrix.org](https://matrix.to/#/#twim:matrix.org) with your updates!