Matrix Live 🎙

In which Matthew talks about:

Synapse perf speedup

installer

turn tester

extremities fix by default

security work

privacy work Riot privacy; IS and IM permissions and management. Hashed lookup API. Metadata cleanup (GCing redactions; deleting media; history retention); TURN management

aggregations paused

FTUE next up

Cross-signing

Immutable DMs

...then communities RiotX 0.3 came out last week - handles DMs; lots of polishing; reduces the APK down to ~10MB! Bridges moving stuff into proper managed infrastructure

bifrost should be back soon?

gitter kept breaking but we're actually working with their team to fix that

working out how to automate deploying them on modular hosts

Dept of Spec 📜

Approved MSCs

No MSCs have been approved.

In Progress MSCs

Dept of Servers 🏢

Ruma

Jimmy reported:

This Week in Ruma: https://www.ruma.io/news/this-week-in-ruma-2019-08-11/

He was also a guest of the Rustacean Station podcast this week:

Ruma and the Matrix Communication Protocol: An Interview with Jimmy Cuadra (Rustacean Station podcast): https://rustacean-station.org/episode/001-ruma/

Construct CS API progress

Jason said:

Construct implemented event relations from the client-server API. Now clients can view edit history of messages.

Learn more in #construct:zemos.net

Dendrite

anoa:

Progress for Dendrite this week has been a bit starved due to ongoing privacy work from the backend team. However it continues to move forwards with the excellent help of cnly reviewing and merging PRs. We had 3 authors have pushed 5 commits to master and 6 commits to all branches. On master, 14 files have changed and there have been 298 additions and 121 deletions. Notably we had trion129’s work on providing a fallback webpage for recaptcha authentication finally merged! This was another early PR that was dragged up from the bottom of the list to be modernised and integrated into the current codebase. Also this week was some work from cnly on refactoring gomatrixserverlib and exposing some more of its internal constants to deduplicate code between itself and Dendrite. Finally, we had some more work on an unmerged PR from cnly, which adds some internal query APIs for which servers are currently joined to a room, for use by other components later down the line. No new Sytests are passing this week. We’re still currently at 172 tests passing out of 761 tests in total.

Matrixmon, the perl C2S testing utility has been updated to v0.2.0 with support for SSL connections.

Synapse

Synapse 1.3.0 was released - check out the blog post.

contains performance improvements to reduce disk I/O and reduce RAM usage. We’ve been running it on matrix.org for a week or so and are really pleased with the results.

Ananace's k8s tooling, Slavi's matrix-docker-ansible-deploy and andrewsh's Debian packages were all updated within an hour of release, which is a great community achievement. 👏

Dept of Bridges 🌉

tulir said:

mautrix-telegram got some fixes to bugs that appeared during the move to mautrix-python. It also got a manhole similar to the one in synapse, which gives admins access to an interactive Python shell inside the bridge while it's running. The main part of the manhole (server and repl) is in mautrix-python, so you can expect the feature to appear in mautrix-facebook, mautrix-hangouts and possibly maubot in the future. mautrix-whatsapp and mautrix-hangouts can now automatically add rooms to a user-specific community to help with filtering. mautrix-facebook is also getting that feature in the near future. mautrix-facebook now has a search command, which means you can now actually initiate conversation with facebook users.

Dept of Clients 📱

Riot Web

From the team:

Privacy work continues

STUN fallback server for assisting with voice & video call negotiation (only used when your homeserver is not configured with it’s own TURN server) changed from Google to Matrix.org server and a prompt has been added to request permission before using the fallback server

Many small steps towards supporting user choice of identity servers and integration managers, including no identity server at all

Cy8aer said:

Users can now download artifacts from my gitlab account since I got an SDK container from CoDerus running, cross compiling to Sailfish-RPMs in the Gitlab-Ci. But my programming progress on master looks a bit silent because I swap to matrix-nio.

Fractal

Alexandre Franke told us:

Fractal nightlies are building again.

Continuum

yuforia told us:

Continuum: Reimplement ScrollBar for the message list view to make it more consistent with Riot Web. It has a flat appearance now and only appears when the mouse hovers over the list of messages. https://matrix.org/_matrix/media/r0/download/matrix.org/kVfBsoAsguMmESNThxnUmaTM

Rewrite the list view partially to handle lists with several types of items more efficiently. The message list has text messages, images, membership updates, etc. Each type needs to be rendered differently, but items of the same type could reuse GUI components when they scroll into and out of view.

Dept of Ops 🛠

K8s optimized images of Synapse RCs

Ananace offered:

Since the coming 1.3.0 release is bringing along a whole bunch of perf improvements, (and I want to test them out on my IO starved setup) I'm building K8s optimized images of the RCs. Only the debian version of the image though.

They expanded:

It's basically the regular docker image, only with some changes to make it fit nicer in Kubernetes

And there's no Helm chart at the moment, was poking at that for a bit but took a break from building one as I - back then - had trouble with the amount of data that had to be generated

You can only have one Synapse pod at any given time, as it's not scalable. Though you can scale it with workers (as I do myself)

Database-wise, I'm personally running three node HA clusters using Stolon

Dept of Services 🚀

New public instance: Permaweb.io

swedneck said:

We run a public instance on Permaweb.io for everyone to join. We’re a large community of developers focusing on the decentralized web, with lots of channels dedicated to IPFS. In fact, we even host Riot on IPFS! We make full use of Matrix’s bridging capabilities, to Discord, IRC, Slack, Gitter and Telegram too! Come join us at #general:permaweb.io or register at https://riot.permaweb.io/ (or any other compatible client) and say hi!

Dept of Bots 🤖

Notification/Remind-Me-Bot using matrix-bot-sdk

Anton (@antonivan:matrix.org) is working at Matrix Towers this summer for work experience. He's been learning about Matrix and matrix-bot-sdk:

This week I made a Notification/Remind-Me-Bot using Travis's bot sdk, it took me 1 and half days, and is able to - set reminder, check reminder, cancel reminder, set interval reminder, cancel interval reminder. It is also able to store multiple reminders and cancel them using the numbers 1 - ∞ . Here is a link to my Github repo - https://github.com/joakimvonanka/Matrix-Remind-me-bot

Dept of Event Videos 📹

Matrix talk @ FrOSCon

Oleg's talk at FrOSCon was apparently really well received:

Video recording from the Matrix talk @ FrOSCon. Video is in German slides in English. Video: https://media.ccc.de/v/froscon2019-2330-matrix

Slides: https://programm.froscon.de/2019/system/event_attachments/attachments/000/000/579/original/presentation.pdf

Channel: #FrOSCon:fiksel.info

He's also thinking of writing a guide to creating presentations:

If someone is interested on an efficient way of creating presentation using only open source tools I'm planing to write an article on that.

Small spoiler: matrix is one of them 😉

Final Thoughts 💭

This week, I have been mostly thinking about... merch. We blew the cache on stickers, so if you are waiting for stickers specifically and have not heard from me, that is probably why. Please contact me with any questions!

That's all I know 🏁

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