Still no, but we're evaluating our proposed solutions.
You may have heard the story. Presence has been largely left alone for much of Matrix's life, slipping under the radar through years of updates to the rest of the protocol. It is quite possibly one of few original planks left in our dear Specification of Theseus. This neglect has given rise to a situation where presence is one of Matrix's least-deployed core features. Lately, a group of independent community members, including maintainers of Continuwuity, have been working on a group of proposals to give presence the renovation it sorely needs.
Today, we have a different kind of update to share with you. Instead of announcing a proposal hot off the presses, we're listening in and investigating presence in its natural habitat on the public federation. This noble quest to explore the situation in practice and determine how much our proposals could help led us to capture some three hundred thousand presence updates, in which we found some fascinating twists: servers sending malformed updates; the vast majority of presence updates containing no new presence information at all; and statuses being far less popular on Matrix than we anticipated, even amongst the subset of users sending presence.
Our journey may begin in harsher territory than you think. Can you guess when presence was enabled on this two-user homeserver?
Can you guess when presence was enabled?
We'll let the numbers speak for themselves, though. Read about all this and more in our new post Is presence broken now? on the initiative website ispresencefixedyet.com. If you'd like to come along, or just ask about what we're up to, feel free to join us in #presence-v2:zirco.dev.
This week we have a new release, Synapse 1.161.0. To highlight:
We've been driving forward Matrix spec compliance by filling in a bunch of tiny gaps in behavior between Synapse and the Matrix spec that have been preventing us from declaring support for further Matrix versions (#20036, #20101, #20104, #20119, #20169, #20173, #20180, #20192). The "Support for Matrix 1.xx" issues track the broad strokes but there is a stack of tiny gaps we've discovered along the way, which is why we haven't quite declared support for some Matrix versions that look "complete" from the issues alone. Unfortunately, these are only documented internally at the moment but they're practically all underway so things should come together soon.
Event persistence now recovers cleanly from a database interruption. Previously, if the database went away at the wrong moment, the affected room would stop accepting new events until Synapse was restarted (#20148).
We gained experimental support for MSC4512 which allows delegating parts of the Client-Server and Server-Server API to application services (#19972, #19977).
From the community, a couple of fixes when creating a room: First is a fix for the public_chat preset to properly form the power levels for m.call.invite events (#20050, thanks to @itsoyou from Famedly). And the second fixes the m.room.encryption event being duplicated when configuring encryption_enabled_by_default_for_room_type and using initial_state when creating the room (#20106, thanks to @FrenchGithubUser from Famedly).
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.
Tuwunel 1.9.1 serves animated thumbnails. A thumbnail request with animated=true for an animated GIF, WebP or APNG now returns a looping GIF instead of a frozen first frame. June implemented MSC2705; clients do not send the parameter yet, so the server side arrives first.
Element X for iOS location markers now move as location updates arrive, after utop-top's report. AngelBePro reported Sable space children missing until a reload; subscribed rooms now get their required state without a timeline event. ruka-hamanasu fixed FluffyChat rooms stuck unread after a receipt; basnijholt restored quiet rooms to legacy full-state sync.
June published prebuilt Nix store paths; unattended Nix must trust the cache explicitly. Debian and RPM packages adopt an existing Conduwuit or Conduit database by renaming it into /var/lib/tuwunel. Migrations now report progress every fifteen seconds and stop cleanly at step boundaries.
June also added MSC4155 invitation control by sender (block refuses, ignore hides from sync), the Sliding Sync profiles extension (MSC4262, MSC4426) that Element X requests, with validated status, call and timezone fields, and opt-in auto_accept_invites, raised by sanyamseac.
tototomate123 addedurl_preview_accept_language for dlrudie's request and summarizedquery storage sync for justinbrick's report; alemidev asked forurl_preview_cache_ttl. basnijholt fixed/messages bounds and a device-key overwrite on read failure; ruka-hamanasu unblocked read markers on backfilled events; obodnikov made both Synapse-compatible deactivation routes (v1, v2) leave their rooms; asmj1108 reported Chrome blocking native OIDC callbacks; tcyrus caught room enable claiming success on an m.federate: false room (MSC4361 remote-invite coverage).
We made a lot of changes since last TWIM post which had mentions of Extera. We will cover a few notable changes made since then:
Rich presences. Now they use MSC4544 to show multiple activities, buttons and progress bars.
Added support for HTTP_PROXY environment variable. httpProxy in advanced configuration overrides it.
Polished Livekit calls: added E2EE support (@cherret), redesigned call controls and incoming call popup. Also dropped support for TURN-based calls.
Redesigned reaction popup, where you can see a list of people who sent a certain reaction, and message context menu. Now they use backdrop with blurring and highlighting selected reaction/message.
More customisation options: now you can choose side for message bubbles (one side, adaptive,both sides) and title text in app bar (current account name/app name).
Several bugfixes, including: polls sometimes not showing all votes, "null check on null value" error when forwarding multiple messages.
As of today, 20291 Matrix federateable servers have been discovered by matrixrooms.info, 4129 (20.3%) of them are publishing their rooms directory over federation.
The published directories contain 19680 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.