Matrix Live 🎙
In which Matthew talks about:
- perf speedup
- turn tester
- extremities fix by default
- security work
- privacy work
- 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
- Immutable DMs
- ...then communities
- 0.3 came out last week - handles DMs; lots of polishing; reduces the APK down to ~10MB!
- 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 📜
No MSCs have been approved.
Final Comment Period
- MSC2229: Allowing 3PID Owners to Rebind
- MSC2230: Store Identity Server in Account Data
- MSC2010: Add client-side spoilers
- MSC2197: Search Filtering in Federation /publicRooms
In Progress MSCs
Dept of Servers 🏢
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
Construct implemented event relations from the client-server API. Now clients can view edit history of messages.
Learn more in #construct:zemos.net
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 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.
Dept of Bridges 🌉
Major mautrix-* bridges update
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 📱
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
Bluepill (Sailfish client) status update
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
masterlooks a bit silent because I swap to matrix-nio.
Alexandre Franke told us:
Fractal nightlies are building again.
yuforia told us:
- 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
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.
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
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
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.
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!