This Week in Matrix 2022-04-14
14.04.2022 19:16 — This Week in Matrix — Ben ParsonsLast update: 14.04.2022 19:10
Dept of Servers 🏢
Conduit (website)
cel says
- Gained v9 room support on
next
branch: https://gitlab.com/famedly/conduit/-/merge_requests/257
- Binaries available here: https://gitlab.com/famedly/conduit/-/blob/next/DEPLOY.md#installing-conduit
- v9 rooms enable private rooms to allow access to members of a Space or other room without a separate invite.
Synapse (website)
Synapse is a Matrix homeserver implementation developed by the matrix.org core team
dmr reports
Hello everyone. This week the Synapse team cut a release candidate for Synapse 1.57. It contains:
- Continued work on the faster joins project.
- Additional Module API support for working with 3PID associations, account data changes and making users admins. The first two in particular are vital to to merge the DINSIC fork of Synapse into the mainline source tree.
- Experimental, partial support for MSC3202, Encrypted Appservices; additional support for threads via MSC3666 and via MSC2675.
- Plus a number of bugfixes within Synapse and fixes for spec compliance issues.
As ever, our warmest thanks to to our contributors for sharing their time, effort and expertise with the project. We look forward to seeing your work in the wild, come the 1.57 release proper on Tuesday the 19th of April.
On develop, we have been powering through a number of different tasks:
- further work on fast room joins;
- efforts to better document Synapse's config file;
- strides towards making Synapse's requests internally cancellable;
- performance improvements for device list updates; and
- another spurt of work to get complement (finally!) testing Synapse in worker mode.
Speaking personally, my efforts to manage Synapse's dependencies using poetry are coming to a close. As I write this, I've just submitted my last (planned!) PR for this project. It's been several months in progress now, and there were many moving parts; some unexpected bugs in
poetry
and even one inpip
; plus a heck of a lot of CI config to change and understand. My sincere thanks to the broader Synapse team for their help in getting the last batch of changes made, reviewed and merged. Once this is all said and done I hope we'll all reap the benefits of
- a stabler CI pipeline,
- reproducible virtual environments in our docker and debian images, and
- automated PRs for security updates.
Dept of Bridges 🌉
matrix-hookshot 1.5.0 (website)
A multi purpose multi platform bridge, formerly known as matrix-github
Half-Shot reports
Hey webhook-consuming-people! The hookshot webhook bridge 1.5.0 update has now been released. This release is a bit softer than 1.4.0, containing some smaller features and bugfixes. Thanks to everyone who contributed!. The highlights are:
- Allow specifying msgtype for generic webhook transformations. (#282)
- Add new GitHubRepo config option
newIssue.labels
which allows admins to automatically set labels on new issues. (#292)- Allow priority ordering of connection command handling by setting a
priority: number
key in the state event content. (#293)- Support GitLab
push
webhook events (#306)The matrix-docker-ansible-deploy playbooks have also been updated to be 1.5.0 compatible :)
matrix-appservice-kakaotalk (website)
A Matrix-KakaoTalk puppeting bridge.
Fair reports:
A Matrix-KakaoTalk puppeting bridge.
This week brings many new features:
- KT<-> Matrix message deletion/redaction
- Note that KT doesn't allow deleting a message if it's too old, so Matrix->KT redactions will fail for old messages.
- KT->Matrix user name/avatar live updates
- As opposed to only being updated on backfill / manual sync
- KT<->Matrix read receipts
- Caveat: KT->Matrix read receipts are only updated live, not on backfill / manual sync
- KT->Matrix member join/leave
- Only joins were tested so far, but leaves should work too
- KT<->Matrix admin status / power levels
- KT->Matrix channel name, description, and cover photo
- General stability & usability improvements
- systemd setup instructions
I've also launched an instance of the bridge & opened a public portal room for testing purposes:
- Matrix side: #kakaotalk-bridge-testing:miscworks.net
- KakaoTalk side: https://open.kakao.com/o/gjGQFuae
Logging in to my bridge instance is restricted, but Matrix users can still join the room thanks to the magic of relaying!
At this point, I'd say the bridge is now fairly usable. Please try self-hosting if interested!
Discussion: #matrix-appservice-kakaotalk:miscworks.net Issue page: https://src.miscworks.net/fair/matrix-appservice-kakaotalk/issues
Dept of Clients 📱
Matthew reports
A new GTK4 matrix client called gotktrix surfaced on HN, written in Go with a bespoke matrix client SDK implementation. Looks impressive!
Nheko (website)
Desktop client for Matrix using Qt and C++17.
Nico reports
After a long and arduous journey, LorenDB's dbus interface for Nheko got finally merged. Currently this allows you to list rooms as well as switch between them. In the future we might add simple messaging support, so that you can automatically send messages into specific rooms using scripts. The API is disabled by default, since it is not authenticated. Enable it at your own risk!
Another long standing PR, that finally got merged, was MTRNord (they/them)'s support for pretty power level formatting. Nheko can now tell you what changed in a power level instead of just telling you that it changed. This should make them much more accessible to users, that don't like looking at the raw event source all the time (weird, eh?).
The image viewer should also be more reliable now and notification counts should be correct after a restart.
We have also been playing around with qt6 support. At this point we have a working Qt6 branch, with a few functional regressions:
- No voip (gstreamer has no Qt6 support yet)
- No drop shadows on buttons
- No switchable color schemes
So far Qt6 looks pretty great and seems to fix a lot of the minor annoyances.
We are also still looking for some student or interested individuum to take part in the Google Summer of Code and improve the call support in Nheko! Deadline is drawing close, so if you intend to apply, better work on your proposal quickly! If you need any feedback for your proposal, feel free to DM me and ask me to review it/questions. I'm looking forward to someone applying! <3
Anyway, merry christmas everyone or whatever you are celebrating this weekend!
Element Web/Desktop (website)
Secure and independent communication, connected via Matrix. Come talk with us in #element-web:matrix.org!
kittykat announces
- Threads Beta is live, find it in Labs!
- As always, check it out and let us know what you think.
- We’re aligning on a style guide and a new module system (links will be shared once both are finalised)
- Added our first Cypress test - this will improve how we create and run e2e (end to end) tests. The tests will continue to be run by CI.
- In labs (you can enable labs in settings on develop.element.io or on Nightly)
- Continuing to get a native lobby screen for video rooms together
Element iOS (website)
Secure and independent communication for iOS, connected via Matrix. Come talk with us in #element-ios:matrix.org!
Manu announces
- We will inform users in the next release that we will no longer support iOS12 and 13. It will be effective the release after, i.e. April 25th.
- We had a big drop on UTDs (Unable to Decrypt errors) since 1.8.8.
- We are setting up the ElementX-iOS project to rewrite the Element-iOS app. It will be based on SwiftUI and the Matrix Rust SDK. The roadmap is available here.
Element Android (website)
Secure and independent communication for Android, connected via Matrix. Come talk with us in #element-android:matrix.org!
kittykat says
- Element 1.4.11 is available on the PlayStore and on F-Droid. Release notes: https://github.com/vector-im/element-android/releases
- We may experience some delays in shipping the app through the Android PlayStore as we are in discussions about whether not decrypted messages should be reportable
- Cleanup to the SDK API has landed on develop - this will help with generating API documentation and migrating to the Rust SDK
- Roadmap for migration to the Rust SDK
Element (website)
Everything related to Element but not strictly bound to a client
kittykat announces
Threaded Messaging
- Exciting news this week; the Threads Beta is live on all platforms! If you haven’t seen Threads yet, head to Settings > Labs and check it out.
- Please note; If your homeserver doesn’t yet support threads functionality you may not see the beta, or your experience will be degraded. If this applies to you, you’ll see a warning message before you activate Threads.
- The team is continuing to squash bugs and improve performance, we’ve also started working on the next improvements…
- Notifications and badges are top of mind for us next. We need to ensure accuracy of badge counters and consistency between platforms (if you use more than one). We’re looking at this now so keep your eyes peeled for our upcoming MSCs.
Community testing sessions
- We are restarting our testing sessions! Join #element-community-testing:matrix.org to take part
- We are trying out a new asynchronous format with office hours for discussion to enable more people to be involved
Dept of Encryption 🔐
libolm
uhoreg reports:
libolm 3.2.11 has been released. This release mainly features improvements to the Objective-C and Java bindings, but also fixes building of the documentation, which was broken for quite a while. For more details, see the release notes.
Dept of SDKs and Frameworks 🧰
Ruma (website)
A set of Rust library crates for working with the Matrix protocol. Ruma’s approach to Matrix emphasizes correctness, security, stability and performance.
Jonas Platte says
Over the last two weeks, we have been busy working towards the 0.6.0 crates.io release of Ruma. If things go to plan, it should be published in the coming weeks (but no promises). That means mostly finishing some large refactorings, but we also got some bug fixes in, as well as a number of convenience functions for working with certain events:
Dept of Internet of Things 💡
HASSkbot - Home-Assistant ask bot
Oleg reports
HASSkbot can be used to control an action in Home-Assistant via Matrix reactions.
It's an Opsdroid bot, which reacts to a home-assistant entity state change (like person leaving a zone) and asks for confirmation in Matrix if it should run additional home-assistant automation. Matrix reactions are used for confirming or canceling an action.
Dept of Bots 🤖
Arya K reports
Merseklo is now out of beta it is a moderation bot for matrix written in pure bash with the only deps being jq and curl
Honoroit (website)
A Matrix helpdesk bot
Aine reports
benpa is back in town and I can't keep silence: here is a small update on Honoroit - v0.9.6 comes with "stable spaces" support that will work with new versions of element (yes, even on Element Android from F-Droid).
Go check the source code and say hi in the #honoroit:etke.cc
Dept of Events and Talks 🗣️
DWeb Camp
cel reports
DWeb Camp 2022 website and registration launched: https://dwebcamp.org/
- August 22-24 BUILD; August 24-28 CAMP; Aug 28-29 TAKE DOWN.
- Camp Navarro, CA, USA
- Announcement: https://matrix.to/#/!WBhcGXTDMlzyTPWoJv:matrix.org/$164991727237835sdywy:matrix.org
- Volunteer: https://dwebcamp.org/participate/
- Apply for fellowship: https://dwebcamp.org/fellowships/
- Sponsor: PDF
DWeb Camp is a gathering hosted by Internet Archive and volunteers dedicated to Decentralized/Distributed web projects. Previously it happened in 2019, and Matrix had some presence there. Maybe people from Matrix projects and/or Matrix.org will be there this year?
That's all I know 🏁
Come back next week for a much restored TWIM! With Matrix Live, Spec updates, Dept of Ping and so on. :D
See you next week, and be sure to stop by #twim:matrix.org with your updates!