πŸ”—Matrix Live S13E12 - Foundation & Event updates

πŸ”—Dept of The Matrix Conference πŸ›οΈ

Andy says

The Matrix community assembles in MalmΓΆ, Sweden in a little over 10 days' time, for our conference, followed by another day of hacking and collaborating in Copenhagen, Denmark! Are you ready to join us?

As mentioned in Matrix Live this week, the event will include a demonstration of cross-border federation in the public sector. Don't miss it!

Speaker card showing Matthieu Velten, Kenneth Edwall and Jeroen Franssen with the title "Bridging private federations across borders"

Don't forget to bring your project stickers with you, for the event sticker exchange.

This really is a must-attend event, get your ticket now here.

πŸ”—Dept of Events and Talks πŸ—£οΈ

πŸ”—Stammtische (website)

HarHarLinks reports

A Stammtisch ("regular's table") is a German meetup format where those with a shared interest meet regularly for discussion, exchange, and socialising.

Find more community organised events at matrix-community.events!

Are you running a Matrix meetup? Add it to the list!

πŸ”—Dept of Spec πŸ“œ

Andrew Morgan (anoa) {he/him} announces

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://spec.matrix.org/proposals.

πŸ”—MSC Status

New MSCs:

MSCs in Final Comment Period:

  • No MSCs are in FCP.

Accepted MSCs:

  • No MSCs were accepted this week.

Closed MSCs:

  • No MSCs were closed/rejected this week.

πŸ”—Spec Updates

Despite the lack of MSCs entering FCP/being accepted/etc. there's been quite a lot of activity on the Matrix 2.0 spec front!

The SCT is hoping to get the Matrix 2.0 MSCs landed before the Matrix conference. Follow along below for how that's going:

πŸ”—Dept of Clients πŸ“±

πŸ”—Tesseract (website)

Marco announces

Hello, folks! It's been some time since the last update, so here it is:

Tesseract is now in beta! The last missing features (invite dialog and room moderation: kick/ban/unban) were added in 0.9.0. This doesn't mean new features aren't coming; only that it should be possible to use it as your main daily desktop client.

There have been 7 releases since the last TWIM post and there are too many changes to list here, but I'd like to mention call rooms, directory browser, user status, and simpler encryption setup and recovery.

About encryption setup: in the ongoing effort to make this easier and more user-friendly, a new silent recovery setup was added (only for accounts without recovery set up). Tesseract will set the encryption and recovery silently and save the recovery key in the OS secure storage (only if available), and then periodically nag the user to make sure it is saved in a better/safer place. This way a new user will have a fully functional client with all the end-to-end encryption capabilities set up, right after login. (This can be disabled with a build flag, in case a build without this functionality is needed). Hopefully this will make onboarding new users much simpler.

On a different note, Tesseract is now available in the Microsoft Store, which is something I never imagined I would say out loud, but here we are 🀷🏻 (easier installs, with proper signed binaries, for free; how could I resist?)

For the curious, here are all the recent changelogs. Feel free to drop by the official room!

πŸ”—Element X Android (website)

Android Matrix messenger application using the Matrix Rust SDK and Jetpack Compose.

Jorge says

Hello everyone, this week on the Element X Android team we've been focused on:

  • Improving the multi-account feature (still behind a feature flag). There is a better UX for selecting which account you're using and more places where this is useful, like when sharing something coming from outside the app.
  • Global search: we're now able to automatically back paginate and add past history to the search index so you can search for older messages in your encrypted rooms. The feature should be available shortly, too!
  • Multi-selection of messages in rooms: you'll be able to select and forward several messages into other rooms, instead of having to do it one by one. There are some limits set to prevent spamming. The feature is still a work in progress, so it's behind a feature flag.
  • Element call native: the VOIP team has been working really hard to deliver a better experience than webview integration, which is known to have limitations and audio bugs we can't fix because the webview environment limits us, so they built a native experience instead. This is behind a feature flag for now, but if you can test it, we'd love to know your feedback.
  • Unread counts in the room list: we're displaying unread notification counts in rooms now and we've improved their UI too. With backpagination, they should be way more accurate now, although we know there are still some corner cases we need to fix. There is also the option now in the app to display only unread notifications in the room list, instead of displaying also an indicator for unread messages in rooms you don't really care about.
  • Improving the send queue: we know there are some issue related to the send queue after we changed its logic to try to enforce the order of sent events and are working on fixing those.
  • We're now automatically dismissing notifications for rooms we know are fully read from other devices.

And many other bug fixes and improvements.

πŸ”—Dept of VoIP πŸ€™

πŸ”—LiveKit JWT service (website)

Bridging Matrix and LiveKit for Matrix RTC realtime sessions.

Johannes Marbach says

lk-jwt-service v0.8.0 was released yesterday. This release updates the Client-Server endpoints for token requests and delayed leave delegation to the latest state of MSC4195. Some of these changes are breaking, unfortunately. We've considered this acceptable because we're also still wrapping up the client-side implementation for actually using the Client-Server endpoints in matrix-js-sdk and element-call. The legacy, non-client-server endpoints still exist, however, and have received a security fix. Therefore, we recommend updating in either case.

πŸ”—Dept of SDKs and Frameworks 🧰

πŸ”—djangomatrixappservice

Fabian says

Do you want to manage a larger amount of bots (lets say you want to write another bridge)? How about managing them through a web interface? Or just send notifications from your webservice to your users? How about implementing all this in a powerful, python-based web framework?

Well, here is a solution to that! I have completely rewritten pretty much all of the code in the central component of a larger project that i started two and a half years ago during my funding from PrototypeFund.

I call this central component djangomatrixappservice, because it is a Django app that can interact with the matrix application service api. It comes bundled with a matrix-nio based client.

It supports multiple auth types:

  • Application service identity assertion
  • Rotating OIDC/MAS tokens
  • Legacy password login/long-lived tokens

Activity is triggered by…

  • your code
  • push notifications directly from the homeserver to your web service
  • application service transactions to your web service

There is no long-running sync-requests in the background, so this does scale to as many accounts as you like without requiring more energy.

Despite having found ways to unit test a lot of it, there are still important parts that are not covered by that yet, so currently it is very experimental. I am posting this now, because I am confident that this approach is abstract enough to fulfill a lot of developer needs, but provides enough guidelines to become a common base for different projects. Since the initial migration for a django project is pretty important to get right, this is the perfect time to gather feedback for that.

Next steps include:

  • Add more documentation on how to get started
  • Increase the coverage of unit testing
  • Gather experience from more little projects

The code is hosted on codeberg: https://codeberg.org/alertrix/djangomatrixappservice

Feel free to reach out to me in the #twim-offtopic room or #djangomatrixappservice:alertrix.net

I would love to hear your feedback (how would you want to integrate it in a project) and I am looking forward to posting more about this in the future!

πŸ”—Dept of Built on Matrix πŸ—οΈ

πŸ”—OUDEA and bytEM

Tero says

OUDEA and the first public version of bytEM are now live.

As bytEM is built on Matrix / Synapse federation, I thought this might also be interesting for the wider Matrix community. We’ve now reached the point where the architecture, installer and first working implementations can all be explored publicly:

The basic idea is to use Matrix federation not primarily for communication, but as the underlying infrastructure for a federated data exchange architecture β€” allowing independently operated data products to be discovered, referenced and exchanged across organisations.

We would really appreciate any further opportunity to give thisΒ air time within the Matrix community, whether at an upcoming Matrix Conference, conference session, community call, or another format you think would fit. Unfortunately my official application to present in MalmΓΆ was turned down.

I think it could be an interesting example of Matrix being used well beyond messaging, and we’d be very happy to present and demo what we have built, what we have learned, and where we are taking it next.

πŸ”—Matrix Federation Stats πŸ“Š

Aine [etke.cc] says

collected by MatrixRooms.info - an MRS instance by etke.cc

As of today, 20512 Matrix federateable servers have been discovered by matrixrooms.info, 4122 (20.1%) of them are publishing their rooms directory over federation. The published directories contain 19715 rooms.

The most popular server software among the online servers is:

  • synapse: 15804 (77.0%)
  • continuwuity: 1920 (9.4%)
  • conduit: 543 (2.6%)
  • dendrite: 284 (1.4%)

Stats timeline is available on πŸ“Š MatrixRooms.info/stats

🧩 Integrations with apps and servers | πŸ’œ Support the project | πŸ‘‰ How to add your server | πŸ™… How to remove your server

πŸ”—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.

Join #ping:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.

RankHostnameMedian MS
1vrkknn.net167
2codestorm.net186
3raccoon.cafe192
4sspaeth.de235.5
5ellis.link251.5
6awesomesheep48.ca301
7qwertyad.one317.5
8victorewik.es353
9elisaado.com367.5
10koshchki123.com390.5

πŸ”—That's all I know

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

To learn more about how to prepare an entry for TWIM check out the TWIM guide.

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