This Week in Matrix 2022-12-16

Matrix Live

Dept of Status of Matrix 🌡️

Matthew announces

BwMessenger (the German Armed Forces' branded version of Element) is expanding to cover the whole of Germany, as BundesMessenger: https://element.io/blog/bundesmessenger-is-a-milestone-in-germanys-ground-breaking-vision. Super exciting to see Matrix spreading throughout the German public sector (as well as Sweden! https://element.io/blog/dsam-och-esam-forordar-matrix-for-saker-och-federerad-kommunikation-inom-sveriges-offentliga-sektor/)

Kim Brose adds

homepage: https://messenger.bwi.de/bundesmessenger, sourcecode: https://gitlab.opencode.de/bwi/bundesmessenger/

Dept of Spec 📜

TravisR announces

The 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 in Final Comment Period:

Accepted MSCs:

  • No MSCs were accepted this week.

Closed MSCs:

Spec Updates

With the year wrapping up, the Spec Core Team has been looking at getting some of the outstanding MSCs landed and ready for spec writing, as well as writing more spec itself. There's also plenty of work behind the scenes on Extensible Events: a mission to redefine how events work within the Matrix ecosystem. Check out MSC1767 and friends for an overview of what this actually entails.

SCT Holiday

We're coming up to some holiday time for the SCT: the spec progress might naturally slow as we all close our laptops, but we'll be back in our full capacity in the new year, working out the next version of Matrix in time for FOSDEM (hopefully) :)

Dept of Servers 🏢

Telodendria (website)

An open source Matrix homeserver implementation written from scratch in ANSI C and designed to be lightweight and simple, yet functional

Jordan Bancino reports

Telodendria

Telodendria v0.1.0 was released earlier this week. This is the very first tagged release, and it is a mostly symbolic release intended to signal that most of the elementary components necessary to construct a Matrix homeserver are now in place, and I'm ready to actually start implementing Matrix API endpoints. In fact, I've already started on the user-interactive authentication API and the registration endpoints, and am making good progress on them.

As always, I could use your help. If you like what's happening, then feel free to spread awareness about the project, come say hi in the Matrix rooms, or send a donation. Again, #telodendria-newsletter:bancino.net has the latest, and now that I'm actually versioning the project, you might be interested in #telodendria-releases:bancino.net, which is a low-traffic room that simply notifies of new releases.

Synapse (website)

Synapse is a Matrix homeserver implementation developed by the matrix.org core team

Shay says

Synapse

How is it Friday already (and the end of the year)?? While the holidays are almost upon us, the team behind Synapse has been hard at work and has released v1.74.0rc1 for your consideration. Some notable features and bugfixes include:

  • Improved user search for international display names
  • The addition of a new push.enabled config option to allow opting out of push notification calculation
  • Fixes for a long-standing bug where a device list update might not be sent to clients in certain circumstances
  • The addition of Single-Sign On setup instructions for Mastodon-based instances

and much, much more! You can take a look here: https://github.com/matrix-org/synapse/releases. A note about the end of the year: With the holiday season coming up we plan to release Synapse v1.74.0 as normal next Tuesday, December 20th, 2022 and then skip releases for the next two weeks, before resuming with v1.75.0rc1 on Tuesday, January 10th, 2023.

Dept of Bridges 🌉

Nico reports

Valheim Matrix Bridge

The bridge now avoids double bridging even with multiple users running the bridge client side. It also prevents historical messages from showing up in Valheim, so that starting the game is less confusing. Last but not least, red_sky (nheko.im) ported the user color algorithm from Nheko, so the colors should now look more familiar instead of being a generic blue.

Dept of Clients 📱

Nheko (website)

Desktop client for Matrix using Qt and C++17.

Nico reports

Nheko

Nheko now prompts you to join the upgraded room, deletes image files you haven't accessed in a month (which freed over 1GB of data on my system) and tries to focus the chat, when you start typing.

LorenDB also added support for confetti messages, although those seem to work only on systems, that are not mine! You can of course turn them off in the settings. :D

Element Web/Desktop (website)

Secure and independent communication, connected via Matrix. Come talk with us in #element-web:matrix.org!

andybalaam announces

Element Web/Desktop

We have been working really hard on the 20th December release (with threads on by default! 🎉 🧵 🎉) this week:

  • We did lots of work on threads, and we're ready to turn it on by default!
  • All our code is now automatically formatted with prettier.
  • We made small fixes and improvements to voice broadcasts and device manager.
  • We are making progress on automating the Element Desktop release process.
  • We are investigating performance improvements in matrix-js-sdk.

And if you love to live on the edge, in labs (you can enable labs features in settings on develop.element.io or on Nightly):

  • The rich text editor can now create inline code.
  • Soon, we will have a Favourite Messages screen!

We will skip one release cycle while team members are on holiday, so after 20th December, the next release will be 17th January 2023.

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

  • What’s this then? The last release of Element in 2022, that’s what! And to round out the year, we’re enabling Threads for everyone in the release planned for the 20th of December!
    • Threads: Enabled by default for everyone. Please let us know if you discover any issues as we get ready to make them permanently enabled.
    • Notifications: The Spaces button now shows a badge to indicate the number of unread conversations in other spaces so you won’t miss those important messages or invites anymore.
  • Things are quickly moving along on the ElementX side too
    • the new split iPad and macOS layout has been merged
    • the timeline has been refactored and scrolling is now smoother than ever
    • we have brought our code coverage to 45% and actively working on making it even better
    • and we’re also working on improved room list loading, a new room details screen and improving the developer experience and reliability

Element Android (website)

Secure and independent communication for Android, connected via Matrix. Come talk with us in #element-android:matrix.org!

benoit announces

Element Android

  • Element Android 1.5.12 is currently being released on the stores. It includes threads support, enabled by default.
  • We are currently working on finalising the session management screens, and we are fixing issues in polls. The composer is also getting some improvements, like support for links, code blocks, quotes, etc.
  • On ElementX, we are working to setup the project: dependency injection, continuous integration, and other similar tasks.

Dept of Non Chat Clients 🎛️

imbev says

matrix-social

matrix-social is a new Matrix "Social Media" client made using the Matrix Rust SDK and Yew. With a design inspired by Reddit, matrix-social's purpose is to be a social media client that integrates well with the rest of the Matrix ecosystem. At the moment, it is very early in development, and lacks crucial features such as sending messages, comments, reactions, and categories.

The source code is licensed AGPL and hosted at https://codeberg.org/imbev/matrix-social

If you have experience with Rust, WASM, or are otherwise interested, join us in https://matrix.to/#/#matrix-social:matrix.org

Matrix Wrench (website)

Matrix Wrench is a web client to tweak Matrix rooms.

jaller94 says

Matrix Wrench v0.9.0 🔧

Source: https://gitlab.com/jaller94/matrix-wrench/

  • Added: Password login
  • Added: Create and mutate users using the Synapse API.
  • And, together with the team of the #matrix-berlin:matrix.org, I've added (hidden URLs so far) pages for people to analyse their Matrix usage (How many of my DM contacts are in a given room? How many homeservers are joined to a given room? Which of my DM contacts do I share the most rooms with?). For a preview or to bring in your ideas, please join us in #matrix-dashboard:matrix.org.

Dept of Widgets 🧩

Oliver Sand announces

Going towards Christmas we from Nordeck can announce that we made another of our widgets Open Source: matrix-barcamp.

The matrix-barcamp widget allows to perform agile Barcamps in Matrix spaces. You can create a space, add the widget to a Lobby room and use it to collaboratively create your Barcamp agenda. Once you set up your sessions, the widget can take care of creating the individual discussion rooms inside the space. The widget was created in collaboration with the ZIT SH from the German public sector. Like the matrix-poll widget, this widget is built using TypeScript, React, our matrix-widget-toolkit, and the matrix-widget-api. Our remaining widgets will follow soon, we keep you updated here.

If you have any questions, reach out to us at #nordeck:matrix.org.

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 announces

Matrix Rust SDK

With the last fixes ported over from the demo branch and the growing-full-sync-window support added, we turned our head back to debugging a few remaining deserialization and decryption bugs in Sliding Sync when we were hit by a new tokio-thread-panic on Element-X at the end of the week. A quick debugging revealed that it was caused by out of bound indizes supplied by the server. We are still looking into making our code more defensive for these circumstances, too.

Async Uniffi is progressing nicely meanwhile, with now both Swift and Kotlin being able to run and execute a Rust created future. We now have fallible function support implemented on the proc-frontend and further work is coming up to support &str and &[u8].

This week also saw the first experimentation in replacing the default Sled database backend. A first PoC attempt was made with sanakirja (pijul is based on), but after learning that its API is unsound and can lead to UB, the team agreed that this requires quit a bit more work (especially in terms of safety guards) than we have time for in the short term. Thus, offering a sqlite-backend for mobile in the short term at least for the crypto store has been agreed upon.

👉️ Wanna hack on matrix rust? Go check out our help wanted tagged issues and join our matrix channel at Matrix Rust SDK.

Dept of Events and Talks 🗣️

ChristianP reports

Matrix Community Summit Berlin 2022 Podcast (German)

Meet ben, Rust developer and Co-Founder at EFFEKTIO. He and I spoke about Social Organising and how his app tries to enable people to participate more directly in their community, political party or neighbourhood.

Same website and RSS feed as last week.

Mastodon toot: https://mastodontech.de/@jaller94/109523913828753926

I hope you enjoy this week's interview and learn what other people in the community are up to. Stay tuned for a second English episode in two weeks!

Thib announces

Very good news for FOSDEM: we managed to make some room for all of the proposals we got! We thank everyone participating in our CfP for submitting such high quality proposals. Our in-person devroom is going to be on Sunday 5 morning, between 09:00 and 13:00 CET. It was difficult to make a choice, but we had to put some talks in the virtual devroom only in the afternoon. We will follow-up with speakers individually.

We will also have a stand at FOSDEM, and will be happy to see you there, talk about what we're doing, what's next and just generally have a nice chat together.

Nik | Klampfradler 🎸🚴🏻 announces

Professional Matrix courses at Linuxhotel

From June 19th to 23rd 2023, the, in Germany, well-known Open Source training center Linuxhotel will be offering two courses on Matrix (in German):

  1. Matrix: Server operation, usage and federation
  2. Matrix: Development and IoT

If you want to learn hands-on how to establish Matrix and Element for your company or team, how to operate it, or how to make small IoT components operatable via Matrix – or know someone who wants to know – and speak German, don't forget to get seats while they're available 🤓!

Dept of Interesting Projects 🛰️

Florian Heese reports

https://forgejo.org/2022-12-15-hello-forgejo/

Forgejo’s code base is of course hosted on Codeberg, and by using Woodpecker CI instead of Drone and Matrix instead of Discord, we exclusively rely on Free Software tools.

Dept of Guides 🧭

Bram says

Introducing the Matrix Events Directory

Are you a client developer working with custom event types in the Matrix ecosystem? It can be tough to keep track of all the different events that are being used, and even harder to interoperate with other developers' clients and bots. That's why I've built the Matrix Events Directory, a website where you can look up and register custom event types.

Here are just a few ways the Matrix Events Directory can help you:

  1. If you come across an event type that you're not familiar with, you can use the directory to find out more about it and decide if you want to do anything with it.
  2. If you're working on implementing a new feature in your client, you can use the directory to see if anyone else has already done it and potentially interoperate with their work.

I hope that the Matrix Events Directory will improve interoperability and make it easier for the community to define and use their own custom events, while still being able to build on top of the Matrix spec.

Please check out the repository and the website at https://matrix.directory. Contributions are welcome!

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
1keks.club541.5
2catvibers.me662
3nognu.de714
4alemann.dev741
5matrix.nicfab.it788.5
6willian.wang851
7kittenface.studio894
8anontier.nl1175.5
9grmml.de1444
10mailstation.de2786.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.

RankHostnameMedian MS
1matrix.sum7.eu192
2frai.se272
3dendrite.neilalexander.dev307
4cringe.chat320
5willian.wang567
6forlorn.day661
7grin.hu4507.5

That's all I know

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