matrix.org/content/blog/2020/04/2020-04-24-this-week-in-mat...

263 lines
14 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

+++
title = "This Week in Matrix 2020-04-24"
date = "2020-04-24T19:39:02Z"
updated = "2020-04-24T19:23:28Z"
path = "/blog/2020/04/24/this-week-in-matrix-2020-04-24"
[taxonomies]
author = ["Ben Parsons"]
category = ["This Week in Matrix"]
[extra]
image = "https://matrix.org/blog/img/2020-04-24-I3XIM-image.png"
+++
## Matrix Live 🎙
{{ youtube_player(video_id="IwOSQ9X4_I8") }}
Some snapshots of what the team has been working on. Look out for a clear explanation from Erik about Synapse performance (and what will be done about it!), and lots of other goodies
## Dept of *Status of Matrix* 🌡
### Tchap used by French fire and rescue services
[Brendan](https://matrix.to/#/@brendan:abolivier.bzh) announced:
> Tchap, the Matrix deployment in the French government, recently opened to French fire and rescue services: <https://twitter.com/_DINUM/status/1243595481449717761>
>
> Rescue18 (a French non-governmental news website for emergency services) [echoed this announcement](https://rescue18.fr/actu/tchap-lapplication-de-messagerie-de-letat-maintenant-disponible-pour-les-sapeurs-pompiers/) earlier this month, praising the security aspect of the platform and the possibility it offers to improve social and professional exchanges throughout the hierarchy as well as the rest of the government and public services.
Article is all in some other language - thanks Brendan for providing this summary.
## Dept of Spec 📜
[anoa](https://matrix.to/#/@andrewm:amorgan.xyz) said:
> Here's your weekly spec update! The heart of Matrix is [the specification](https://matrix.org/docs/spec) - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at <https://matrix.org/docs/spec/proposals.>
>
> ### MSC Status
>
> **Merged MSCs:**
>
> * *No MSCs were merged this week*
>
> **MSCs in Final Comment Period:**
>
> * *No MSCs are currently in FCP*
>
> Well, [MSC2457](https://github.com/matrix-org/matrix-doc/pull/2457) should be. It's waiting for a redeployment of [mscbot](https://github.com/mscbot).
>
> **New MSCs:**
>
> * [MSC2513: On membership event content properties.](https://github.com/matrix-org/matrix-doc/pull/2513)
>
> ### Spec Core Team
>
> We've switched up our focus to the following MSCs: [MSC2366](https://github.com/matrix-org/matrix-doc/pull/2366) (verification flows), [MSC2454](https://github.com/matrix-org/matrix-doc/pull/2454) (SSO UI Auth), and [MSC2472](https://github.com/matrix-org/matrix-doc/pull/2472) (Symmetric SSSS). Expect a blog post next week describing the new [MSC categories](https://github.com/matrix-org/matrix-doc/pull/2507).
## Dept of Servers 🏢
### Synapse
[Neil](https://matrix.to/#/@neilj:matrix.org) said:
> Last week
>
> * Shipped [1.12.4](https://matrix.org/blog/2020/04/23/synapse-1-12-4-released) a patch release to fix some cross signing related bugs.
> * Redis support to replace our existing cross replication system, merged to develop. This is a precursor to the sharding project. We have a PR to support cache invalidation across workers which, once merged should make it relatively easy to pull off event persistence from the master process. Just removing event persistence could give some decent perf wins, but the prize is then splitting persistence to run across across multiple workers.
>
> * A final PR to support SSO for user interactive auth will merge imminently, thereby freeing up full cross signing support for worker installs.
> * Aside from that weve been working on fixing a weird bug where rooms can end up with zero forward extremities and generally showing Sygnal some love.
>
> Upcoming
>
> * Put Redis into production
> * Ship 1.13.0 which will contain Redis support as well as a host of SSO bug fixes.
>
> * Merge our new caching config logic to give finer granularity on cache settings.
> * Merge cache invalidation and try to get events persistence running in its own worker.
Ben added:
> Cross signing, oh cross signing! Can you believe it‽ Cross signing!!!
### Matrix Corporal
[matrix-corporal](https://github.com/devture/matrix-corporal) manages your Matrix server according to a configuration policy
[Slavi](https://matrix.to/#/@slavi:devture.com) reported:
> [matrix-corporal](https://github.com/devture/matrix-corporal) v1.9.0 has been released. It adds support for preventing certain users from creating rooms (that is, from using the `/createRoom` API). I've been thinking about developing this feature for a while now, as people have been requesting it frequently.
### matrix-media-repo
[matrix-media-repo](https://github.com/turt2live/matrix-media-repo) is a highly customizable multi-domain media repository for Matrix
[TravisR](https://github.com/turt2live) announced:
> v1.1.2 is out with a bunch of fixes to the Docker image. Check out <https://github.com/turt2live/matrix-media-repo/releases/tag/v1.1.2> for details, and #media-repo:t2bot.io for support.
### Conduit
Conduit is a Matrix homeserver written in Rust <https://conduit.rs>
[timo](https://matrix.to/#/@timo:koesters.xyz) told us:
> Conduit is a Matrix homeserver written in Rust <https://conduit.rs>
>
> This week I worked a lot on getting the first bit of federation working. My goal was to query the public room list of another server and forward it to a client.
>
> This involved setting up a keypair to sign the json I send to the server and putting authorization headers into my requests. Most of the work is already done and <https://federationtester.matrix.org/> reports it's all good.
![2020-04-24-I3XIM-image.png](/blog/img/2020-04-24-I3XIM-image.png)
> Sadly there seems to be a problem with the signing, because other homeservers reject requests: `Unable to verify signature: <class 'nacl.exceptions.BadSignatureError'> Signature was forged or corrupt`. I'll continue to work on this in the next week(s).
>
> Thanks to my supporters on [Liberapay](https://liberapay.com/timokoesters).
### Dendrite / gomatrixserverlib
Dendrite is a next-generation homeserver written in Go
[Neil Alexander](https://matrix.to/#/@neilalexander:matrix.org) said:
> * Dendrite now supports perspective key fetching as a configurable option, and will automatically attempt to use the perspective key servers for keys that couldn't be fetched directly
>
> * Dendrite now uses a newer version of the Sarama library
> * Some caching has been added to the roomserver API for room versions, which should help quite a bit with performance over federation and handling transactions
>
> * Auth checks for `/send_join` are now quite a bit more robust
> * A bug has been fixed where the default state filter limited the amount of room state that was visible after a join
>
> * gomatrixserverlib has quite a bit of new support for backfilling now, which will be wired into Dendrite soon
> * gomatrixserverlib has new primitives for v2 invite responses and `/get_missing_events` requests
>
> * Invite support is being worked on currently, which should also enable support for creating DMs in Riot
## Synapse Deployment 📥
### Kubernetes
[Ananace](https://matrix.to/#/@ace:kittenface.studio) told us:
> A bit late to the party - was rebuilding my cluster at home to EL8 - but pushed the [Kubernetes-optimized docker images](https://github.com/ananace/matrix-synapse) for Synapse 1.12.4
### Docker-matrix
[Mathijs](https://matrix.to/#/@mathijs:matrix.vgorcum.com) reported:
> The image for synapse v1.12.4 including jemalloc and mjolnir anti-spam has been released to [avhost/docker-matrix:v1.12.4](https://hub.docker.com/r/avhost/docker-matrix).
## Dept of Clients 📱
### telepathy-tank
[aa13q](https://matrix.to/#/@aa13q:matrix.org) told us:
> Matrix native integration for the Sailfish OS, KDE and other linux systems called [telepathy-tank](https://github.com/TelepathyIM/telepathy-tank) got attertion from the community this week and @aa13q updated it a bit thanks to @Kaffeine. Writing the post for the TWIM has grown into the small blog post, so @aa13q shared it sepatetely: <https://hackmd.io/@aa13q/telepathy-tank>
### Nheko
[Nheko](https://github.com/Nheko-Reborn/nheko) is a desktop client using Qt, Boost.Asio and C++17. It supports E2EE (with the notable exception being device verification for now) and intends to be full featured and nice to look at
[Nico (@deepbluev7:neko.dev)](https://matrix.to/#/@deepbluev7:neko.dev) offered:
> Nheko released two new version, 0.7.0 and 0.7.1. The second one mostly fixes some minor issues in the 0.7.0 release, which we got from all the people trying it out. Thanks for reporting them!
>
> Since 0.7.0 is pretty big, please read the release notes on github: <https://github.com/Nheko-Reborn/nheko/releases/tag/v0.7.0>
>
> Some of the highlights:
>
> * Support for rich replies
>
> * Support for encrypted media
> * .well-known support
>
> * Mute/Unmute rooms
> * Key import compatibility fixes for Riot
>
> * Reduced memory usage, performance optimizations and fixes for some nasty memory corruption and crashes
>
> You can get the latest release on [github](https://github.com/Nheko-Reborn/nheko/releases) or maybe someone actually [packaged it already for your distro](https://repology.org/project/nheko/versions).
>
> We hope you will try it out and have a good experience! If you don't, you can complain to us in [#nheko-reborn:matrix.org](https://matrix.to/#/#nheko-reborn:matrix.org) or open an issue in our [bugtracker](https://github.com/Nheko-Reborn/nheko/issues).
### gomuks
[gomuks](https://maunium.net/go/gomuks) is a terminal based Matrix client written in Go. [Source on GitHub](https://github.com/tulir/gomuks)
[Tulir](https://matrix.to/#/@tulir:maunium.net) announced:
> gomuks got a fancy initial sync loading bar so it no longer looks like it's broken after you log in. Implementing end-to-end encryption in mautrix-go has also been slowly progressing, might have something working in a few weeks.
### Riot Web
A glossy Matrix collaboration client for the web. <https://riot.im>
[Ryan](https://matrix.to/#/@jryans:matrix.org) offered:
> This week we released a fourth RC for Riot Web 1.6, the upcoming release with cross-signing, addressing a few issues found through everyone's testing and feedback. Please do continue to test <https://riot.im/develop>, the [latest RiotX build](https://buildkite.com/organizations/matrix-dot-org/pipelines/riotx-android/builds/2460/jobs/4f4af0b6-6cde-4ddd-b25a-0c4f1db40eb3/artifacts/1c8e1db0-46fb-4cb9-a96f-297b9523f219), and also E2EE search in [Riot Desktop Nightly](https://packages.riot.im/nightly/install/).
CROSS-SIGNING!
## Dept of SDKs and Frameworks 🧰
### matrix-spring-boot-sdk
[Benedict](https://matrix.to/#/@benedict:imbitbu.de) told us:
> I created an client-sdk to interact with matrix in Spring Boot. It is written in kotlin and should also work with Java. You can find the repo here: <https://github.com/benkuly/matrix-spring-boot-sdk>
>
> It contains also a bot-sdk to write bots by adding a dependency and a few lines of code only.
> It is tested with unit-tests, but integration-tests against a real matrix-server are currently missing. A simple ping bot works and is also integrated in the repo as example.
>
> Currently I'm working on getting this to Maven Central.
## Dept of Ops 🛠
### matrix-docker-ansible-deploy
This [Ansible playbook](https://github.com/spantaleev/matrix-docker-ansible-deploy) is meant to easily let you run your own Matrix homeserver.
[Slavi](https://matrix.to/#/@slavi:devture.com) told us:
> Thanks to [Rodrigo Belem](https://github.com/rbelem)'s efforts, [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy) now supports bridging to [Slack](https://slack.com) via the [mx-puppet-slack](https://github.com/Sorunome/mx-puppet-slack) bridge. See our [Setting up MX Puppet Slack bridging](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-bridge-mx-puppet-slack.md) documentation page for getting started.
## Dept of Interesting Projects 🛰
### Doctor Who watchalongs
[Brendan](https://matrix.to/#/@brendan:abolivier.bzh) offered:
> As per the [previous edition of TWIM](https://matrix.org/blog/2020/04/17/this-week-in-matrix-2020-04-17#doctor-who-confinement-watchalongs), we had a blast on Sunday watching and reacting to Doctor Who episodes The Stolen Earth and Journey's End.
>
> The next watchalong will be this Friday (Apr 24th), and we'll be watching another two-parter together, Human Nature & The Family of Blood, starting from 7PM BST! Guests such as Paul Cornell (writer), Charles Palmer (director) & Lor Wilson (Lucy Cartwright aka Daughter of Mine) will also be discussing the episode along for even more fun and behind the scenes!
>
> This means that if you're reading this when this edition of TWIM goes out, and you fancy watching some Doctor Who this evening, join the fun at [#doctor-who-watchalong:abolivier.bzh](https://matrix.to/#/#doctor-who-watchalong:abolivier.bzh) 😀
>
> And if not, feel free to join the room anyway to find out when the next watchalong is happening 🙂
## 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. 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|fairydust.space|321|
|2|envs.net|363|
|3|maunium.net|420|
|4|nerdsin.space|421|
|5|maescool.be|470|
|6|lyseo.edu.ouka.fi|773|
|7|mjdsystems.ca|820|
|8|fab.network|832.5|
|9|eisfunke.com|1048|
|10|matrix.nilux.be|1275|
## That's all I know 🏁
See you next week, and be sure to stop by [#twim:matrix.org] with your updates!
[#TWIM:matrix.org]: <https://matrix.to/#/#TWIM:matrix.org>