Dept of Status of Matrix 🌡

Meetup Event in London

This week Matrix held a Meetup Event in London! There were presentations demonstrating E2E Cross-Signing (including the next, sleeker QR codes), P2P in the browser with Dendrite, Message retention, and Github bridging. There was also plenty of P2E* and B2D**.

You can catch up on what was missed by watching this week's Matrix Live (below), or check out the full event playlist, particularly the P2P with Dendrite demo.

* Pizza to eat

** Beer to drink

version1 podcast featured Matrix!

Éibhear told us:

Hi TWIM, I don't know if you've noted this yet, but I got my company to interview Matthew and Amandine on their podcast: https://www.version1.com/one-zero-one/matrix-org/. Éibhear

Matrix Live now available as an audio podcast

Reminder that Matrix Live is also available as an audio-only podcast. You can find the it:

Google Summer of Code

Last week we announced that Google had selected Matrix for the Google Summer of Code progamme, and requested projects get involved under the Matrix banner. We had a great response to this call: Ditto, Ruma, opsdroid and Nheko are all offering projects this year, as well as projects under the core Matrix team.

We updated suggested projects list (more to come), so if you're a student please take a look. Think about what you'd like to work on, get involved with suggested projects, and join #gsoc:matrix.org to discuss.

Dept of Spec 📜

Spec

anoa offered:

Here's your weekly spec update! MSC Status Merged MSCs: No MSCs have been merged this week. MSCs in Final Comment Period: No FCPs have entered Final Comment Period this week. New MSCs: MSC2444: peeking over federation via /peek

MSC2448: Using Blurhash in Media Events Spec Core Team Next week the Spec Core Team is focusing on MSC implementation.

Dept of Servers 🏢

Dendrite / gomatrixserverlib

Neil Alexander told us:

Experimental support for state res v2 (and, by extension, room version 2) is now in a PR and undergoing testing

The hashing algorithm has been fixed which improves federation reliability with Synapse

A significant number of SQLite bugs have been fixed and we now have the ability to run Sytest against Dendrite in SQLite mode

Kegan has been doing great work on building Dendrite for WASM and running it in the browser as a Service Worker!

Sending EDUs in transactions with no PDUs has been fixed, which also seems to fix sending outbound typing notifications

Sydent

Brendan announced:

Sydent v2.0.0 has just been released! 🎉 The biggest changes in this release are the privacy improvements we've worked on last year, along with Python 3 support and improved documentation. More details can be found in the full changelog, and folks can get their hands on this new version from PyPI or from GitHub 🙂

matrix-media-repo v1.0.1 patch

TravisR reported:

matrix-media-repo got a v1.0.1 patch release to fix a memory leak. Downloads and the very small changelog available at https://github.com/turt2live/matrix-media-repo/releases/tag/v1.0.1

Matrixmon v0.5.0

jaywink said:

Matrixmon, the perl based c2s probe with metrics to track your Synapse server client API responses is now at v0.5.0 and now allows using an access_token for the probe user.

Synapse

anoa reported:

This week Erik been tackling the work on sharding the master process in Synapse, Patrick has been working on the new room alias semantics while richvdh has been doing some background preparation to allow us to change the way events are redacted in future room versions. Next week: SSO/User Interactive auth is still in the pipeline, alongside an option to allow users to change their password without logging out their other devices, and of course, more sharding.

Dept of Ops 🛠

arm64 support for all Tulir-projects:

The docker images of my projects (specifically mautrix-{telegram,whatsapp,facebook,hangouts} bridges, maubot and mautrix-manager) now support arm64 in addition to amd64. They're multiarch images, so the same tag will work with both architectures.

Dept of Clients 📱

Nheko

Nico (@deepbluev7:neko.dev) offered:

adasauce fixed the settings page to properly display on narrow screens, like the PinePhone or Librem5

We fixed rooms being stuck on unread. This only applies for rooms, where you receive an event after you updated.

Avatars should now render in high res on high dpi screen with display scaling enabled.

We fixed some smaller annoyances regarding what happens, when clicking elements of replies and the reply button now only shows on hover (or tap on the right side, like the timestamp, on mobile)

We fixed the logic around user interactive authentication needed for registration, which means you should be able to register on servers using recaptcha and other registration requirements again! Note that this currently doesn't seem to work on servers, that use workers. This may be because of a synapse bug, but the jury is still out, it may still be our fault ;-)

We wrote some proposals for GSoC, which Nheko was invited to participate in under the matrix.org umbrella.

Someone packaged Nheko for Guix!

Nheko in Guix

That "someone" was nixo:

nheko-reborn is now available on the guix package manager! Guix feature reproducible builds, allowing users to verify the binary cache correctness, and the possibility to create tarball/docker images to easily share the build results with all dependencies to systems without guix package manager. Guix also aims at reducing bootstrap binaries to a minimum (see this blog post for example), reducing the effect of trusting trust attacks. Those properties led guix to be the package manager of choice for bitcoin development.

Riot Themes

Last week Aaron said:

I made a place where you can post Riot Web themes https://github.com/aaronraimist/riot-web-themes

Which like the flap of a butterfly wing has caused a series of events:

A Nord Theme for Riot!

Dylan announced:

If you have your own build of riot-web you can simply modify the config.json and add this theme to it! GitHub: https://github.com/aaronraimist/riot-web-themes#nord-theme

A wild Discord themed Riot has appeared!

Dylan reported:

If you have your own build of riot-web you can simply modify the config.json and add this theme to it! GitHub: https://github.com/aaronraimist/riot-web-themes#discord-dark-theme

matrix-docker-ansible-deploy support

Slavi reported:

matrix-docker-ansible-deploy now makes it easy to install custom riot-web themes, either by having you manually define them or by automatically pulling whatever themes are available in aaronraimist/riot-web-themes. To learn more, take a look at our riot-web documentation on Themes.

Fractal

Alexandre Franke announced:

Our current Outreachy intern implemented many nice media related things. Videos now have a preview playing directly in the room history and clicking on them opens a player view with the usual controls.

Audio messages have a nicer presentation too. The audio player downloads the whole file to make seeking possible. The narrow view (used e.g. on the Pinephone and Librem 5) gained a new swipe-back gesture to go back from room to room list

gomuks

Tulir said:

gomuks now has support for lazy-loading room members, which might mean that small servers won't explode when gomuks does an initial sync.

RiotX 0.17.0

benoit reported:

RiotX: We have released version 0.17.0: new attachment management, with media preview and edition. This release also contains a lot of bug fixes. We are also still working on cross-signing implementation.

Riot iOS

steve told us:

This week we continued to implement verification by QR code at application and SDK level.

Dept of Interesting Projects 🛰

Matrix Notepad

KB1RD offered:

Finally, version 0.2.0 is here, which... Introduces the new version of logootish-js

Gets ready for conflict resolution systems

Fixes some (but not all) bugs encountered (thanks to the new algo)

Removes the debug panel in favor of native browser console based debug

Dept of SDKs and Frameworks 🧰

nio template

anoa told us:

...is a template repo based on the matrix-nio library that you can use to get quickly up and running with making simple, yet powerful matrix bots in Python! 🔒️ Encryption Support is now built-in 🎉! This does shift the login model from access token to username/password. Note that by entering a device id however, you won't be creating a new device every time you start up the bot! Other notable fixes: /sync is no longer spammed! This should take some load off of your homeserver.

is no longer spammed! This should take some load off of your homeserver. Config file parsing is a lot simpler now by way of a _get_cfg method, which allows you to easily device down into yaml dictionaries, set default values, mark whether a config value is required etc. Thanks to alturiak for motivating me to make these changes :) The repo is https://github.com/anoadragon453/nio-template, and room is #nio-template:amorgan.xyz.

Dept of Bridges 🌉

sorunome told us:

mx-puppet-bridge received a few additions: tulir made a PR to add a provisioning API - said PR is already merged. Thanks a lot!

Way better relay mode: You can now configure individual puppets to be a relay rather than a puppet. Additionally you can configure default room visibility and autoinvite.

Don't unbridge a room on leaving anymore - it will remain bridged. You can get invites to rooms via the new invite command. With the knock MSC it will also be possible to get an invite via a knock. If you have any questions, please join our support chat and maybe consider to donate. Thank you! mx-puppet-slack tulir made a PR for custom provisioning API endpoints. It is already merged. Thanks a lot! mx-puppet-tox mx-puppet-tox is finally functional again! It is updated to the latest mx-puppet-bridge library, giving it all the new features. Yay!

Dept of Bots 🤖

Hemppa the bot

Cos reported:

Hemppa the bot gained ability to run shell commands via Matrix. It's a small feature but enables a lot of possibilities in system management and monitoring, home automation, and whatever you can do in linux shell. As an example project I plan to use it for running a script to open hackerspace door with Raspberry Pi's GPIO if sender is a member. https://github.com/vranki/hemppa

remindbot the bot

stefan announced:

remindbot got support for reacting when mentioned. This allows the bot to be used in rooms with more than 2 participants. The timespec got a minor update, supporting now the variant tomorrow HH:MM . Furthermore, the bot now sends a reaction when a notification has been scheduled instead of a noisy message.

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. 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 gottliebtfreitag.de 334 2 envs.net 349.5 3 imninja.net 425.5 4 swag.industries 427 5 maunium.net 431 6 maescool.be 594 7 shortestpath.dev 632 8 matrix.vgorcum.com 657 9 utzutzutz.net 688 10 matrix.m31.zone 712

That's all I know 🏁

See you next week, and be sure to stop by #twim:matrix.org with your updates!