This Week in Matrix 2022-05-20
20.05.2022 20:03 — This Week in Matrix — ThibMatrix Live 🎙
Dept of Social Good 🙆
Thib says
Element has signed the open letter of the Global Encryption Coalition, of which we are members of. We are working with them to push back against any intrusive measures that could compromise the privacy of users.
Dept of Spec 📜
Andrew Morgan (anoa) reports
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://matrix.org/docs/spec/proposals.
MSC Status
New MSCs:
- MSC3821: Update the redaction rules, again
- MSC3820: Room version 11
- MSC3819: Allowing widgets to send/receive to-device messages
- MSC3818: Copy room type on upgrade
- MSC3817: Allow widgets to create rooms
MSCs with Proposed Final Comment Period:
- MSC3267: Reference relations
- MSC3604: Room Version 10
- MSC2676: Message editing 🎉
- MSC3816: Clarify Thread Participation
MSCs in Final Comment Period:
- No MSCs are in FCP.
Merged MSCs:
Spec Updates
Some new MSCs popping up this week around widgets, room types, fixing notifications with threads and room version 11! Though note that the last one currently serves as a means for the Spec Core Team to publicly track what should be included in room version 11, and is by no means is its content considered final.
The Spec Core Team are currently focused on room version 10 and getting Matrix v1.3 out the door soon. There's also been some discussion on MSC2676: Message editing this week, with the intention of finally landing that in the spec. Thanks to richvdh for driving the charge there.
Random MSC of the Week
The random MSC of the week is... MSC1902: Split the media repo into s2s and c2s parts!
Homeservers currently make use of Client Server Media APIs to pull media from other homeservers over federation. This has worked for a long time, but is a bit of a confusing blur of the lines between client<->server and server<->server traffic. It also makes it difficult to require different authentication rules for clients versus servers.
This MSC aims to help clean that up. Take a look if you're interested!
Dept of GSoC 🎓️
Thib says
It's May 20, and Google has announced the results for its Summer of Code program.
This year the Matrix.org Foundation participated, and we could be granted the five slots we asked for!
- Jayesh Nirve is going to work on WebRTC support for FluffyChat, mentored by Krille
- nannako is going help handling multimedia files in kazv, mentored by tusooa
- Aditya Rajput will implement encrypted search for Matrix, mentored by cvwright
- Munukurthi Binesh is going to work on 3rd Party Authorised Room Membership, mentored by Cadair
- r0hit2005 will work on updating the implementation of VoIP support, mentored by Nico
Many thanks to all the candidates, we had some very strong proposals this year.
Dept of Servers 🏢
Synapse (website)
Synapse is a Matrix homeserver implementation developed by the matrix.org core team
Brendan Abolivier announces
This week we released Synapse 1.59, which features a bunch of niceties including new features, bug fixes and performance improvements. Read all about it, including increased flexibility for workers and improvements on push rules, on the matrix.org blog!
Aside from this, the team is still hard at work and focusing on making Synapse better, among other things by looking at improving performances on room join and decreasing memory usage.
Dept of Bridges 🌉
matrix-hookshot (website)
A multi purpose multi platform bridge, formerly known as matrix-github
tadzik says
matrix-hookshot 1.7.0 is out
Last week new version of Hookshot came out starring the following changes:
- Docker images can now be built cross-platform. Thanks Paul for getting arm64 builds going!
- Improved GitLab push hook formatting: markdown commit hashes, link "N commits" to the list of commits, if there are more commits than can be shown only link instead, and show committer unless a single person committed and pushed
- RSS feed support got a configuration widget: now need for using bot commands anymore! (though they are still supported)
- Added
widgets.openIdOverrides
option to help developers test configuration widgets locally- Fixed regression where GitHubRepo and GitLabRepo connection config options were not being honoured
and more! Visit #hookshot:half-shot.uk to follow the development in real-time.
matrix-appservice-kakaotalk (website)
A Matrix-KakaoTalk puppeting bridge.
Fair announces
Last week's
testing
updates are now inmaster
!Also included:
- Better error handling: if the backend hits an error that causes your connection to KT chats to be dropped, the bridge should notify you about it (not that it should ever happen in the first place, but you never know!)
- Better logging: the Node module can be configured to print the arguments of RPC commands received from / sent to the Python module. The example Node config includes a default set that should be helpful for general debugging.
- Room metadata bridging: setting an Open Chat title & topic from Matrix should work now!
- Setting the title of a Direct Chat should work too, but topics remain unbridged (since KT Direct Chats don't have topics/descriptions)
- Defensive error handling: Attempts to add a non-friend user to a DM will be refused by the bridge, since KT only allows Direct Chats between friends
- KT does allow "1:1 Open Chats" between non-friends, but those aren't bridged yet
Also,
testing
adds support for joining KakaoTalk rooms from Matrix, either by joining an existing portal or providing an Open Chat URL to the bot with ajoin
command. ...However, I've been unable to test this, since KT is stingy about whom it allows to join Open Chats! So please give this a try if you can.In other news, this bridge is now listed on Matrix.org! 🥳 Thanks Thib !
Also, for the time being, I will be taking a hiatus from this bridge & the LINE bridge, as I'll be quite occupied for the foreseeable future on account of having joined Element 🤩!! (The bridges aren't paused forever--I just have to work out the details of their future before making any promises I can't keep 🙂)
Special thanks to all those who have given feedback & advice on these bridges, and to Beeper for having sponsored their development ❤️
- Discussion: #matrix-appservice-kakaotalk:miscworks.net
- Testing room: #kakaotalk-bridge-testing:miscworks.net / https://open.kakao.com/o/gjGQFuae
- Issue page: https://src.miscworks.net/fair/matrix-appservice-kakaotalk/issues
matrix-appservice-discord (website)
A bridge between Matrix and Discord.
Half-Shot announces
Hello! Just a notice to say that the `matrix-appservice-discord project has kindly been adopted by the matrix.org foundation, which means that hopefully there will be a lot more time available to maintain it than when it was my personal project! We expect to have a new update for you (the first one in 1.5 years) very soon! If you've got any questions about this, please feel free to ask in the usual spots like #discord:half-shot.uk.
Happy bridging!
Heisenbridge (website)
Heisenbridge is a bouncer-style Matrix IRC bridge.
hifi says
Release v1.13.0 🥳
- Read default port and listen address from config url (@BtbN)
- Improvements to pillifying IRC nicks, again
- Fixes for AUTOQUERY not always working correctly
- Allow anyone to use STATUS command to get their own status
- Filter control characters only for plumbs so people can send garbage to IRC if they wish from Matrix
- Support for converting IRC color codes to Matrix (@tjaderxyz)
- Fixed compose docker Synapse configuration for registration
- Improved Python 3.10 compatibliy (@BtbN)
- Hidden room to hide joins using restricted rooms join rule (@BtbN)
Some cool stuff this time around! Aside from many bug fixes this release has two great new features: IRC message colors and hiding invites from channels.
IRC colors are enabled by default and are rendered how your Matrix client sees fit. They can be disabled per network if needed.
Hiding joins works with room v9 restricted join rules feture to allow IRC ghosts to join rooms without an invite from the bridge bot first. This clears some clutter and may even make joining a bit faster in the long run - we will see. This feature is disabled by default and needs to be enabled by the bridge administrator as it is consiered a "labs" feature for now.
Go and get a Dell from GitHub, PyPI or matrix-docker-ansible-deploy!
Thanks!
Dept of Clients 📱
Neochat (website)
A client for matrix, the decentralized communication protocol
Tobias Fella says
In the last weeks, we've landed a few smaller features and papercut fixes in NeoChat:
- Urls will now more often be shown as links
- A couple of input processing bugs have been fixed, which lead, among others, to fewer broken ASCII emojis :)
- Clicking on a notification will now properly open NeoChat even on wayland 🥳
- Users can now disable sending typing notifications
We're also making progress on the end-to-end encryption support where we hopefully will soon have news from libQuotient's side.
Element (website)
Everything related to Element but not strictly bound to a client
kittykat says
Threads
- Finished private read receipts (in review), which is needed to proceed with read receipts for threads (MSC3771)
- Continue work on implementing push rule for manually related events (MSC3772)
- Notifications for threads (MSC3773) is blocked on the two MSCs above
- Layout tweaks and bug fixes on all platforms
Community Testing
- We ran 47 different tests on this week’s RC and found 20 defects/potential improvements
- We are inviting community testers to take part in the Android and iOS app layout experiments
- For more info on our next testing sessions (sync or async), you can join us at #element-community-testing:matrix.org!
Element Web/Desktop (website)
Secure and independent communication, connected via Matrix. Come talk with us in #element-web:matrix.org!
kittykat says
- Improved logging Jitsi errors for video call issues
- Added option to ignore user when reporting spam
- Made lots of improvements to our automated tests
- Show metaspaces even when there are no real spaces joined
- Add shortcut to get to the explore space page more easily via the space avatar in the left panel
- Remove invites from breadcrumbs
- Fall back to untranslated strings rather than showing error for missing translations
- Improve lightbox (image viewing when you click on an attached file or profile pic)
- Improve email verification dialog on registration page
- In labs (you can enable labs features in settings on develop.element.io or on Nightly):
- Minor improvements to copy and layout for video rooms, and improve removing stuck devices
- More polishing of context menus
Element iOS (website)
Secure and independent communication for iOS, connected via Matrix. Come talk with us in #element-ios:matrix.org!
Ștefan says
Element iOS
- We have a release candidate available that squashes quite a few problematic bugs
- Mention pills have been improved and are now better than ever
- Work is continuing on the new authentication flows and live location sharing
- Launching home layout experiment next week
Element X
- The iOS FII crate is now being checked on the CI and has been merged into the main RustSDK branch
- We're making progress on crash reporting tools and rage shakes
- Starting on adopting Swift's async/await throughout the project
Element Android (website)
Secure and independent communication for Android, connected via Matrix. Come talk with us in #element-android:matrix.org!
benoit says
- Launching spaces layout experiments next week
- Release 1.4.16 is out. Should be available in production at the beginning of next week. Sadly this release will not be available on F-Droid.
- FTUE screens are nearly finished. We are implementing the latest ones. For instance Email input and validation.
- Also still working on the integration of the crypto Rust SDK. We are at a point of fixing the remaining issues.
Cinny (website)
Cinny is a Matrix client focused on simplicity, elegance and security
Lozenge says
Cinny v2.0.3 - What's changed
- Add the ability to focus on paste
- Add allowCustomHomeservers config option
- Fix crash in a room without m.room.create state event
- Fix message edit isn't reflected in the reply
- Fix join room with alias
- Fix crash on leaving room
Find more about Cinny at https://cinny.in/ · Join our room: #cinny:matrix.org · Github: https://github.com/ajbura/cinny · Twitter: https://twitter.com/@cinnyapp
Dept of Non Chat Clients 🎛️
Populus Viewer (website)
A Social Annotation Tool Powered by Matrix
gleachkr says
In the last two weeks, populus-viewer has seen some exciting changes:
- Blurhash support, following MSC2448: Using BlurHash as a Placeholder for Matrix Media
- A redesigned landing page, and general CSS overhaul
- An improved layout algorithm for bartabs in PDF margins
- Support for video annotations, following MSC3775: Markup Locations for Audiovisual Media
Here's a demo video of video annotation, and a screenshot of the new landing page:
Dept of Widgets 🧩
Mjolnir Widget (website)
A widget for moderating with mjolnir. Highly WIP. Use at your own risk!
MTRNord (they/them) reports
Hi, just some small update this week:
- Philantrop 🏳️🌈 pointed out the widget was missing the room ban type, which is now added to the widget.
- The ban list view now also shows the room id of the room the ban is from. (it will get extended to be an alias at some point. This is planned)
- Dependencies have been updated.
Check it out at https://github.com/MTRNord/matrix-moderation-widget or join #mjolnir-widget:nordgedanken.dev if you have any questions.
Dept of SDKs and Frameworks 🧰
matrix-rust-sdk (website)
Matrix Client-Server SDK for Rust
ben says
Post release (we have release 0.5.0 last week) the main focus was on minor fixes and bigger features we had pending but didn't want to merge before. Aside from a few documentation and other minor fixes - among others switching to resolver v2 or more accurate
power_level
calculation - the biggest merge was around the FFI interface for Apple (iOS and Mac), which we have initial support for now 🎉.The main work is currently happening behind the scenes, while we prepare for the upcoming tasks - like WASM and NodeJS support for the crypto-crate and work on UniFFI. We are also hardening our processes for improved security and risk management around our code base, dependencies and the potential to ship binaries.
👉️ We are very happy about the influx of people, who joined our developer community questions since the release. We'd like to take this opportunity again to invite anyone else interested in hacking on matrix in rust to check out our
help wanted
tagged issues and join our matrix channel at #matrix-rust-sdk:matrix.org.
Matrix Dart SDK (website)
Matrix SDK written in pure Dart and maintained by famedly.com
Henri Carnot reports
Matrix Dart SDK : Version 0.9.6
This week, the team released version 0.9.6.
This release brings various bug fixes. We fixed cache corruption with fragmented timeline, and we now gracefully handle invalid recent emojis states.
Also, we now properly update the user
lastActiveAgo
on presence event updates and not when opening a room.Finally, we moved the MSC2835 support into its own extension.
See you next time ;)
Dept of Services 🚀
Samuel Philipp says
We are proud to announce that Ossrox is now listed as a hosting provider on matrix.org! 😍 We offer Matrix Home Servers via https://ossrox.org - for the time being only in the German-speaking area. We are dedicated to hosting open-source software and also offer other services in the messaging, groupware and web meeting segments. If you got any questions, just reach out to us at #public:ossrox.org.
Dept of Interesting Projects 🛰️
addanno says
Hello Matrix friends. We have recently launched an online learning platform that has Element at its core. We added some great features such as annotations for both course material and web pages. Here is an overview video of what we are doing.
https://www.youtube.com/watch?v=rY3safwbllQ
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.
#ping:maunium.net
Join #ping:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.
Rank | Hostname | Median MS |
---|---|---|
1 | envs.net | 441.5 |
2 | thewords.faith | 482 |
3 | almum.de | 551 |
4 | lw1.at | 661 |
5 | matrix.org | 768 |
6 | aria-net.org | 897 |
7 | quyo.de | 963 |
8 | mindlesstux.com | 970 |
9 | shortestpath.dev | 1205 |
10 | phorcys.net | 1395 |
#ping-no-synapse:maunium.net
Join #ping-no-synapse:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.
Rank | Hostname | Median MS |
---|---|---|
1 | conduit.grich.sk | 179 |
2 | grin.hu | 702 |
3 | cry.is | 705 |
4 | sspaeth.de | 1174 |
That's all I know 🏁
See you next week, and be sure to stop by #twim:matrix.org with your updates!