Matrix Live 🎙
Matrix Live now available as an audio podcast
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 Events and Talks 🗣
Are you interested in a real-life, real-time Matrix-related meetup? Can you make it to London? Join us on the 26th February at Second Home in Spitalfields! More details to follow, for now please register your interest at https://www.eventbrite.com/e/matrix-london-meetup-26th-february-2020-tickets-93320354693.
Dept of Spec 📜
Here's your weekly spec update from anoa!
- No MSCs have been merged this week.
MSCs in Final Comment Period:
No FCPs have entered Final Comment Period this week.
Spec Core Team
Next week the Spec Core Team is focusing on MSC implementation.
Dept of Servers 🏢
Neil Alexander told us:
- A big chunk of early SQLite work has been merged into
masterthis week, providing support in the client API, room server, sync API, account/device/key databases, federation APIs, appservice API, public room APIs and media API. Much of this is experimental at this stage.
- Some missing device management features have been merged (#835)
- Configuration is now passed by reference rather than by copy (#819)
- A number of defer-closes have been added to SQL queries (#844)
- Some gomatrixserverlib types have been updated (#808)
- Some initial work on retrying failed federation requests has been done, although not merged yet
- Made it through quite a few PR reviews finally, and will be continuing to do so!
Neil told us:
In Synapse land this week we shipped 1.10.0. Which contains a temporary hack to mitigate room alias abuse and an important bug fix for anyone trialling cross signing.
Aside from that we’re working on fixing alias abuse properly. Improving User Interactive Auth for SSO customers and rolled out our new py3 compatible sydent version.
Coming up, more e2ee UX bug fixing, and we’ll start hacking on sharding out event persistence on Synapse’s master process, which basically accounts for 40% of the CPU. The idea is to scale this function horizontally such that Matrix.org is no longer CPU bound after which point much rejoicing can occur.
Just pushed the 1.10.0 K8s-optimized images for Synapse, this release contains the necessary scripts to also run signing key generation and upload as a step towards one-click install support for Synapse without any requirements on storage classes.
Mathijs told us:
Dept of Bridges 🌉
Half-Shot told us:
Hey! This week we have a minor release for the IRC bridge, 0.15.2. It contains a few fixes that have been plaguing the matrix.org instances, and will hopefully smooth out some of the reconnection troubles.
Notes from the changelog:
Half-Shot told us:
Fresh off the heels of FOSDEM, we've been working on making Bifrost a smoother experience for our XMPP friends.
This week we released 0.1.5-0.1.8 which
contains quite the bundle of features and fixes. The bridge is now running on matrix.org, if you didn't hear the
news so give it a spin by following the instructions on the wiki
Iam happy to announce some of the new features the Matrix-EmailBridge got recently. It's been some time since the last update came out because I had some other projects to do first.
- A Docker image is available for the bridge which gets updated instantly.
- Blocklist of email addresses (prevent displaying emails from certain email addresses)
Dept of Clients 📱
A new Android developer joined the RiotX team! Onuray has started working on Monday on issues and features to get used to the codebase and the process in place.
We are currently preparing a release (v0.16.0) which contains a first implementation of poll (here is a demo), and some bugfixes.
We are still working on stabilizing the cross-signing feature, and optimizing the overall performance and stability of the application.
If you're looking forward to using seshat to index and search your encrypted message history, you may be interested in this work from stoic. The working title is "Riot Booster Pack" - but we're looking out for a better name!
Searching in encrypted rooms in the browser would be nice? I agree, so that's something I'm working on (powered by seshat). If you want to give it an early experimental spin, beware of the dragons and follow these secret steps (Riot Firefox Add-on + Linux & MacOS only, for now):
- Install the latest Riot Add-on Prerelease for Firefox (and don't mind the huge red warning page from Riot, skipping that is fine, it'll be gone in the next release)
- Adjust the Riot config.json in the Add-on preferences to include the
- Follow the instructions to install the Riot Booster Pack
- Report bugs 🐛
We have been spending most of our time on cross-signing to manage the m.verification.ready event and the verification by QR code. In parallel, we have fixed some issues and merged some PRs from the community.
- v1.5.9-rc.1 is now available at https://riot.im/staging. This includes some security improvements (adding a CSP) for self-hosted installs, options to hide typing notifications, a redesigned invite experience, as well as various bug fixes.
- The team's main focus continues to be getting cross-signing ready for release, including polishing the verification experience, building Riot with Seshat for desktop platforms, and improving QR codes
new docker container for riot-desktop
Mathijs told us:
Cadair and me (the Matrix Doctors) have been working to make it easy to build the development version of riot-desktop. This resulted in a docker container and an azure pipeline. The latter also builds riot-desktop versions with seshat included for both linux and macOS though currently this requires manually installing sqlcipher (use brew on macOS).
- sorairolake contributed a complete japanese translation! (#116)
- adasauce fixed an issue, where the image overlay opened always on your primary screen instead of your current screen (#114)
- Multiple people have been trying out nheko on their PinePhone or Librem 5. There were some successes, but part of the UI was never intended for that size and there is a nasty crash in the recent nightly, probably related to the networking code/library. We've been working on fixing those issues.
- There are now nightly flatpak bundles. Stable releases will still be on Flathub, but if you want to try out the development builds, you can download and install those bundles manually.
Dept of SDKs and Frameworks 🧰
Famedly Dart SDK E2E Preview
I'm going to finish the implementation of end to end encryption in our new Famedly Dart SDK. Here is a little preview:
Check it out: https://github.com/famedly/matrix-dart-sdk/
matrix-bot-sdk v0.5.0 released!
matrix-bot-sdk has just released v0.5.0 which includes some new helper functions, async storage providers, and a new
SynchronousMatrixClientfor when you really need things to happen in a specific order. Check out the diff here: https://github.com/turt2live/matrix-bot-sdk/compare/v0.4.1...v0.5.0
- We released ruma-client-api 0.6.0, with lots of updated API revisions (and also lots of breaking changes). The changelog can be found here
- ruma-client 0.3.0 is out of beta! This release contains
- access to the raw http response for non-success responses
- async/await support 🎉
Ananace told us:
Just pushed version 2.0(.0) of the Ruby SDK, coming with a few backwards-incompatible changes as well as a whole bunch more endpoints exposed as methods on the low-level API client. Docs have been improved tremendously, some internal methods have been properly exposed to make it easier to use in a bot context, and another example's now provided which shows a different way to use the higher-level Client abstraction.
Dept of Ops 🛠
matrix ansible modules
After entirely too much time, I finally present my 5 new and improved matrix ansible modules.
- matrix-notification: This is a port of my upstream
matrixmodule over to matrix-nio and async/await syntax
- matrix-login: New module to log in and create an access token
- matrix-logout: New module to log out and invalidate an access token
- matrix-room: New module to idempotently join or create a room based on an alias
- matrix-state: New module to idempotently set state in a room
The work on this also included sending a few patches upstream to matrix-nio, so if you want to use the last two modules, you will need to install nio from source from my PR there.
Get the modules now from https://gitlab.com/famedly/ansible/modules/matrix!
Dept of Bots 🤖
twim-o-matic ranks by score
This one is a little meta: I've made some improvements to twim-o-matic, the tooling I use to generate TWIM. One of the improvements is that the bot will now sort the output per-section, in descending order of how many reactions the entry received when posted in #twim:matrix.org. So, if you see something you think should be at the top, made sure to react to it!
Even as I'm typing right now I can't think this will lead to any unforeseen consequences at all.
I coded up this real complicated bot... very different from the cat one. HTTP dogs!
(actually just changed two lines in a config file 🐶)
Matrix in the News 📰
German Blog comparing Matrix to WhatsApp
German Blog basicthinking.de posted the article, which compares Riot to WhatsApp completely missing the point of the
- https://www.basicthinking.de/blog/2020/02/12/whatsapp-alternativen-riot/ I couldn't resist to comment on it describing the unbeatable features of
[matrix]like bridges and multiple clients. (Let's see if my comment will be posted. 😉)
Spoiler: it was.
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.
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