Matrix Live 🎙

Matthew talks to Kegan and Neil about the status of P2P Matrix, and about Dendrite development.

You will know Matrix Live as a weekly video produced by the Matrix team and shared on YouTube. We are now offering the same content as an audio-only podcast, as a way of reaching more people. You can find the podcast:

Dept of Status of Matrix 🌡

Matthew on The Changelog podcast

Matthew announced:

The Changelog invited me to do a podcast on all things Matrix - the 90 minutes of high density braindump can be found over at https://changelog.com/podcast/384

Google Summer of Code

We are still welcoming GSoC students who want to apply to work on Matrix projects this summer. You can browse the suggested projects list or submit your own by chatting in the appropriate project room or #gsoc:matrix.org. Student applications begin on Monday!

Dept of Servers 🏢

Dendrite / gomatrixserverlib

Neil Alexander announced:

The P2P in-browser demo has been improved to use a single set of keys, like the previous Go demo

The P2P code no longer performs unnecessary federation requests to find server keys when they can be derived from the node ID

Other hardening bits for the P2P demo

Fixed a race condition in Dendrite when creating guest accounts

Room version work is progressing still

Matthew also mentioned the work that is going on with Dendrite P2P:

We've got our first ever public Riot running with P2P Matrix, by compiling Dendrite to WASM and embedding it in the browser as a service worker. It's still quite early, but you can try to play with it now at https://p2p.riot.im. You can hear (and see!) all about it in this week's Matrix Live.

It's using libp2p (IPFS's network layer) for P2P, coordinating via our shiny new libp2p websocket rendezvous server at https://rendezvous.matrix.org:8443

Lots of limitations still: the room directory isn't hooked up; it doesn't persist your database yet; and no store-and-forward for users who are offline.

Meanwhile Neil has been making good progress on v3, v4 and v5 room versions in Dendrite

Spent a few days in London discussing the shape of P2P and Dendrite to come... watch this space ⭕️

Synapse

Neil reported:

This week we’ve been working on alias abuse support, fixing a SSO limitation with user interactive auth which will allow SSO users to deactivate devices etc. We’ve also fixed a few SSO registration bugs and are currently investigating a push problem causing push to be delayed for certain users. Next week more of the same, plus a return to Synapse performance work.

Synapse available on OpenBSD

Synapse is now available on OpenBSD from ports. https://marc.info/?l=openbsd-ports-cvs&m=158368701415531&w=2

Thanks Linda for making us aware.

Dept of Clients 📱

Quotient prgressing to 0.6

kitsune announced:

Quotient is getting traction again, with 0.6 release finally in sight. This week a long standing PR from aa13q has been merged with a few (still very much work-in-progress) E2EE additions. One notable change is that by default the master branch (and the upcoming release) now builds without E2EE. This is to relieve packagers from a chore of adding E2EE dependencies (QtOlm and olm) for not much merit, while the work on E2EE stack for Quotient continues. In the meantime, the recommended way of using E2EE with Quotient-backed clients is to use pantalaimon next to your client application.

Nheko

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) reported:

One could say not much exciting stuff happened. Emily contributed a fix, that drops the filesystem access requirement from the nheko flatpaks. Otherwise I've heard someone working on hiding events in the timeline and some random branches named device-verification appeared. We'll see, where that will lead...

Riot Web

Ryan announced:

v1.5.13-rc.1 available on staging with some more goodies like an option for alphabetically sorted room list, an option to dismiss the read marker and a fix for the right panel causing scroll jumps. Cross-signing work continues and is tantalisingly close to completion for release!

Interesting article about using matrix-client.el with Pantalaimon

gergely offered:

Some folks over at #matrix-client.el:matrix.org suggested i should submit my article here. Itʼs about making matrix-client.el able to participate in encrypted rooms via Pantalaimon.

FluffyChat for Android

krille said:

There is a new FluffyChat for Android version in the F-Droid repository: Improved design

Minor bug fixes

End2End encryption for normal messages (not yet files)

Key sharing

Device keys verification UI The encryption feature still needs some testing but should be fully compatible with Riot so far.

Paul added this link which krille previously wrote: https://ko-fi.com/post/FluffyChat-for-Android-and-iOS-S6S71BMEY

And finally:

You can find the F-Droid repository at http://fluffy.chat

RiotX

valere announced:

RiotX 0.18.0 has been released: Improvements 🙌: Share image and other media from e2e rooms (#677)

Add support for /plain command (#12)

command (#12) Detect spaces in password if user fail to login (#1038)

FTUE: do not display a different color when encrypting message when not in developer mode.

Open room member profile from avatar of the room member state event (#935)

Restore the push rules configuration in the settings Bugfix 🐛: Fix crash on attachment preview screen (#1088)

"Share" option is not appearing in encrypted rooms for images (#1031)

Set "image/jpeg" as MIME type of images instead of "image/jpg" (#1075)

Self verification via QR code is failing (#1130) SDK API changes ⚠️: PushRuleService.getPushRules() now returns a RuleSet. Use getAllRules() on this object to get all the rules. Build 🧱: Upgrade ktlint to version 0.36.0

Pipeline file for Buildkite is now hosted on another Github repository: https://github.com/matrix-org/pipelines/blob/master/riotx-android/pipeline.yml Other changes: Restore availability to Chromebooks (#932)

Add a documentation to run integration tests

Manu said:

We have been working mainly on cross-signing verification. The QR code verification code has landed in the SDK. Now we are attacking the UI.

Dept of SDKs and Frameworks 🧰

Ruby SDK

Ananace reported:

Just released version 2.0.1 of the Ruby SDK - which should probably by 2.1.0 but I'm apparently quite tired today - adding support for non-final MSCs without polluting the main APIs. Currently only MSC2108 - Sync over Server Sent Events - is implemented, but more MSCs can easily be plugged in as wanted. As always, #ruby-matrix-sdk:kittenface.studio is available for discussion and questions.

Dept of Bots 🤖

MTRNord reported:

The auto-invite-matrix-bot utility bot now not only can relay invites to one primary account but it also is relaying mentions from your secondary accounts to your primary account now! Check it out at: https://github.com/MTRNord/auto-invite-matrix-bot

CoV Tracking Bot

You may have learned that recorded cases of COVID-19 are increasing exponentially. Also increasing exponentially are updates from Peter Roberts, who has developed a maubot to help provide information:

My first maubot! It tracks SARS-COV-2 statistics using data from https://offloop.net/covid19/ and was inspired by BrainstormBot on freenode IRC. It's running as @covbot:shortestpath.dev. Send !cases for world-wide stats or !cases <location> for something more specific. E.g. !cases US . v0.0.1 MIT licensed and on GitHub.

he continued

I've done a flurry of updates today: Searching is now limited to countries until search is improved more. I'll add region breakdowns back in soon!

When the bot has multiple matches for your search it will let you know what they are and ask for more details. It's running as @covbot:shortestpath.dev. Send !cases for world-wide stats or !cases <country> for more specifics. E.g. !cases Italy . v0.0.4 MIT licensed and on GitHub.

and then

Another update: Search within states / regions / counties.

Better feedback on ambiguous matches.

Made unreliability of recoveries clear in the messaging.

Made the messaging clearer when there are no matches. v0.0.5 MIT licensed and on GitHub

and most recently

A few more changes: Improve search for provinces / regions / states / counties / areas.

Add case numbers as well as percentages.

Format numbers nicely for humans to read.

Add a !help command.

command. Add a !source command to get details on the bot source code and data.

command to get details on the bot source code and data. Improve handling when fetching the latest data fails.

Improve handling of malformed data. v0.0.9 MIT licensed on GitHub.

You can invite @covbot:shortestpath.dev to your own room to catch the latest.

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 imninja.net 341 2 envs.net 342 3 maescool.be 346 4 nct08.de 420 5 maunium.net 454 6 utzutzutz.net 463 7 pixie.town 496 8 shortestpath.dev 508 9 selfhosted.eu 618 10 swag.industries 684

Final Thoughts 💭

Last week we featured a new stickerpack, Isabella, check out the composite image below!

I got to use a sneak preview of Riot nightly on Electron earlier, look out for more news on that soon if that's your thing.

That's all I know 🏁

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