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

16 KiB

+++ 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 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.

Merged MSCs:

Spec Updates

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 🏢

Construct (website)

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 📱

Quaternion (website)

A Qt5-based IM client for Matrix

kitsune 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. 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 dev).

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!

Ștefan 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)

Cinny is a Matrix client focused on simplicity, elegance and security

Lozenge says

Cinny v2.2.6

Security release

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 and a live demo here.

Dept of Non Chat Clients 🎛️

Chess client on Matrix ♟️

Bram 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 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

Aine 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 (has binary releases) and say "hi!" in the #emm:etke.cc

Dept of SDKs and Frameworks 🧰

Elm SDK - first test client

Bram reports

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.

For this reason, the final phase of developing the Elm 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.

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)

Multiplatform Kotlin SDK for Matrix

Benedict announces

Trixnity v3.6.0 is released. There is also a website with documentation 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)

Command line admin tool for Synapse (Matrix reference homeserver)

jacksonchen666 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 (e.g. /), automated releases, and control over whether certificates should be verified.

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 or look at the release notes.

Dept of Bots 🤖

Phish Bot

dzlandis reports

Introducing Phish Bot, a Matrix bot that detects phishing/malicious links sent in your chat rooms and notifies users that the links are malicious. Invite Phish Bot to a room to get started.

hasskbot the vacuum bot

Oleg reports

Did you know you can control your robot vacuum cleaner via Matrix?

How?

Using home-assistant and hasskbot! 😉

I added the docs how to configure this.

Similar approach can be used to control any entity in home-assistant via hasskbot.

Hasskbot v1.0.2 is now based on the latest Opsdroid version, which includes simpler logging when running in a container.

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

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 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

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 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 with your updates!