πŸ”—Local-first Matrix

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

HarHarLinks says

πŸ”—Matrix @ FrOSCon (website)

FrOSCon is the two-day Free and Open Source Software Conference, taking place every year in August at the University of Applied Sciences Bonn-Rhein-Sieg by Bonn, Germany. The Matrix community has long been a part of it, showing off and advertising Matrix as one of the many FLOSS projects. Drop by to say hi at our and the many other exhibitor booths, watch talks across 7 or more rooms in parallel, join one of the many workshops, chat with us, and much more. See you there this weekend!

For more Matrix Community Events, join our chat room #community-events:matrix.org, follow us on the Fediverse @[email protected], and check our website (we sometimes even update it).

πŸ”—Dept of Spec πŸ“œ

TravisR reports

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

The Spec Core Team (SCT) continues to focus on Matrix 2.0 MSCs with an aim of cutting the release soon. There's not much to report on weekly, but you can follow the SCT's progress in the SCT Office room or on our tracking board.

Other MSCs are still being accepted, though may experience process delays due to priority being given to Matrix 2.0. Let the team know if there's an MSC which could do with review through the SCT Office.

Stack Chart of MSC progress over time

πŸ”—Dept of Servers 🏒

πŸ”—Synapse (website)

Synapse is a Matrix homeserver implementation developed by Element.

madlittlemods (Eric Eastwood) announces

This week we have a new release candidate, Synapse v1.159.0rc1. To highlight:

  • On the user status front, we landed support for MSC4429: Profile Updates for Legacy Sync (defaults to disabled). To try this out, enable it via include_profile_updates_in_sync in your homeserver config and then use a client which also supports it. You can use the nightly version of Element Web (like https://develop.element.io) with the "User Status" labs flag enabled (visible after you enable "Developer mode" from /devtools). Pro-tip: /status <emoji> <text> ✨. More work to be done on this front like Sliding Sync support and federating all of this goodness.
  • We shipped some worker replication fixes and robustness tweaks this week (#20085, #20071). This also spawned a few more follow-ups to add some metrics so we can better notice when things are going wrong (will land in the coming weeks).
  • If you run Synapse against PostgreSQL, we now set idle_in_transaction_session_timeout (30 minutes) on new connections, so a leaked connection can no longer sit there holding locks or blocking vacuum indefinitely (#20077).
  • On the Matrix v1.16 spec-compliance front, Jason Little from Famedly has been landing fixes (#20021) as we march towards being able to update the default room version to 12.
  • To make it easier to give us useful info when reporting issues, we have new documentation on how to share a JSON snapshot of your Grafana dashboard (#20048). This is especially helpful when reporting performance problems as we can import the snapshot to dive straight into the Grafana dashboard ourselves to look for clues (way better than static screenshots).

Also for those that use our Debian/Ubuntu packages from packages.matrix.org, we've updated the signing key expiry date. This should be transparent to those that update before the previous version of the key expires (2027-03-15), but please check the relevant section in the upgrade notes.

Thank you to all our contributors for helping to make Synapse the best it can be. As always, feel free to stop by #synapse:matrix.org to join in on the discussion and if you encounter a bug make sure to report it here.

πŸ”—continuwuity (website)

Continuwuity is a community-driven Matrix homeserver in Rust.

nex (it/she) announces

Continuwuity released v26.7.3 earlier this week. It contains two important vulnerability fixes, one of which is of a very high priority for users that have configured SMTP. There are no new features in this update, just the two bug fixes - we urge everyone to update as soon as possible.

However, worry not! I come bearing great news too! We have features in the works! And as a treat for TWIM readers (not really but pretend it is), we've gone ahead and done the unthinkable: published a pre-release! That's right, I'm not telling you to track our main branch for this one (although you have to promise to update your server when the full release is made). If you're eager to get your hands on significantly reduced resource load, faster federation, sticky events, and significant fixes to both legacy and sliding sync, you can deploy the v26.8.0-alpha.1 release! Make sure to report any issues to the issue tracker, and/or seek out support in #continuwuity:continuwuity.org!

➑️ https://continuwuity.org | #continuwuity:continuwuity.org | woof 🐾

πŸ”—Venator (website)

Venator is an independently maintained Matrix homeserver, written from scratch in Go using the mautrix-go SDK.

nex (it/she) says

Venator v0.1.0a3 was just released, containing a healthy balance of bugfixes and new features. There's nothing too exciting in this release (oauth and federation soon I promise), but deployments of older versions may wish to update to take advantage of new security improvements like password peppering, and sweeping reductions in storage usage (with even more to come!).

Using Venator? Let me know in #venator:starstruck.systems, I am continually surprised to find people actually have long-lived deployments of this alpha project.

πŸ”—Dept of Clients πŸ“±

πŸ”—Extera (website)

rustyraven[extera.xyz op] announces

Hi, federation! A lot has happened since our last TWIM post. We've rolled out a wave of updates since version 26.2.0 and we'll cover major things in this post.

  • Group calls: Added support for LiveKit group calls, should be compatible with Element Call. You can enable this under Calls -> Element Call to join group conversations.
  • Tailored message layouts: Choose from three different layouts, including a new Discord-inspired "Modern" design, updated bubbles, and the legacy bubbles layout from FluffyChat.
  • Custom fonts (experimental!): Make the app yours by setting custom fonts for the UI, messages, and code blocks individually. You need to have these fonts in your OS.
  • Interactive reactions & state events: React, redact, or reply to reactions and state events just like standard Matrix events.
  • Media spoilers: Media now can be hidden until clicked with content warnings feature (MSC3725).
  • Quick actions: Double-tap any message to instantly react or reply.
  • Timezones: Share your local time right in your profile.
  • User notes: Add notes about users for yourself.
  • Room server ACLs: Administrators can now manage room server access control lists directly.
Screenshot from Extera

Also, we updated the extera.xyz landing website and moved our development from GitHub to a self-hosted Forgejo instance at source.extera.xyz. We made sure that signing up process won't take much time, so you can authenticate using your Matrix account - pick "Matrix" auth method and join a special room or DM our bot.

Community ・ Source code ・ Website ・ Donate

πŸ”—SchildiChat (website)

SchildiChat is a fork of Element for Android and Desktop, that used to focus on UI changes such as message bubbles and a unified chat list, but now also provides some additional tweaks and community-driven features that may not be on the roadmap for the upstream clients.

SpiritCroc reports

You may remember SchildiChat Revenge, my latest desktop client written in Kotlin & Jetpack Compose. Since the latest release, this 3rd generation SchildiChat now also supports Android!

Screenshot from SchildiChat

Initially, porting Revenge to Android was just meant as an experiment for fun, but it worked out way to well to not follow this route further. It's still missing some important features (such as notifications, integrating with Android share targets, etc.), but I've already switched to using it as my main client on Android.

Screenshot from SchildiChat

In case you're curious about what this means for SchildiChat Next, the current Android client based on Element X: it will keep receiving upstream merges and updates for the foreseeable future, but new SchildiChat features are much more likely to happen on Revenge, now that we actually have a shared codebase for both desktop and Android.

If you want to try it out, currently it's only released in my own F-Droid repo (I'll likely also put it into the Play Store at some point).

πŸ”—Element X iOS (website)

A total rewrite of Element iOS using the Matrix Rust SDK underneath and targeting devices running iOS 17+.

Doug announces

This week we pushed the RC for version 26.08.2 to TestFlight, which will land on the App Store on Monday assuming testing goes smoothly. This release has a focus on quality-of-life improvements including a simplified login flow including auto-completion for your previously used homeservers. In addition read receipts should be sent more reliably when resuming the app, we’ve fixed a simulcast issue in Element Call and improved call behaviour during device rotation on Plus/Max sized phones.

In terms of upcoming changes we’ve made a noticeable improvement to launch performance by loading MapLibre only when a map is actually needed, improved the performance of the room list by removing some needless filter operations and fixed the iPad’s tab rail background colour not always being correct.

And the work on user status is nearing completion, with more testing against Synapse’s global profiles sliding sync extension currently underway.

πŸ”—Element X Android (website)

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

Benoit says

Element X Android v26.08.1 is rolling out on the Play Store πŸš€

Highlights of the release:

  • Push notifications for live location share starts, implementing MSC4505.
  • Active call participants are now shown in the room's people list.
  • The emoji picker expands to full height when the keyboard is shown.
  • A batch of UI and accessibility fixes, including checked/unchecked state announcements for user rows in the invite screen, and the "add reactions" menu in the threads screen.

Since then, develop has been very busy β€” a huge round of community bugfixes landed, many of them long-standing issues:

  • Voice messages keep playing when the screen turns off, and messages without a waveform can be seeked.
  • Enter sends a message when using a physical keyboard (Shift+Enter for a new line).
  • matrix: URIs in messages are turned into pills, IPv6 URLs are linkified properly, and the server part of a fediverse handle is no longer mistaken for an email address.
  • Notification fixes: no more duplicated messages in a room notification, no notifications for events sent by another account on the same device, and no notifications for redactions of unknown events.
  • Videos are never re-encoded at a higher bitrate than the source.
  • Bug reports no longer fail to send after the app has crashed.

...and much more. Massive thanks to @hayaksi1 for this impressive series of contributions!

Also landed: push notifications for knocks, the global account data API exposed on MatrixClient, and KDoc documentation added across all of the api modules to make the codebase friendlier to newcomers.

Still cooking behind feature flags: user status, and the QR code login / link new device flow (now with proper timeout handling).

πŸ”—Matrix Federation Stats πŸ“Š

Aine [etke.cc] reports

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

As of today, 20123 Matrix federateable servers have been discovered by matrixrooms.info, 4160 (20.7%) of them are publishing their rooms directory over federation. The published directories contain 20397 rooms.

The most popular server software among the online servers is:

  • synapse: 15707 (78.1%)
  • continuwuity: 1766 (8.8%)
  • conduit: 549 (2.7%)
  • dendrite: 314 (1.6%)

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.net156.5
2continuwuity.org244
3cisnt.uk268
4vibb.me272
5pro.squarebowl.club285.5
6koenoostveen.nl341
7victorewik.es448.5
8grmml.de571.5
9lennsteenbergen.com627
10agentdid127.com697

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