A few weeks ago I was at Local-first Conference in Berlin giving a talk about Local-first Matrix. The video for this is now available. I talk about some of the P2P work we've done recently as well as some Hydra work in the form of the ERA paper. It also bridges the two worlds together, since local-first problems are frequently also Matrix problems, there's a lot we can learn from each other.
A Stammtisch ("regular's table") is a German meetup format where those with a shared interest meet regularly for discussion, exchange, and socialising.
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.
The SCT is spending most of its time aiming to get Matrix 2.0 across the line ahead of the conference. Watch this space for updates, or follow along in #sct-office:matrix.org.
Tuwunel 1.8.3 adds QR-code login: Element Web's "Link new device" shows a QR code, Element X scans it, and the phone ends up signed in. MSC4108 carries the handshake; MSC4388 serves alongside, ahead of its clients. Tuwunel's own OIDC server approves the device authorization grant against local accounts, given oidc_native_auth = true (default off), well_known.client and a restart. rjwalters asked for it days later.
Video thumbnails ship gated: media_video_thumbnail_command is empty by default and the containers bundle none. Name one and the thumbnail endpoint serves a frame, not the whole video. az4521 asked, June built it, and lhjt's patch skips generation that only reproduces the source.
journalctl -u tuwunel -p warning returned nothing before: every line arrived as captured output at info priority. byteflavour's native journald logging submits each event at its own severity, and June's layer adds tracing fields under an F_ prefix, so journalctl F_ROOM_ID='!room:example.com' pulls one room out.
lhjt watched one receipt re-emit 2,113 times; his fix makes them monotonic. dasha-uwu reworked the HTTP security headers, unifying the CSPs and splitting out the SSO stylesheet and script so *-src 'self' is satisfiable. obodnikov fixed four non-unix build breakages (#526, #527, #528, #536). utop-top's report traced failing Matrix Authentication Service logins to the default scope; a brand = "MAS" provider now sends openid alone. Xerusion documented Traefik delegation; okias caught a dead docs link.
Upgrading: 1.8.3 refuses -O database_restore_backup= and will not start, so drop it from the launch command. A configured address that cannot bind is now fatal. LDAP login refuses accounts that did not originate in LDAP, locking out a half-finished migration.
A busy week.
iPad gets a tab rail replacing the top tab bar, giving the split view a less intrusive feel on larger screens.
Work on media galleries completed: gallery items now render in the media browser, the sending limit is up to 60 items, and we did an accessibility pass over the whole flow.
On the calls side you can now see at a glance which room members are in a call, and clear your own call status from Settings.
QR codes for linking a new device now expire correctly rather than hanging around forever.
Plus fixes for the rageshake upload progress bar, for a room list that stopped updating when it wasn't scrollable, stretched avatars in the share sheet, and a rotation bug during calls on Max-sized devices.
Thanks to nankeen, for the community contribution this week.
Hello everyone! I'd like to introduce a lightweight Reminder Bot written in Rust for Matrix servers. It sends reminders to users at a specified time.
Why Another Reminder Bot?
When I needed one for my server, none of the existing options worked. Most are outdated: they don't support encryption or modern authentication. In other solutions, reminders are simply an add-on to broader functionality (AI chat, bridges, etc.).
Current State
The bot can:
π Recognize dates in messages and send reminders at a specified time.
β Verify the bot account and enable backups for full compatibility with encrypted chats.
π€ Support multiple languages (adding new languages is a top development priority).
Roadmap
The next feature in line is setting a custom time zone for each user. Then I'll add recurring reminders. I'm also considering integrating the bot with self-hosted task managers like Super Productivity or Mindwtr, as they store reminders in a simple .json format.
Links & More About the Project
You can read more about the bot and my journey (I'm not a professional programmer) in this Reddit post. You can also find the setup guide, provide feedback, or report an issue in the GitHub repository.
I hope this bot can make someone's Matrix server more convenient!
Decentralizing social media using Matrix and ATProto
For the past year-ish I have been working on Venoom, a cross-platform social app using Matrix and ATProto. It started as a passion project, trying to recreate a discord-like feel, but is now in a somewhat usable state!
The messaging and server part is built on Matrix. Servers are Matrix Spaces, categories are nested Spaces, and channels are Matrix rooms. It already has encrypted DMs and group chats, roles, custom emotes and reactions, member lists, and MatrixRTC calls with screen sharing. The app is built in Flutter, so it works across mobile and desktop.
Alongside that, I am also working on the social part, where people can share posts and thoughts. That side uses ATProto, although it is still much earlier than the Matrix part.
When you create a Venoom account, you get both a Matrix identity and an ATProto identity. That is the main reason I chose these two protocols. I do not want your account and everything you do to only work inside Venoom. You should be able to use your Matrix identity with other Matrix clients and use your ATProto identity with other apps in that ecosystem.
Basically, I am trying to combine Discord-style servers and messaging with a social feed, while making sure people are never completely locked into Venoom itself. The project is still early, but the Matrix side is now at a point where I would really like some people to test it and tell me what they think.
If you're interested, i will be posting more day to day updates here #venoom:matrix.org
As of today, 19983 Matrix federateable servers have been discovered by matrixrooms.info, 4145 (20.7%) of them are publishing their rooms directory over federation.
The published directories contain 20273 rooms.
The most popular server software among the online servers is:
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.