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:

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 return M_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 properly

I'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 an OwnedUserId instead of Box<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.

RankHostnameMedian MS
1maunium.net259
2envs.net315
3neko.dev366
4carnot.cc481
5tchncs.de562.5
6jeroenhd.nl588
7broccoli.town604.5
8kohlernet.de762
9matrix.cirk2.de867
10quyo.de1126

#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.

RankHostnameMedian MS
1carnot.cc294
2matrix.sum7.eu389
3cry.is499.5
4foxo.me654
5rustybever.be693.5
6matrix.awesomesheep48.me898
7beckmeyer.us899
8sspaeth.de991
9dendrite.matrix.org1370.5

That's all I know 🏁

See you next week, and be sure to stop by #twim:matrix.org with your updates!

The Foundation needs you

The Matrix.org Foundation is a non-profit and only relies on donations to operate. Its core mission is to maintain the Matrix Specification, but it does much more than that.

It maintains the matrix.org homeserver and hosts several bridges for free. It fights for our collective rights to digital privacy and dignity.

Support us