Matrix Live 🎙
Dept of Spec 📜
Here's what happened in spec land this week:
- MSC 1756: cross-signing devices using a master identity key
- MSC 2313: Moderation policies as rooms (ban lists)
Final Comment Period:
- MSC 2324: Facilitating early releases of software dependent on spec
- MSC 2367: Add reason field to all membership events
Dept of Servers 🏢
This week we put out Synapse 1.6.0, and 1.6.1 checkout all the juicy details in the blog post. Aside from that message retention and ephemeral message support continues and we expect the latter to merge early next week.
The next big thing we’ll be looking at is sharding out the Synapse master process so that instances running in worker mode can make full use of the CPU power available. This will make a big difference to matrix.org.
Several packaging projects have been updated to deploy the new version
- matrix-docker-ansible-deploy from Slavi
- avhost/docker-matrix and mvgorcum/docker-matrix from Mathijs
- Mathijs was also happy to remind everyone of Docker itself
- Kubernetes from Ananace
- multi-arch synapse docker image from Black Hat
Additionally, from JCG:
Synapse 1.6.1 has been packaged for VoidLinux, FreeBSD and Alpine Linux, with NixOS waiting to have the PR updating it to 1.6.1 merged. Synapse 1.6.0 has been packaged for Debian Unstable and Ubuntu 20.04.
Docker for synapse-ldap
The container image with the updated LDAP auth provider over at https://gitlab.com/famedly/container/synapse-ldap/container_registry has been updated to 1.6.0 too.
Matrix over Yggdrasil
Timothée has been working on a university project to integrate the Yggdrasil library into the CoAP proxy, which allows Matrix homeservers to federate over a pure Yggdrasil connection instead of using IP. The Yggdrasil portion gives full reachability and traffic forwarding between nodes in the mesh even in complicated topologies, and end-to-end encryption as an additional benefit
As a reminder,
Yggdrasil is a proof-of-concept mesh network that is designed to avoid the scaling issues that we've seen in the past with existing mesh systems. It uses a spanning tree-based topology and aims to make all nodes in the mesh fully routable, even at massive scale
Department of Matrix jobs 👩💻
New Vector (the startup which the original Matrix team founded in order to hire folks to work on Matrix as their day job) are currently hiring people so if you ever wanted to work on Matrix full time get in touch.
We are remote friendly though find it easier to hire people in some territories than others, so if you have any questions just ask.
On top of this, Neil Alexander, creator of Seaglass and maintainer of Yggdrasil, will be joining New Vector. He said:
I shall most likely be working with the backend team on Synapse/Dendrite and I think there's a couple of other things like the coap-proxy too
Dept of Bridges 🌉
I made two pull requests to Sorunome's mx-puppet-bridge projects:
My fellow comrades, today we have released 0.14.0-rc1 of the IRC bridge. The changes are massive and vast, and frankly it probably could have been done in 2 or 3 releases. At any rate, this release contains support for PostgreSQL Datastores and Sentry monitoring, amongst other small quality of life changes. The bridge has also had a total refactor using Typescript, and it's a little bit nicer to look at now.
Dept of Clients 📱
Redesign of Ditto is out!
Annie told us:
- Ditto is now redesigned with a fresh new look!
- Login, send / receive messages, logout
- On Deck:
- Notifications, writing a new message (in that order)
Come chat about UX and things you'd like to see in Ditto!
Matrix room: #ditto:elequin.io
nio, new client for iOS
I spent the last few days building my Matrix client Nio 😄 Apple just approved a very early first alpha for TestFlight distribution. It really doesn't do a lot aside from account authentication and displaying recent chats and messages. It is able to handle e2e encryption, but unfortunately doesn't persist the encryption keys right now (meaning it loses them and re-requests them from other clients on being restarted). It's built on SwiftUI and runs on iOS (iPhone and iPad). The app will likely not run as-is on macOS in the future, but I'd love to also build a separate version of Nio for macOS once the iOS app is functional.
Note that this is not connected to the existing Matrix project, matrix-nio.
Continuum and koma, client and library in Kotlin
koma, Kotlin library:
Continuum, desktop client based on koma, version 0.9.31:
- Implement minimal XML parsing without adding additional dependencies to extract user ID and name from
formatted_bodyused by Riot
- Display mentioned users with highlight and avatar.
- Continued work on setting up cross-signing and secret storage keys in labs
- Device verification is moving to the user info panel and happening via DMs also in labs
- Fixes for system theme and read receipts
- Improved signing for Windows builds
- Converting tests towards native promises
We have a new bottom sheet that we are going to use a lot in the coming designs. We used it in the widget permission screen. Meanwhile we are working on user verification by DM
We made a release this week with all the work around privacy for the use of an Integration Manager and widgets.
All flows for registration and login are now supported. Please test them on your specific homeserver configuration in case we miss something. We are also working on user verification by DM.
Dept of Ops 🛠
mvgorcum/docker-matrix:v1.6.1 is now on docker-hub
matrix-docker-ansible-deploy riot-web image
matrix-docker-ansible-deploy has switched from the bubuntux/riot-web Docker image to the official vectorim/riot-web image. There should be no visible changes for users. We're just hoping for faster releases by keeping closer to upstream.
Dept of Ping 🏓
That's all I know 🏁
See you next week, and be sure to stop by #twim:matrix.org with your updates!
The Foundation needs you
The Matrix.org Foundation is a non-profit and only relies on donations to operate. Its core mission is to maintain the Matrix Specification, but it does much more than that.
It maintains the matrix.org homeserver and hosts several bridges for free. It fights for our collective rights to digital privacy and dignity.Support us