18 KiB
+++ title = "This Week in Matrix 2023-01-20" date = "2023-01-20T20:42:48Z" path = "/blog/2023/01/20/this-week-in-matrix-2023-01-20"
[taxonomies] author = ["Thib"] category = ["This Week in Matrix"] +++
Matrix Live
Unfortunately no Matrix Live this week!
Dept of Spec 📜
Andrew Morgan (anoa) says
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:
- There were no new MSCs this week.
MSCs in Final Comment Period:
Merged MSCs:
- No MSCs were merged this week.
Spec Updates
This week and the week afterwards, the Spec Core Team are mostly focused on improvements to Matrix that we'd like to show off at FOSDEM 2023 this year! That consists of MSCs related to Faster Room Joins (MSC3943 among others) and Extensible Events (MSC1767).
Random MSC of the Week
The random MSC of the week is... MSC3230: Spaces top level order!
This defines an algorithm and a data structure that can be used to order one's top-level list of Spaces and have that order sync across all of their clients. Rooms and spaces within a Space continue to have their order defined by an
order
key (and failing that, theorigin_server_ts
field) in the correspondingm.space.child
event of their parent's Space's state.I won't get into the details of the algorithm here (or its criticisms), but feel free to jump into the MSC and take a look!
Dept of Servers 🏢
Synapse (website)
Synapse is a Matrix homeserver implementation developed by the matrix.org core team
dmr says
This week the Synapse team has been finishing a sprint on the faster joins project. As a reminder, this is a year-long project to make Synapse quickly join a new room by lazily loading some of its state history in the background. It is particularly needed when joining large rooms with lots of members: joining such rooms is bottlenecked on fetching, serialising, deserialising and validating a huge list of room member events. While the core logic and machinery has been in place for some time now, this sprint has concentrated on two pain points:
- making faster joins to work on Synapse installations using workers, and
- remaining edge cases needed for a good client UX.
Call for testers
We hope to ship the first iteration of faster joins support in Synapse 1.76.0. The release candidate
1.76.0rc1
will be released on Tuesday 24th Jan. We'd like to encourage homeserver administrators to try it out before the release proper. Once you've upgraded, try joining rooms which no-one else on your server is joined to. We graciously welcome any bug reports---please file GitHub issues if you find anything out of the ordinary after joining a room.Synapse 1.75
We released Synapse 1.75 (see blog) this week. Its highlights include:
- performance fixes for /sync and /hierarchy;
- support for RFC7636 when using OAuth 2.0 (which enables SSO via Twitter); and
- experimental support for MSC3391, Removing account data;
plus the usual selection of bugfixes, internal improvements and work on the faster joins project.
Our continued thanks to our community of admins, testers, contributors and end-users.
Dendrite (website)
Second generation Matrix homeserver
Till says
This week we've released two versions of Dendrite, 0.11.0 being the most recent one, and probably most exciting one, given we now reached 100% server-server parity to Synapse, with client-server parity at 93%!
Version 0.11.0 today:
Features
- Added
/_dendrite/admin/purgeRoom/{roomID}
to clean up the database- The default room version was updated to 10 (contributed by FSG-Cat)
Fixes
- The last three missing server-server Sytests - bringing us to 100% server-server Synapse parity (93% for client-server) 🎉
- An oversight in the
create-config
binary, which now correctly sets the media path if specified (contributed by BieHDC)- The Helm chart now uses the
$.Chart.AppVersion
as the default image version to pull, with the possibility to override it (contributed by genofire)Version 0.10.9 on Tuesday:
Features
- Stale device lists are now cleaned up on startup, removing entries for users the server doesn't share a room with anymore
- Dendrite now has its own Helm chart
- Guest access is now handled correctly (disallow joins, kick guests on revocation of guest access, as well as over federation)
Fixes
- Push rules have seen several tweaks and fixes, which should, for example, fix notifications for
m.receipt
- Outgoing presence will now correctly be sent to newly joined hosts
- Fixes the
/_dendrite/admin/resetPassword/{userID}
admin endpoint to use the correct variable- Federated backfilling for medium/large rooms has been fixed
/login
causing wrong device list updates has been resolved/sync
should now return the correct room summary heroes- The default config options for
recaptcha_sitekey_class
andrecaptcha_form_field
are now set correctly/messages
now omits emptystate
to be more spec compliant (contributed by handlerug)/sync
has been optimised to only query state events for history visibility if they are really neededIf you have a Dendrite homeserver, staying up-to-date is highly recommended so please upgrade when you can. Otherwise, if you want to play with Dendrite without having to set up your own infrastructure, the dendrite.matrix.org homeserver is open for registration (upon completion of a CAPTCHA, so you may need to register using Element Web).
As always, please feel free to join us in #dendrite:matrix.org for related discussion.
Dept of Bridges 🌉
matrix-hookshot (website)
A multi purpose multi platform bridge, formerly known as matrix-github
Half-Shot reports
Hookshot 2.7.0
Howdy! This release features one change, but an important change: We've finally fixed the poor UX around adding new connections in rooms via widgets. Up until today, the project selector input was quite poor and flaked out a lot. Missing search results, clipping dropdowns or duplicated entries were a common occurrence.
The new input field features a much improved look, so now you see the project name, description and avatar when searching across GitHub, GitLab and JIRA. The search time and accuracy should be much improved too.
If you've updated to the previous releases, 2.6.0,1, then now is a good time to do so because those releases contained a whole range of cool new stuff!
Check out 2.7.0!
Dept of Clients 📱
Nheko (website)
Desktop client for Matrix using Qt and C++17.
red_sky (nheko.im) announces
Nheko has another release already. Shortly after releasing v0.11.0, we discovered a CPU utilization issue that causes nheko to use excessive CPU, even when idle. We have released v0.11.1 to address this issue and also add a failure state for pending sent messages (to help avoid them getting stuck in the queue). Packages are available at https://github.com/Nheko-Reborn/nheko/releases/tag/v0.11.1 and on flathub for the flatpak users.
FluffyChat (website)
Krille says
I wrote a blog article about updomcing UX changes with DM rooms in FluffyChat here: https://ko-fi.com/post/UX-in-the-matrix--How-to-handle-direct-messa-M4M6HVHU6?justpublished=true&alias=UX-in-the-matrix--How-to-handle-direct-messa-M4M6HVHU6
Element Android (website)
Secure and independent communication for Android, connected via Matrix. Come talk with us in #element-android:matrix.org!
benoit says
We are making big progress to set up ElementX. The new architecture of the project has land to develop, and we are making the final cleanup. Next steps will be to integrate the Rust Sdk in a more professional way. For now it’s an AAR built manually and copied to the project. We are also writing documentation to help onboarding developers on this project!
Dept of SDKs and Frameworks 🧰
matrix-rust-sdk (website)
Next-gen crypto-included SDK for developing Clients, Bots and Appservices; written in Rust with bindings for Node, Swift and WASM
ben says
First and foremost: UniFFI async is all done and submitted for review 🎉 and first responses are pretty positive. Discussion has revealed some unlikely but possible undefined behavior that needs to be addressed and more review is needed. But overall, we are pretty confident that this will land soon. 🚀
Where there is light, there is shadow: When trying to integrate the community sqlite db backend we ran into a terrible bug in the underlying library that led to eventually having to abandon that port and go with a fresh implementation based on a different library - we are confident to show something, at least for crypto-db, fairly soon. Talking about crypto, aside from a few smaller improvements the JS bindings on top have gotten some typing improvements this week, too.
Timeline has support for state events now, too.
On Sliding sync we are looking at stabilization (tracking issue) and optimizing for time-to-first-usage ahead of FOSDEM and getting a first iteration into the hands of people out there as part of Element-X. It’s a painstaking process with plenty of small fixes and improvements on all parts. Through that and debugging on the interaction with the higher layers we were already able to shave off 900ms at cold-start-display-time, with more to come and other fixes, like logging improvements, done along the way.
️👉 Wanna hack on matrix rust? Go check out our
help wanted
tagged issues and join our matrix channel at Matrix Rust SDK.
Dept of Ops 🛠
jaywink reports
Matrix-Alertmanager, a bot to relay Alertmanager webhooks to Matrix rooms, got some new releases recently (latest v0.7.0). Basic auth is now supported for authentication and the Docker image size has been reduced by a large factor.
Dept of Bots 🤖
matrixfy (website)
VaiTon says
Greetings, fellow music lovers (and matrix enjoyers)! I had a brilliant idea whilst lounging on my couch, stuffing my face with pizza, and realized that I was too darn lazy to keep opening Spotify every time I want to skip a song. And lo and behold, I discovered that there was no way to command my Spotify account from the comfort of my Matrix room. So, I decided to create a bot to do the job for me (how convenient, right?).
It's currently in its alpha state, but any contributions are welcome, especially if you're a coding wizard.
To use it, all you need is a bot account on your favorite homeserver and a bit of setup magic. Check out the GitHub link for more information: https://github.com/VaiTon/matrixfy
Dept of Events and Talks 🗣️
FOSDEM 2023 Matrix Community Meetup (matrix room)
HarHarLinks announces
Are you as excited for FOSDEM 2023 as we are? Do you want even more Matrix programming? (hehe)
Join us for our Matrix meetup and BarCamp at HSBXL (how to get there, how to get in) on Friday (3. February) before FOSDEM starting 13:00 (1 pm) local time (CET) until the beer tasting starts in the evening. Thanks to our sponsors, we will have Pizza 🍕 and drinks 🍻!
Find all the info here and join #fosdem23-community-meetup:matrix.org to stay updated and related discussion.
See you there!
Dept of Interesting Projects 🛰️
bcorn says
Hello everyone! I’m a CS Ph.D. student at the University of Washington. My team is studying users’ privacy concerns when reporting unwanted messages on encrypted messaging platforms (e.g., WhatsApp, Signal, Matrix). We have already talked with 14 E2EE users but near the end of our project, we would to understand how community moderators actually moderate their communities. You can learn more about the study here (https://homes.cs.washington.edu/~leijiew/projects/privacy-of-reporting.html). If anyone who has moderation experience is interested to participate in our one-hour online interview study, please feel free to DM me on Matrix. We can use any preferred medium you like (such as audio calls or texting).
Dept of Guides 🧭
A guide on double-bridging a Matrix room with Signal and Whatsapp (website)
Ninananana announces
Hi everyone!
Some time ago, @james:ninasstuff.xyz and I became curious about using Matrix to bring together a split group of friends, of which half was on Signal and another half on Whatsapp. We knew that double bridging a Matrix room was possible, but we couldn't find a hands-on guide to do so. Therefore, we decided to write our own :)
Presenting it to you: How to unite Signal and WhatsApp groups using Matrix. Hopefully some of you will find it useful!
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 | nognu.de | 342 |
2 | willy.club | 352 |
3 | skladka.net | 437.5 |
4 | trygve.me | 495 |
5 | rimfaxe.net | 545 |
6 | wcore.org | 578 |
7 | mindlesstux.com | 694 |
8 | samlord.me | 915 |
9 | rom4nik.pl | 1056 |
10 | bgme.me | 1172.5 |
#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 | dendrite.matrix.org | 181 |
2 | dendrite.kootstra.frl | 304 |
3 | dendrite.s3cr3t.me | 395.5 |
4 | cringe.chat | 535 |
5 | rustybever.be | 572.5 |
6 | frai.se | 1353 |
7 | dendrite.beckmeyer.us | 1865 |
8 | evilcyberhacker.net | 4257 |
That's all I know
See you next week, and be sure to stop by #twim:matrix.org with your updates! And as always, the Matrix.org Foundation can only work with everyone playing fair game. If you can afford it, please consider donating via donorbox (individuals) or becoming a member organisation of the Matrix.org Foundation to support the core team behind Matrix.