12 KiB
+++ title = "This Week in Matrix 2019-08-30" path = "/blog/2019/08/30/this-week-in-matrix-2019-08-30"
[taxonomies] author = ["Ben Parsons"] category = ["This Week in Matrix"]
[extra] image = "https://matrix.org/blog/img/2019-08-30-continuum.png" +++
Matrix Live 🎙
{{ youtube_player(video_id="jxdlH7wccbc") }}
Dept of Spec 📜
Approved MSCs
Final Comment Period
- MSC2263: Give homeservers the ability to handle their own 3PID registrations/password resets
- MSC2264: Add an unstable feature flag to MSC2140 for clients to detect support
In Progress MSCs
- MSC2246: Asynchronous media uploads
- [WIP] MSC2249: Require users to have visibility on an event when submitting reports
- [WIP] MSC2260: Update the auth rules for
m.room.aliases
events - MSC2261: Allow
m.room.aliases
events to be redacted by room admins - MSC2244: Mass redactions
- MSC2265: Proposal for mandating lowercasing when processing e-mail address localparts
Notes on the Spec from tulir
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
ofircd.typing.disable.send
and thestate_key
of the room_id, typing events will not be sent to that room for them. Further variations exist, such asircd.typing.disable.sync
to prevent the client from receiving typing events for a particular room or all rooms.
Learn more in #construct:zemos.net
Matrix Visualisations GSOC project 🎓
Eisha announced:
I've finished my GSoC project "Matrix Visualisations", you can view my final report at this address https://gist.github.com/Kagamihime/d0e7ac434b0d80eb201260d213dea0b7
Dept of Bridges 🌉
mx-puppet-twitter NEW
sorunome reported:
mx-puppet-twitter....do they ever stop?!
Now there is a twitter DM bridge based on mx-puppet-bridge! It uses twitters webhook API to receive direct messages instantly.
So far implemented:
- basic message sending in both directions
- Image, Gif and Video sending (twitter special-cases those) in both directions
- twitter oauth to authenticate
Support room: #mx-puppet-bridge:sorunome.de Donate on liberapay: https://liberapay.com/Sorunome/donate
Jojii email bridge NEW
Jojii announced:
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
Go join #jojiiMail:matrix.jojii.de for more.
Big news for the Slack bridges
Half-Shot offered:
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.
mautrix-whatsapp
Tulir told us:
mautrix-whatsapp got a bunch of small fixes and a dbms migration tool.
Dept of Clients 📱
Riot Web
Ironed the bugs out of the new composer, which is available on https://riot.im/develop behind a labs flag. Please test!
Riot iOS
Privacy, privacy and privacy.
Riot Android
A security release has been done on thursday. More details here: https://medium.com/@RiotChat/matrix-android-sdk-security-issue-affecting-riot-android-36b4792ea0d6
In parallel we continued working on privacy.
RiotX (Android)
A release has been done today (v0.4.0). The main new feature is Read Receipts!
Neo Renaming
f0x reported:
I'm considering renaming Neo, to help with getting a nice domain, and better findability in general. Any suggestions welcome in #neo:pixie.town.
Pattle 0.12.0
Wilko told us:
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!
Get Pattle
Android
Issues or suggestions
If you stumble upon any issues or would like to suggest features, please do so here! You can login via GitHub and Gitlab.com!
Follow development
Follow development in #app:pattle.im!
Continuum 0.9.19
yuforia reported:
Continuum the pure Kotlin desktop client
- 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.
Quaternion has many visual improvements
kitsune reported:
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.
Dept of SDKs and Frameworks 🧰
igor: a Matrix bot framework for Elixir
uhoreg offered:
for fans of strange programming languages or of monster movie clichés, I've created a Matrix bot framework for Elixir: https://gitlab.com/uhoreg/igor
Dept of Encryption 🔐
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.
Dept of Ops 🛠
ARM docker images for synapse
Black Hat told us:
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.
Dept of Bots 🤖
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:
There's 3 methods to block the room:
- Use the synapse admin API for it:
curl -s -X POST -H "Authorization: Bearer YOUR_ACCESS_TOKEN" -H "Content-Type: application/json" -d '{"new_room_user_id":"@abuse:YOUR_SERVER.org"}' 'https://YOUR_SERVER/_matrix/client/unstable/admin/shutdown_room/!BAD_ROOM:example.org'
- Block the room with an antispam module ( https://github.com/t2bot/synapse-simple-antispam )
- Ignore the user with
/ignore
That's all I know 🏁
See you next week, and be sure to stop by #twim:matrix.org with your updates!