Half-Shot's bridge notes this week
Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals.
MSCs with proposed Final Comment Period:
- No MSCs entered proposed FCP state this week.
MSCs in Final Comment Period:
- No MSCs are in FCP.
- No MSCs were merged this week.
Don't be mistaken by the rather empty list above, there were many PRs to the contents of the spec flying around this week! These include some further contributions from lukaslihotzki, some clarifications from dkasak and some spec contributions and tooling documentation additions from richvdh. Also a clarification from uhoreg.
Thank you to everyone for your PRs!
Otherwise, there has been a small amount of activity across the spectrum of MSCs this week. One MSC to call out is https://github.com/matrix-org/matrix-doc/pull/3283, which could do with some more input from the wider community.
And finally, something fun. I've written a small script to pick a random MSC that people may or may not want to have a look at.
And this week we've got 🥁...
Have a look if you haven't already, or take another look again if you have 😀
Neil Alexander said:
This week, we tagged the v0.5.0 release candidate, which contains two major advancements on the encryption front: support for server-side key backups and support for cross-signing. The addition of these features makes Dendrite significantly more user-friendly, as it is now possible to log out or share keys across devices without losing your conversations.
We'll be aiming to finalise this release next week. Stay tuned in #dendrite:matrix.org for more details.
Sytest compliance currently sits at:
Client-server APIs: 65%, up from 61% last time
Server-server APIs: 92%, same as last time
Those sytest numbers!! Might be time to start playing with dendrite?
We are on track to release Synapse 1.41 next week. This version will use an unstable property proposed by MSC3244: Room version capabilities to advertise to clients that they may create restricted rooms using Room Version 8, despite the default room version remaining at 6 for the time being.
This strikes a balance between the broad compatibility of an older default room version, while still making newer features available when requested at room creation time. However, from next week you are more likely to encounter v8 rooms, so please do ensure your homeserver is running at least 1.40.
I'd also like to tip my hat to Element employee Olivier, who has put in the work to ensure that tagged Sygnal releases are automatically built and uploaded to Docker Hub via GitHub Actions. Thanks, Olivier!
This week too sees updates to my Helm Charts, with element-web being bumped to 1.8.0 - and then subsequently 1.8.1
Heisenbridge is a bouncer-style Matrix IRC bridge.
Automatic queries (DM rooms) from IRC users can now be disabled and a query opened manually if needed (messages appear in network rooms)
Plumbs can now be set to not do disambiguation or ZWSP injection
Small cleanups and fixes
Heisenbridge is now considered stable and v1.0.0 has been released! 🍻 🥳
Focus is shifting to v2.0.0 which will be a major refactor. The 1.x series will at least receive bug fixes if not features. Do note that if you are using the master branch or latest tag for Docker it may cause a breaking change in the future when the work starts being merged. Highly suggest moving to version tags regardless of the deployment method. If you are using matrix-docker-ansible-deploy it has been updated to v1.0.0 as of writing so pulling the latest master there is advised.
This week brought the release of 0.30.0, which includes
Better formatting of long messages and code blocks – thanks 14mRh4X0r!
Quality of life improvements to admin room command handling
Numerous documentation improvements
More goodies coming Soon[tm], so watch this space :)
Half-Shot told us:
If the car wasn't enough, I bring more news! Our matrix.org bridge library, matrix-appservice-bridge has had a total shakeup. Version 3.0.0-rc1 is out and with it comes the migration from the matrix-js-sdk to the matrix-bot-sdk. This is a massive change underneath that should result in faster performance, better typings and hopefully lower memory footprints too.
I'd encourage everyone using this library to update and see how well it works for you! The IRC and Gitter bridges have already experimented with this change and have seen good results, so I look forward to hearing feedback :)
(See details about the referenced car below and in Matrix Live above)
Alexandre Franke reported:
Fractal updates three weeks in a row? 😱
Kai was on fire this week 🔥 with 5 (❗️) new merge requests that all landed! The highlights are that rooms are now sorted by activity and room members now have a
power-levelproperty. The other ones (!815, !816, !817) are maintenance and code quality related.
Julian Hofer also contributed a code quality change by making every subclass use
Shout out to Julian Sparber, who’s still busy with his upstream work in the Rust SDK, and managed to review and merge all the above contributions.
This week, I released Sailtrix v1.3 on OpenRepos.
matrix:URI scheme support
Tab based layout
Sorting rooms by activity
Fixed a bug where editing in encrypted rooms did not appear correctly
Avatars and display names are displayed for direct message rooms.
Carl Schwan reported:
This week Janet improved receiving files in NeoChat. Now downloading a file can be stopped, a file type icon is displayed and it looks better! Other than that Felipe Kinoshita made some small visual improvements to the day separator in the timeline and Tobias continued working on E2EE inside Quotient.
Tomorrow Tobias and I will be doing a small presentation/demo of NeoChat at frOSCon in German. It's online so you don't have any excuse to not watch it: https://programm.froscon.de/2021/events/2711.html
Nheko is a desktop client using Qt and C++17. It supports E2EE and intends to be full featured and nice to look at
Nico (@deepbluev7:neko.dev) told us:
Nheko now shows you the verification status of all devices in a room as well as in the memberlist. This is important so you can tell, if an unverified device may get access to a message, if you send it. You can always disable sending messages to unverified devices for extra peace of mind.
callum's work on Token Authenticated Registration got merged! 🎉
manu's room directory (finally) got merged. This means you can now discover public rooms on your server and join them by clicking the room directory button, that Nheko had for 3 years but was disabled until now! Support for the room directories of other servers as well as filtering by network should come in the future.
There is now an "Allow them in" button on pending knocks in the timeline, joins via room membership in a different room now tell you, what user's server was used to sign off on the join and you can set a room to restricted or knock only. (You currently can't change the list of allowed servers though).
Dialogs should now have a close button again on Windows, the emoji search field now clears on closing the emoji picker and we added a workaround for stickers not showing on Element iOS, because iOS can't display stickers without a thumbnail, even if a thumnail makes no sense for stickers. (We just copy the sticker url into the thumbnail url.)
Nheko can now download encryption keys from online key backup. Uploading to online key backup will come soon(tm).
If you are interested, I will talk about Nheko tomorrow (21.08. starting 16:10) at FrOSCon in the Matrix dev room. Make sure you check out the other talks too, if you speak German! https://programm.froscon.de/2021/events/2706.html
Phew, that was a mouthful.
Updates from the teams
Polyjuice Client v0.4.2 has been released. This release features more functions for creating messages, including file and media messages (thanks to multi prise), replies, reactions, and edits. Polyjuice Client can also now be considered a serious Matrix library as it has a new function to generate rainbow-coloured messages! 🌈 Multi prise has also added support for registering a new user, redacting messages, and searching the user directory.
Polyjuice Util v0.2.1 (an Elixir library for Matrix features that can be used on both the client-side and server-side) was also recently released. The main feature for this release is support for handling Matrix URIs, and supports
Version 2 of Simple-Matrix-Bot-Lib will release very soon. It is complete in all but the documentation. If you would like to try version 2 early, you can find it on a branch of the git repository here https://github.com/KrazyKirby99999/simple-matrix-bot-lib/tree/v2.
Some of the changes are shown below:
|Version 1||Version 2||Summary|
|In version 1, each the |
|In version 1, the only way to login to a homeserver was to use a combination of a username and password. In version 2 it is also possible to login using a SSO login token as well. As before, the homeserver argument is required, and the session_stored_file argument is optional.|
|In version 1, |
These changes are only some of the most important changes between versions 1 and 2, and there are more changes in addition to these. I apologize for the delays in releasing version 2.
TravisR told us:
Mjolnir v0.1.19 is out now with a voice message protection built-in (ideal for public communities where voice messages can't be easily moderated) and updates to the shutdown room command to support modern Synapses. Check out
!mjolnir protectionsafter upgrading, and visit #mjolnir:matrix.org for help and support.
MTRNord told us:
Since element now landed voice message support I build a small maubot plugin which prevents audio and voice messages as those cannot yet get restricted by power level.
It starts by warning you via replies, after a configured amount of warnings goes over to kicking and after a certain amount of kicks it will ban you in the room the event was sent in.
The counter is global so if a user in room A runs out of warnings and the same user sents a voice message in room B where the bot is present the bot will ban the user also in room B without further warnings.
This plugin is already running on my maubot at @mjolnir:nordgedanken.dev
New version of Middleman, the helpful relay bot in the middle. Version 0.2.0 in addition to various smaller changes and fixes, enables sending out messages from the command room to any room the bot is in, supports relaying notices (so you can command other bots using the Middleman bot 🤖) and adds support for flagging certain rooms as "mention only", in which case only mentions are relayed.
Find Middleman here: https://github.com/elokapina/middleman
This weekend we are organising a Matrix Dev-Room at the FrOSCon with some quite interesting talks (in German 🇩🇪):
Take a look at the conference schedule and join us at #FrOSCon:fiksel.info!
FrOSCon will be a virtual event and it's free! See you tomorrow!
Howdy folks, it's been aaaaages since I've done mad little project but I had some LEGO and was bored on a Sunday. I present to you matrix-poweredup! This is a little bot that connects to any LEGO PoweredUp devices (using the node-poweredup library). You can then start controlling the motors via Matrix, and have the sensors report back into the Matrix room. It's currently limited to a RC buggy I picked up over the weekend but it's very extendible. It also includes a web application to control things via a gamepad, if that's your bag.
There will be a little demo at the end of Matrix Live, so watch this space
Some updates on the serverstats project:
As a few of you noticed the pages are currently down due to some mess that happened (not going into detail on purpose here).
The pages however will soon come back. I am now using the time they are down to improve the code and some pages on it. So dont be worried it is not dead but it will come back as soon as I get those changes done 🙂
Circles is an iOS app for end-to-end encrypted secure social networking and sharing, built on top of Matrix. Its goal is to provide a safe and convenient way for close friends and families to share things that they wouldn't post publicly -- e.g. for parents to safely share pictures of their kids. You can also use it to share updates with your friends, without a creepy advertising company data mining every word.
Circles features include:
Social "wall"-like functionality and timeline of friends' posts for each of your social circles, e.g. Friends, Family, Neighbors, Coworkers, etc.
Encrypted photo galleries
Recent updates to the Circles beta include:
Support for use with any Matrix homeserver, including a new encrypted recovery and key backup mechanism that should be compatible with other Matrix clients like Element. (Please note: For use with standard Matrix accounts, be sure to select "Advanced options" at login and enter your passphrase for key backup / recovery.)
Markdown formatting for text posts and image captions
Better support for larger screens (iPad)
The latest beta build of Circles (v0.91) is available from Apple on TestFlight
As a hobby, I built a website called Digital Justice. It's a website that explains in layman's terms what certain digital topics are (like data sovereignty, software autonomy and abandonware continuity) and why those topics matter.
I'll also write several articles related to digital rights. For now, there's three articles: one that explains how to join Matrix, one that explains how and why the government should strive towards decentralization, and one that explains why users should consider using Matrix instead of Signal.
The website may be a bit too simple for privacy gurus who know their stuff, but it's meant as an accessible resource to help people understand why privacy matters. Feel free to use the website as a resource, share the RSS feed or use it as a FAQ to your colleague who doesn't understand why you're so adamant on using an open communication protocol.
If you'd like to see something corrected or would like to add something to the website, the source code's here and you can always contact me through the website.
timokoesters told us:
Hi everyone! Did you ever feel lost in the Matrix world? The room directory is big, but it's still hard to find something you like. Or are you a room moderator, but there is not much activity in your room because it doesn't have enough users?
This is why I want to share rooms (or spaces) I find interesting.
This week's room is: #physics:matrix.org
"Friendly Physics Related Discussion Talking Point: LIGO & Hawking's area theorem https://tinyurl.com/nzuaaepv Book Club 22nd August 15:00 BST | Bishop & Goldberg (manifolds) | Book Club Site: https://tinyurl.com/2sn9upx2 +stardust:matrix.org"
If you want to suggest a room for this section, tell me in #roomoftheweek:fachschaften.org
Join #ping:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.
Join #ping-no-synapse:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.
See you next week, and be sure to stop by #twim:matrix.org with your updates!