I made a few spec proposals: MSC2244: Mass redactions and MSC2246: Asynchronous media uploads. Mass redactions are useful for fighting spam (and bridging telegram deletions) more efficiently. Asynchronous media uploads would make it possible for bridges (like telegram) to handle messages synchronously and thus keep message ordering without blocking all messages behind some media upload.
Dept of Servers 🏢
Synapse
Erik reported:
Busy landing the remaining items for the privacy project.
Reviewing and landing the room stats work Oliver has been busy with before he finishes his internship this week (thanks Oliver!).
Jorik has been doing the finishing touches to the Synapse installer (which looks awesome fyi).
We’ve also been looking at a basic message retention implementation in Synapse.
Finally, Hawkowl had a lot of fun at Kiwi Pycon last week (woo keynote!), and is now back and looking at improving performance of outbound requests.
Construct
Jason from Construct:
Construct added support for server notice rooms. As the server administrator I’ve placed quick access to the server control room for myself in this section.
Construct has also added support for the server-side commands \\read <room-tag>, for example \\read m.low_priority will mark all low-priority tagged rooms as read. The command \\read * also will mark all rooms as read.
Also, we now allow users to configure whether they transmit typing events by setting state events in their home-room. If a user creates an event with the type of ircd.typing.disable.send and the state_key of the room_id, typing events will not be sent to that room for them. Further variations exist, such as ircd.typing.disable.sync to prevent the client from receiving typing events for a particular room or all rooms.
For all those who want a new emailbridge, I have great news for you! The new bridge supports sending and writing emails, using multiple rooms for multiple email-addresses. In addition you can use markup to improve the style of your emailbody, which gets translated to HTML. Here you can find the repository: Matrix-EmailBridge
The Slack bridge has had a whole week of care applied to it. We’ve switched the bridge entirely over to Typescript, and overhauled large parts of the codebase to make future work easier (for ex, using the Slack node library rather than request calls). If that’s not exciting enough, we’ve also added support for the RTM API, which means the bridge can use websockets when talking to slack. This gives us nice things like typing updates, and the ability to deploy without needing a webserver to listen for events. Release 1.0 is imminent, but before then we are hoping to land Postgresql support so that the bridge can scale up to meet the high demands placed upon it.
A new version has been pushed to F-Droid, Google Play and TestFlight!
⚠️ This update requires a reinstall or clearing of data ⚠️: Because of some database
changes which were not that easy to migrate, you’ll have to reinstall the app or clear the data.
Expect the new version to be on most platforms in 2 days, and on Google Play
in a few hours.
Changes
Add a dark theme!
Add basic settings page
Add ability to change your own display name
Allow multiple lines while typing a message
Render line breaks in messages
Fix issue where homeserver setting was overridden by the user domain
Mark new messages as read while chat is opened
Fix chats being sorted by your own display name change
Fix multiple issues regarding the member count of room being null
Use Flutter beta, which means that you can paste in textfields again!
Provide builds of self-contained executables that have no external dependency. The Linux version has been done. AppImage is used, producing a binary of about 50 MB.
Adjust appearance. Remove alternating row high-lighting in list views. Remove extra padding between messages.
Thanks to Roland Pallai, Quaternion master branch is now able to use customised fonts and sports a faster timeline, better copying and a few other improvements. Settings dialog window is coming.
Initial code dump of Seshat, a Matrix event indexer/database that should enable search for encrypted rooms in riot-desktop. The dump contains a rust library as well as node bindings. The repo can be found here.
Apparently there are no ARM docker images for synapse, so I built a multi-arch synapse docker image. Supported CPU architectures include armv7, aarch64 and amd64.
There’s a useless new maubot plugin that lets you run python and soon shell scripts from Matrix. Not intended as a public bot as it doesn’t have any sandboxing, but it does have a “userbot” mode to run it under your own account so that you can use it in any room.
Slightly mean to call your own bot useless :(
Final thoughts 💭
If you’ve suffered from invite spam lately, you can solve the problem by following these instructions:
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.