πŸ”—Matrix Live S13E13 - Amandine & Matthew brace for the conference

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

Andy announces

As you can see in Matrix Live this week, we are into the final few days before the Conference!

The event is a team effort, and we're very appreciative of the help of our volunteers (40 of you!). We have a couple of slots (and hoodies!) left if you're willing to help out - just take a look at the volunteer schedule. Maybe there is a free shift during a talk you want to see? How about you help film or record it! If you are willing and able to help out, book a slot!

We are also grateful to our sponsors - their contribution plays a critical role in the Foundation’s ability to run the Conference and progress towards sustainability in general. Thank you!

We're looking forward to seeing many of you in MalmΓΆ and Copenhagen! If you're not able to join us in person, we hope you'll be following along online.

See you soon!

Your Events WG

πŸ”—Dept of Social Good πŸ™†

Amandine says

πŸ‡ͺπŸ‡Ί Europe is working towards more Digital Sovereignty, and as such taking open source and digital commons at the forefront of regulation and political discourse.

From Tchap in France πŸ‡«πŸ‡· to BundesMessenger and openDesk in Germany πŸ‡©πŸ‡ͺ, via BEAM in Belgium πŸ‡§πŸ‡ͺ, LuxChat in Luxembourg πŸ‡±πŸ‡Ί, and many more, Matrix underpins government communications across Europe: it makes it an obvious case study of how to scale digital commons. However, despite the popularity of Matrix, only one government agency, France's DINUM, commits to support the open standard they all rely on by being a member.

πŸ’‘ That gap is exactly one of those the new Digital Commons EDIC (DC-EDIC) could close and with this truly impact Europe’s implementation of digital commons. Drawing on 12 years of building Matrix, we've set out how the DC-EDIC can make the most of its five goals, taking a leaf out of the World Health Organization's book. Our suggestions include:

  • Build a trusted index of open source projects and vendors
  • Pool funding across Member States
  • Fund the guardians of open standards, not just new code
  • Give policymakers real evidence on costs, privacy and security … and more!

Europe doesn't lack open source builders. What it needs is a body that does the unglamorous work that keeps everyone's lights on.

Read our recommendations in this blog post.

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

Accepted MSCs:

  • No MSCs were accepted this week.

Closed MSCs:

πŸ”—Spec Updates

There's been a huge push in the last week to get Matrix 2.0 ready. A total of 187 comments across all Matrix 2.0 MSCs in the last week alone! A massive thanks to the authors and all of the reviewers for their work here.

The result is that 8 more Matrix 2.0 MSCs entered FCP this week! Sticky Events has received the most scrutiny, but both it and the implementation are now in a good place in the SCT's eyes.

Given the 5-day FCP timer, we should see the majority of these actually become accepted by the conference πŸŽ‰ A couple MSCs are still outstanding (SS extension: sticky events and MRTC invites/notifications) but the core of everything is there, and those MSCs won't be left out of the 2.0 release.

For now, we can celebrate how much work has been put in to bring these exciting additions to the spec πŸ₯‚ Stack Chart of MSC progress over time

πŸ”—Dept of Servers 🏒

πŸ”—Zendrite (website)

pat-s says

Zendrite, the Dendrite fork written in Go, released v3.5.0. This release focuses on Element Call and on catching up with the spec.

Element Call

  • MSC4140 delayed events, which Element Call uses to remove crashed clients from calls, including delayed sticky events.
  • MSC4354 sticky events in sync v2 and sliding sync, which Element Call's matrix_2_0 MatrixRTC mode needs.
  • MSC4222 state_after in sync v2.
  • Optional call guest accounts, so people without a Matrix account can join a call by link without open registration; they can only take part in calls and expire after a configurable lifetime.
  • An end-to-end deployment guide covering LiveKit, lk-jwt-service, the standalone Element Call app and the Helm chart.

Spec support

  • /versions now advertises Matrix v1.3 through v1.6, which also unblocks bridges such as mautrix-telegram that refused to start against v1.2.
  • Jump to date (MSC3030) now asks other servers when local history may hide a closer event.
  • Custom profile fields (MSC4133), refresh tokens (MSC2918), room type filters for the public room directory (MSC3827), leave reasons (MSC2367), key backup deletion (MSC1219), and the remaining Matrix v1.2 MSCs.
  • Application services now receive redactions.

Fixes

  • Sliding sync timelines now apply history visibility, so users can no longer read messages from before they were allowed to see them.
  • Server ACL globs match against the whole server name.
  • Redacting v11+ member events keeps third_party_invite.signed.
  • The built-in NATS server is now 2.15.1, which fixes a broker replica that stopped catching up after rejoining on its old storage; HA deployments running their own brokers should upgrade them to 2.15.1 too, and the HA guide explains how to spot and recover a stuck replica.

Release notes: https://codefloe.com/pat-s/zendrite/releases/tag/v3.5.0
Chat: #dendrite:matrix.org

πŸ”—Tuwunel (website)

Enterprise successor to conduwuit, the high-performance and feature-rich fork of Conduit.

june ✿ πŸ³οΈβ€βš§οΈ (it/she/puppy) announces

Tuwunel 1.9.4 stores media in Google Cloud Storage through asafarian's native media provider. On GCE or GKE, Tuwunel can get credentials from the metadata server instead of an exported key (setup).

With oidc_native_auth enabled, the Native OIDC authorization, account and device-login pages offer a choice of local password or configured SSO providers. tototomate123 built the provider choice at utop-top's request. Account pages gained the choice after utop-top's report that Element X's Manage Account jumped straight to SSO.

arnolicious added controls to limit profile reads to people sharing a room and prevent regular users from setting display names or creating room aliases.

obodnikov added per-account password limits, got JWT B64HMAC working, and ensured JWT login rejects deactivated accounts. The last admin can no longer be deactivated, and removing emergency_password clears the server user's sessions at next startup.

basnijholt fixed thread counts, root bundles and latest replies after redactions. MindRoom Chat kept fetching 13 pages for a thread of roughly 1,000 events because the count still included a redacted reply.

Federated key answers now keep only the answering server's users, and Sliding Sync withholds invited and knocked rooms' timelines.

Startup now repairs the short-id residue behind the repair refusal dogarrowtype reported. mav96 supplied a second log. Uncertain data is preserved.

az4521 fixed URL previews of kkinstagram.com links, and reported the room version 12 create events that caused problems for force-set-room-state-from-server. Thanks to morteng's report, a mistyped !admin users reset-password no longer creates state.

SatvikMishra08 fixed the federate_created_rooms documentation issue edenworky reported. June refreshed dependencies and moved OpenTelemetry to 0.33.

Notes: https://github.com/matrix-construct/tuwunel/blob/f473d9a4a8342514302884041e0ccfea1ad503fc/RELEASE.md


πŸ’• GitHub ✦ Releases ✦ DockerHub ✦ Playbook ✦ Containers ✦ Documentation ✦ Enterprise πŸ•οΈ Tuwunel πŸ’•


πŸ”—Synapse (website)

Synapse is a Matrix homeserver implementation developed by Element.

madlittlemods (Eric Eastwood) says

This week we have a new release, Synapse 1.163.0. To highlight:

  • We can finally see light at the end of the tunnel with our Matrix v1.17 project. Synapse now advertises support for Matrix v1.14 and v1.15 (#20137, #20286), and Matrix v1.16 and v1.17 will come as part of the next release (already merged). Of course, the spec keeps evolving, so the march isn't over, but we've accomplished the concrete goal we set out for this quarter! πŸŽ‰
  • The experimental MSC4354 Sticky Events implementation got a number of updates to improve robustness. Synapse now catches up remote homeservers with any sticky events they may have missed (#20165), handles sticky events being redacted (#20232), makes sure new joiners know about all sticky events in the room (#20233), and uses sharded tokens to prevent race conditions when using workers (#20186).
  • Fixed an edge case where the push badge count could undercount. Because it needs specific conditions and because most clients calculate the badge count themselves, this might not be a very commonly visible problem in the wild, but it fixed a Complement test flake that has been plaguing us πŸ™ (#20237).
  • On the Rust side, we reduced contention on the Python GIL (global interpreter lock), and the need to block waiting for it, when handing off data from async Rust to Python (#20252, #20267).
  • While it's "just" a dependency swap, URL previews now parse HTML with beautifulsoup4 instead of lxml, moving us off libxml2, which is no longer maintained. It's a nice bit of maintenance work that even lets us remove some of our own code, since beautifulsoup4 handles charset detection for us (a rare PR that removes more code than it adds πŸ”₯) (#19301, thanks to @clokep).

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.

πŸ”—Dept of Clients πŸ“±

πŸ”—Vommet (website)

Dark Collective announces

A Discord-like Matrix client that doesn't suck.

Vommet is an LLM-assisted fork of the excellent Commet Matrix client. I run a large Discord community I've been trying to move to Matrix for years, but no matter what client we tried, people kept bouncing off it. Everyone had a missing feature (Telegram sticker packs, screen sharing with audio on Linux, UI friction, etc.) that sent them back to Discord, even as recent policy changes have left many of our members wishing for a real alternative. So I've been working with community members one by one, finding every missing feature, bug or UI wart that makes Matrix hard to use, and fixing it.

Commet doesn't accept LLM contributions, which we respect, so nothing goes upstream. The name is a joke about AI slop and our rapid release cadence. But like the title says, it doesn't suck. Actually, we think it's really, really good.

Voice and calls

  • Discord-like voice rooms with a "Voice Connected" card, mute and deafen next to your name, and volume sliders
  • Push to talk, with a key that works while you're in a game (Windows and X11) and a hold-to-talk button on phones
  • Watch streams like Discord, plus screen sharing with audio: on Linux, pick any app's audio or everything except voice chat apps
  • Noise suppression in calls (RNNoise or DeepFilterNet3)
  • Calls in any room or DM, not just voice rooms
  • Voice chat with your Discord friends using Nether Voice Bridge

Chat

  • Mass-import your favorite sticker packs from Telegram (and Signal), right in the app, into shareable sticker rooms
  • Several pictures posted together show up as one Telegram-style mosaic, and you can flip through a room's pictures like a gallery
  • Send messages while offline, like Telegram: they go out when you're back, even after a restart
  • Better thread support, with several display modes for thread cards
  • Voice messages, and (just landed, desktop only so far) on-device transcription like in Telegram
  • Spoilers on pictures, bridged GIFs that actually play as GIFs, and plain example.com text turned into links like on Telegram
  • Forwarding, drafts, multi-select, a formatting bar, and Discord-style <t:timestamp> times shown in everyone's own time zone

People and spaces

  • Explore: browse any homeserver's public room directory, and peek inside a space before you join it
  • See which spaces and rooms you share with someone on their profile
  • Block people, with a clear "You blocked" notice in the DM
  • Get banned from a room and it stays in your list, greyed, with the mod's reason, so you can keep reading until you choose to leave
  • Banners for spaces and rooms, and better nested subspaces
  • When joining a space, pick which of its rooms and subspaces you join

Look and feel

  • Lots of UI improvements (see the screenshots on the website). When in doubt I rip off Discord, the good parts at least.
  • Tons of extra themes and a Telegram-style theme editor, plus a font picker with dyslexia-friendly options

Encryption and onboarding

  • A first-time setup that explains cross-signing and recovery keys in plain language, plus many new and fixed settings around cross-signing
  • Share history when inviting someone to an encrypted room, and receive it when you're invited (MSC4268)
  • Preview an invite before accepting, and decline and block in one go

Under the hood

  • Lots of fixes for upstream bugs in Commet and the Famedly Matrix Dart SDK fork it uses
  • Aggressive performance work and sliding sync. Cold start on my phone is three seconds vs thirty-plus on Commet.
  • Notification and UnifiedPush fixes on Android

Widgets

  • Widget support with an in-app picker, our own widgets like Park Chess, and Watch Together, which we're testing in our rooms, keeping a video in sync for everyone

And lots more!

The project is moving fast and we have a ton of features planned. It's still very early, so there are bugs to squash every day. We'd love for experienced Dart and Flutter developers to check out the codebase. Even if you're not a programmer, using the app, turning on the opt-in telemetry and reporting bugs in our developer channel helps immensely.

There are testing builds for Linux (Flatpak), Android and Windows. Nothing for Mac or iPhone yet; if you have Apple hardware, I'd love help testing iPhone builds.

Releases: https://nether.codes/nether/vommet/releases
Source (AGPL-3.0): https://nether.codes/nether/vommet
Chat: #vommet:nether.im

Screenshot of Vommet app

πŸ”—eM Client (website)

Emanuele Aliberti (MTKA) says

eM Client is an email client for Windows, macOS, Android and iOS.

Use your favorite open‑source, decentralized and secure chat service with eM Client 11. Just add your Matrix account and view all your chats in the Chats section – whether it’s a private or public room – with messages and files protected by end‑to‑end encryption (E2EE).

Official blog post: eM Client 11 has been released

Screenshot of eM Client app

πŸ”—Sable (website)

F0rest says

After two months, 3050 commits, and a lot of hard work, Sable has been fully rewritten and is releasing v2.0! Our new client is now based on Matrix Rust SDK and uses a Rust backend and Svelte frontend. Our rewrite allows us to shed lots of technical debt and (finally!) publish apps for mobile devices. Come check out our new Forgejo repository and try out the web version.

Updating/obtaining:

(and if everything breaks, https://legacy.sable.moe now exists, but is no longer supported.)

πŸ”—Nexus (website)

Matrix client made with Flutter and a Gomuks backend.

QuadRadical (Ping) reports

Hello TWIM! Big news this week: Nexus v1.0.0-alpha1 is out! πŸŽ‰ πŸŽ‰ πŸŽ‰ πŸŽ‰ πŸŽ‰

You can grab it from the release page. If you use the Flatpak repo, the nightly builds, or the NixOS module, you're already set up, just update. As this is an alpha, expect some bugs. If you run into anything, please let me know in #nexus:federated.nexus so we can squash them before 1.0.0.

Here's what changed since the last TWIM:

  • Creating rooms and spaces: You can now create rooms and spaces right from the sidebar, with options for a canonical alias, publishing to the room directory, and encryption.
  • Starting DMs: Start a DM from the sidebar, or from anyone's profile. You can include an invite reason using MSC4491.
  • Invites: Send and receive invites, with the new invites tab of the sidebar, and invite button of room menus.
  • Browsing spaces: A new "Browse space" button lets you see and join every room from a space's hierarchy.
  • Adaptive dialogs: Dialogs show as bottom sheets on mobile, and user profiles show as popovers on desktop.
  • A sync status indicator, so you can tell when Nexus is waiting on or failing to sync.
  • You can now pick your UnifiedPush distributor, instead of using the default on your OS.
  • New settings for room ordering, and for showing all rooms in Home.
  • Support for pasting attachments from your keyboard.
  • A new custom video player, fixing issues with the last one on Linux touchscreen devices.
  • And, as always, a whole lot of bug fixes πŸ™‚

A screenshot of Nexus, showing a space list, a list of children of that space, with "Browse space" button, a chat view, and a member list.

What's next?

Now that the alpha is out, the focus is on fixing whatever bugs you all find, and then releasing 1.0.0 stable.

Get involved!

If you want to help with development, report bugs, ask questions, or simply keep up with new features, join our Matrix room at #nexus:federated.nexus, or check out the Git repo at https://nexus.federated.nexus.

πŸ”—Dept of Non Chat Clients πŸŽ›οΈ

πŸ”—Drupal Meets Matrix

John reports

Two new episodes of Drupal Meets Matrix explore how Matrix rooms and Drupal comment threads can share a conversation:

This work supports the Drupal Groups initiative, letting people participate in the same conversation from a website or their favorite Matrix client.

I'm also presenting this work on Saturday, October 17. There won't be a livestream, but we expect a group chatting in Matrix alongside the presentationβ€”a chance to try the shared Drupal/Matrix conversation in practice. Interested in joining the chat remotely? Message me, and I'll share details when they're ready.

πŸ”—Dept of VoIP πŸ€™

πŸ”—Element Call

Timo K. announces

A very short announcement from the ElementCall Team: v0.28.0 has been released. The most visible change is a new audio device picker with volume preview. There are lots of other things happening; spec work, new implementations. This TWIM post is just about the new release however. A screenshot of the new audio device picker in Element Call.

πŸ”—Dept of Ops πŸ› 

πŸ”—Humatrix

Hannes says

One-Command Installer for Matrix in Debian with a more human control

What I wanted to solve

As I want to use Matrix with others, it's essential that the setup is as easy as possible for starters, all other everyday tasks should be possible without the terminal.

WebGui for Usermanagement, Adminpanel secured by 2FA

Since I, as an admin want full control but don't want to be asked for everything, it's possible to give users the right to invite other users – to the server or directly to a group of it. So I can adjust if one user is allowed to invite others generally, allowed to invite X others or isnt allowed – by that I can see branches, who invited whom and so on; I can also "ban" a user which aborts all their pending invites to others.

Screenshot of the invitation GUI in Humatrix

My Installation mostly brings as new feature the "Human-Interface" (WebGui), so I thought Humatrix is a fitting name :D

Features

  • One-Command installation including everything you need for a Matrix server (Synapse, Element Web, coturn (calls), nginx, Let's Encrypt, PostgreSQL, and a Backup-Plan)
  • The installer checks the DNS and gets the SSL certificate; if a proxy is running, it leaves TLS to the proxy
  • in the WebGui you'll get informed if updates are available and to start the updates.
  • Everything is available in German and English
  • After the installation, a User-Guide is created including How-To Screenshots and the generated first time password
  • The settings (Language, Proxy yes/no, Adminname, Domain and mail) are part of the Install-command and described in the Github Readme.

About the Code

My Job isn't writing Code, but setting up systems and checking Code – so I can read it and know what is essential for avoiding security-issues - but I can't write (that fast). So yes, for the writing I used AI – but I read over all and check all functions.

Contact

Questions and bugs: GitHub Issues or Discussions.
Humatrix on GitHub

πŸ”—Matrix Federation Stats πŸ“Š

Aine [etke.cc] reports

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

As of today, 20518 Matrix federateable servers have been discovered by matrixrooms.info, 4088 (19.9%) of them are publishing their rooms directory over federation. The published directories contain 19710 rooms.

The most popular server software among the online servers is:

  • synapse: 15780 (76.9%)
  • continuwuity: 1936 (9.4%)
  • conduit: 526 (2.6%)
  • dendrite: 282 (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
1raccoon.cafe180.5
2bartoostveen.nl199
3codestorm.net217
4vrkknn.net230
5kanp.ai266
6awesomesheep48.ca314
7poweron.dk321
8anglebrackets.club342
9victorewik.es356
10libds.com366

πŸ”—That's all I know

See you soon (maybe not next week, but picking up right after the Conference), 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