This Week in Matrix 2022-04-29
29.04.2022 19:05 β This Week in Matrix β ThibπMatrix Live π
πDept of Status of Matrix π‘οΈ
Thib says
Taking my GNOME Foundation hat on for this news: the GNOME Foundation is adopting Matrix! Is this TWIM worthy? It probably wouldn't have been if it wasn't for all the great work of Gwmngilfen! We published a joint blog post (though in all fairness Greg did all the heavy lifting) to explain how the decision was taken, and transparently share the data we had at hand.
In practice that means after years of Matrix being around in the GNOME community and being the most popular platform, it's finally moving out of the grey zone of "everyone is using it but some older contributors really like their current set up, so it exists but it's not officially our primary platform". For now we're keeping both our Matrix instance and the bridge to GIMPnet (the IRC network GNOME people have been using for years). The major change is that IRC is now our legacy, so if tradeoffs have to be made Matrix will keep the premium experience.
Again, huge shout out to Gwmngilfen who gave meaning to the data I handed to him.
https://blog.ergaster.org/post/20220425-adopting-matrix/
πDept of Spec π
Andrew Morgan (anoa) reports
πSpec
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:
MSCs with Proposed Final Comment Period:
MSCs in Final Comment Period:
- No MSCs are in FCP.
Merged MSCs:
- No MSCs were merged this week.
πSpec Updates
Hello again everyone! Your regularly-scheduled TWIM Spec update has returned, along with graph-based media!
Quick news to point out this week is that a new maubot plugin has been written to simply note the details of MSCs after their IDs ("msc1234") have been posted in a room. The bot supports multiple MSC IDs in a message, message edits, threads and end-to-end encrypted rooms.
A copy of the bot is currently running under
@mscbot:matrix.org
, so feel free to invite it to a room if you'd find that useful!πRandom MSC of the Week
The random MSC of the week is... MSC3216: Synchronized access control for Spaces!
This MSC serves as an alternative to MSC2962, and essentially allows for user permissions to be simultaneously enforced across a set of rooms in a Space. This would allow functionality to users of platforms like Discord, where a user can be a moderator in a guild, and thus in all of that guild's channels.
πDept of Servers π’
πSynapse (website)
Synapse is a Matrix homeserver implementation developed by the matrix.org core team
richvdh says
A few operational issues have taken up quite a bit of the team's time this week, but we've still found time to cut a couple of release candidates of v1.58. Highlights include:
- Locked python dependencies for our Docker images and Debian packages, thanks to David's poetry work.
- Some big performance fixes, including an optimisation to login from Erik and one to message backfill from yours truly.
We're also excited to see quite a few contributions from outside the core maintenance team: thanks to Dirk, Beeper, Famedly and everyone else in the community who has made pull requests!
Meanwhile on the core team, Sean has been continuing to lay groundwork for faster room joins, and Olivier has been doing some exciting work so that we will (finally) be able to test Synapse in worker mode under Complement.
πDendrite (website)
Second generation Matrix homeserver
neilalexander says
This week we announced Dendrite 0.8.2 with a bunch of usability fixes. As always, join us in #dendrite:matrix.org for more discussion and updates.
πFeatures
- Lazy-loading has been added to the
/sync
endpoint, which should speed up syncs considerably- Filtering has been added to the
/messages
endpoint- The room summary now contains "heroes" (up to 5 users in the room) for clients to display when no room name is set
- The existing lazy-loading caches will now be used by
/messages
and/context
so that member events will not be sent to clients more times than necessary- The account data stream now uses the provided filters
- The built-in NATS Server has been updated to version 2.8.0
- The
/state
and/state_ids
endpoints will now returnM_NOT_FOUND
for rejected events- Repeated calls to the
/redact
endpoint will now be idempotent when a transaction ID is given- Dendrite should now be able to run as a Windows service under Service Control Manager
πFixes
- Fictitious presence updates will no longer be created for users which have not sent us presence updates, which should speed up complete syncs considerably
- Uploading cross-signing device signatures should now be more reliable, fixing a number of bugs with cross-signing
- All account data should now be sent properly on a complete sync, which should eliminate problems with client settings or key backups appearing to be missing
- Account data will now be limited correctly on incremental syncs, returning the stream position of the most recent update rather than the latest stream position
- Account data will not be sent for parted rooms, which should reduce the number of left/forgotten rooms reappearing in clients as empty rooms
- The TURN username hash has been fixed which should help to resolve some problems when using TURN for voice calls (contributed by fcwoknhenuxdfiyv)
- Push rules can no longer be modified using the account data endpoints
- Querying account availability should now work properly in polylith deployments
- A number of bugs with sync filters have been fixed
- A default sync filter will now be used if the request contains a filter ID that does not exist
- The
pushkey_ts
field is now using seconds instead of milliseconds- A race condition when gracefully shutting down has been fixed, so JetStream should no longer cause the process to exit before other Dendrite components are finished shutting down
πDept of Bridges π
πmatrix-appservice-kakaotalk (website)
A Matrix-KakaoTalk puppeting bridge.
Fair announces
The bridge should finally be at "Good Enough" status--and to celebrate, I've bumped the version to
0.2.0
π₯³Features & fixes include:
- KT->Matrix file messages
- Matrix->KT room leaves
- To leave a KT channel from Matrix, issue the
!kt leave
command in a portal room.- Ability to name the virtual "device" for the KakaoTalk login session created by the bridge
- This makes it easier to distinguish between multiple login sessions of the bridge
- Improvements to KT->Matrix joins, kicks, and admin status
- Many significant stability & correctness improvements
- Docker support
- This is currently in the
testing
branch until I can confirm that it works properlyI've also opened a PR to showcase this bridge on https://matrix.org/bridges/ π
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
πDept of Clients π±
πElement (website)
Everything related to Element but not strictly bound to a client
Danielle says
Threads
The Threads Beta is live! Turn it on in Labs
- Let us know your feedback as we continue to work on this feature.
The next step for Threads is improving our notifications and push rules on threaded messages. Weβve drafted some MSCs and are excited to move them forwards.
Community testing
Thank you all who joined the async community testing sessions.
Next week, we are planning to test:
- Improvements to the new search experience on web
- Video rooms!
- And the new release candidate
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!
Danielle says
We have increased our pool of issue triagers, so expect to meet more of our web team on GitHub
Published epic issue for our tech strategy for 2022
The way that read receipts are displayed in rooms with lots of people has improved
In labs (you can enable labs in settings on develop.element.io or on Nightly)
- Focusing on resolving last issues with threads, currently blocking on MSCs for read receipts for threads and push rules for mutually related events
- Video rooms are getting ready to enter beta!
πElement iOS (website)
Secure and independent communication for iOS, connected via Matrix. Come talk with us in #element-ios:matrix.org!
Danielle announces
- The leaving space experience is now in line with web: you can leave all rooms, none of the rooms or only selected ones
- Our first time user experience and create account flow is being improved.
- Started prototypes for IA experiments. Weβre hoping to make the app much easier to use and will test out new interactions and patterns to see what works for users.
πElement Android (website)
Secure and independent communication for Android, connected via Matrix. Come talk with us in #element-android:matrix.org!
Danielle reports
- Hard at work fixing bugs - weβve squashed one where the UI would freeze after incremental syncs and weβve also made improvements to the read line and read markers.
- Our team is still working on the sign up flow. Itβll be ready soon and we hope that new-to-element users will find it much easier (and less scary) to create an account and get chatting.
- Weβve started designing and building prototypes for a new home experience; weβre excited to start experimenting with ways we can simplify our app.
πDept of Non Chat Clients ποΈ
πThirdroom (website)
A browser-based open metaverse client
Matthew reports
lots of exciting progress happening on Third Room - an open metaverse client powered by Matrix: https://github.com/matrix-org/thirdroom/discussions/47
πMatrix Wrench (website)
Matrix Wrench is a web client to tweak Matrix rooms.
ChristianP says
v0.6.2
- Added: A "Remember login" checkbox lets you decide whether to store an access token in localStorage.
- Added: The room lists now have external matrix.to links.
π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 announces
Our last update included the words "if things go to plan", and even though that's usually calling for trouble, not so this time! We released Ruma 0.6.0 yesterday and apart from a tiny missing feature that was fixed and released as 0.6.1 today, everything went smooth π
The biggest breaking changes are
- new owned identifier types β calling
.to_owned()
on&UserId
now gives you anOwnedUserId
instead ofBox<UserId>
- a new event enum hierarchy, where redacted events are better taken into account
Also, with this release we can now claim practically 100% coverage of Matrix v1.2, that is you can send and receive requests for all specified endpoints of the various APIs, as well as send and inspect all specified event types, all with a strongly-typed Rust API.
πDept of Ops π
πmatrix-docker-ansible-deploy (website)
Matrix server setup using Ansible and Docker
Slavi reports
Thanks to Aine of etke.cc, matrix-docker-ansible-deploy can now set up the Buscarron bot. It's a bot you can use to send any form (HTTP POST, HTML) to a (encrypted) Matrix room
See our Setting up Buscarron documentation to get started.
πBuscarron (website)
Web forms (HTTP POST) to matrix
Aine reports
the Miounne's successor is here - meet Buscarron!
There were no news about miounne for a while because we worked on a new "iteration" that can handle matrix encryption (thanks to the mautrix-go).
So, here is it - Buscarron v1.0.0 with e2e encryption and multiarch (arm32, arm64, amd64) support. It can handle any HTTP POST/HTML form and send it to a (encrypted) matrix room. Of course, Buscarron has small neat features like spam checker and rate limiter.
etke.cc is migrating to Buscarron and deprecating Miounne.
Go check out the source code and say hi in the #buscarron:etke.cc
πDept of Bots π€
πLocation streams bot for MSC3489
ChristianP announces
I wrote a small, extensible bot that replays GPX recordings as a location sharing stream. This is an implementation of MSC3489: Sharing streams of location data with history and may help you debug the feature or see it with real world data. Join my Space to see this in action (with the Element Web Labs feature): #geo-trackers:iot-staging.ems.host or run the bot with your own rooms and GPX files. https://gitlab.com/jaller94/matrix-location-sharing
πOpsdroid (website)
An open source chat-ops bot framework
Cadair says
Opsdroid 0.26 has been released this week. Included in this release are some improvements to the Rasa NLU parser if you want natural language training for your matrix bots as well as some small documentation improvements to the matrix connector and other bug fixes. Big thanks to Oleg for many of the changes as well as all the other contributors.
πMatrix Community Manager (website)
The highly configurable message aggregation and filtering bot for matrix!
Sleuth reports
Matrix Community Manager has seen some work in the features department over the past week.
With the new Ansible playbook I think it's possible for someone with a bit of Ansible experience to get this bot up and running in under 10 minutes. I did a fresh install in 4 minutes. That is a fresh VPS and creating a new matrix account. Instructions for the Ansible deploy can be found here.
The major features are:
- An Ansible playbook that should simplify the installation process for new users.
- Edits to the message that triggered the bot will now be reflected in the bots message. This bot now has a feature Twitter doesn't have :laughing:.
- Hashtags are now called filters. Filters are more customizable allowing for custom delimiters and now show the originating room.
- The AutoJoin feature has filters to control who or from where invites will be excepted.
- Announcements can have more than one output room. Using a comma separated list of room ids.
A few bugs were fixed as well:
- Some text characters were causing messages to be classed incorrectly thus causing crashes.
- Exotic characters specifically in links were causing crashes.
Come chat on Matrix
πDept of Events and Talks π£οΈ
πMatrix Meetup Berlin
ChristianP says
We're meeting on Fri, 6th May at 6:30 PM in the c-base. Please join us, if you're looking for locals who work with Matrix and use it regularly. Our Matrix room is Matrix Meetup Berlin.
π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 | maunium.net | 259 |
2 | envs.net | 315 |
3 | neko.dev | 366 |
4 | carnot.cc | 481 |
5 | tchncs.de | 562.5 |
6 | jeroenhd.nl | 588 |
7 | broccoli.town | 604.5 |
8 | kohlernet.de | 762 |
9 | matrix.cirk2.de | 867 |
10 | quyo.de | 1126 |
π#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 | carnot.cc | 294 |
2 | matrix.sum7.eu | 389 |
3 | cry.is | 499.5 |
4 | foxo.me | 654 |
5 | rustybever.be | 693.5 |
6 | matrix.awesomesheep48.me | 898 |
7 | beckmeyer.us | 899 |
8 | sspaeth.de | 991 |
9 | dendrite.matrix.org | 1370.5 |
πThat's all I know π
See you next week, and be sure to stop by #twim:matrix.org with your updates!