|
| 1 | ++++ |
| 2 | +date = "2025-07-04" |
| 3 | +title = "This Week in Matrix 2025-07-04" |
| 4 | +path = "/blog/2025/07/04/this-week-in-matrix-2025-07-04" |
| 5 | + |
| 6 | +[taxonomies] |
| 7 | +author = ["Thib"] |
| 8 | +category = ["This Week in Matrix"] |
| 9 | ++++ |
| 10 | + |
| 11 | +## Dept of Spec 📜 |
| 12 | + |
| 13 | +[Andrew Morgan (anoa) {he/him}](https://matrix.to/#/@andrewm:element.io) says |
| 14 | + |
| 15 | +> 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>. |
| 16 | +> |
| 17 | +> |
| 18 | +> ### MSC Status |
| 19 | +> |
| 20 | +> **New MSCs:** |
| 21 | +> |
| 22 | +> * [MSC4303: Disallowing non-compliant user IDs in rooms](https://github.com/matrix-org/matrix-spec-proposals/pull/4303) |
| 23 | +> |
| 24 | +> **MSCs in Final Comment Period:** |
| 25 | +> |
| 26 | +> * *No MSCs are in FCP.* |
| 27 | +> |
| 28 | +> **Accepted MSCs:** |
| 29 | +> |
| 30 | +> * *No MSCs were accepted this week.* |
| 31 | +> |
| 32 | +> **Closed MSCs:** |
| 33 | +> |
| 34 | +> * [MSC4276: Soft unfailure for self redactions](https://github.com/matrix-org/matrix-spec-proposals/pull/4276) |
| 35 | +> * Closed in favour of alternative approaches to the problem. |
| 36 | +> |
| 37 | +> ### Spec Updates |
| 38 | +> |
| 39 | +> Not too much to say this week other than some small progress on existing MSCs. |
| 40 | +> |
| 41 | +> A [PR for defining the process for placeholder MSCs](https://github.com/matrix-org/matrix-spec/pull/2157) is close to merging, for those that are interested in process! |
| 42 | +
|
| 43 | +<!-- more --> |
| 44 | + |
| 45 | +## Dept of Clients 📱 |
| 46 | + |
| 47 | +### Element X Android ([website](https://github.com/vector-im/element-x-android)) |
| 48 | + |
| 49 | +Android Matrix messenger application using the Matrix Rust SDK and Jetpack Compose. |
| 50 | + |
| 51 | +[Benoit](https://matrix.to/#/@benoit.marty:matrix.org) reports |
| 52 | + |
| 53 | +> We're working on several features at the moment: |
| 54 | +> |
| 55 | +> * improving accessibility of the application, by fixing issues regarding content description and accessibility navigation; |
| 56 | +> * preparatory work for implementing Spaces; |
| 57 | +> * implement latest item around user privacy: the setting for displaying image and invitation avatar is now synced between the clients using the account data; |
| 58 | +> * investigating issues around notifications; |
| 59 | +> * as usual fixing other issue and keeping the code up to date (dependencies, etc.) |
| 60 | +
|
| 61 | +### Tammy ([website](https://tammy.connect2x.de)) |
| 62 | + |
| 63 | +Multiplatform messengers build on top of Trixnity Messenger |
| 64 | + |
| 65 | +[Benedict](https://matrix.to/#/@benedict:imbitbu.de) announces |
| 66 | + |
| 67 | +> Over the past few weeks, Tammy has received several updates packed with improvements. Here’s a quick roundup of the journey from version 1.1.15 to 1.1.20 (or, in dev-speak, from Trixnity Messenger 3.6.0 to 3.6.10 under the hood). These are the most important changes: |
| 68 | +> |
| 69 | +> * ⚠️ **Fixed decryption issues:** A rather silly bug caused a number of problems - most notably, messages couldn’t be decrypted. To resolve this, **you should log in again** ⚠️ |
| 70 | +> * 🙋🏿 **Reliable presence:** Tammy now persists user presence in the database to prevent incorrect presence indicators. |
| 71 | +> * 🏞️ **In-memory media cache:** The new in-memory media cache from Trixnity reduces RAM usage. |
| 72 | +> * 🐞 **A lot of bug fixes:** We've done a good deal of polishing and resolved many smaller issues. |
| 73 | +
|
| 74 | +## Dept of SDKs and Frameworks 🧰 |
| 75 | + |
| 76 | +### Trixnity ([website](https://gitlab.com/trixnity/trixnity)) |
| 77 | + |
| 78 | +Multiplatform Kotlin SDK for developing Clients, Bots, Appservices and Servers |
| 79 | + |
| 80 | +[Benedict](https://matrix.to/#/@benedict:imbitbu.de) reports |
| 81 | + |
| 82 | +> Over the past few weeks, Trixnity has received a series of updates packed with improvements. Here’s a concise summary from version 4.16.0 to 4.16.8 – just the essentials: |
| 83 | +> |
| 84 | +> * ⚠️ **Fixed decryption issues:** A rather silly bug led to several problems – most notably, messages couldn’t be decrypted. To resolve this, users need to log in again. |
| 85 | +> * 🔐 **Vodozemac preparation:** Open merge requests are in place for Vodozemac integration. |
| 86 | +> * 🙋🏿 **Reliable presence:** Trixnity now persists user presence in the database to prevent inaccurate presence information. |
| 87 | +> * 🏞️ **In-memory media cache:** The new in-memory media cache reduces RAM usage when the same image (e.g. avatars) is loaded multiple times. |
| 88 | +> * 🔄 **Matrix 1.13 support:** Now fully compliant with the specification. More spec updates are on the way. |
| 89 | +> * 📉 **Sync stability & cache rollback:** Race conditions have been mitigated and consistency between in-memory cache and storage ensured. |
| 90 | +> * 🐞 **Logout fixes:** Improved refresh token handling should prevent random logouts. |
| 91 | +> * 💧 **Experimental dehydrated devices:** Initial support for dehydrated devices has been added, though it is not yet fully MSC-compliant. |
| 92 | +
|
| 93 | +### matrix-rust-sdk ([website](https://github.com/matrix-org/matrix-rust-sdk)) |
| 94 | + |
| 95 | +Your all-in-one toolkit for creating Matrix clients with Rust, from simple bots to full-featured apps, with bindings to Swift, Kotlin, WebAssembly, Go and more |
| 96 | + |
| 97 | +[poljar](https://matrix.to/#/@poljar:matrix.org) reports |
| 98 | + |
| 99 | +> *The Rust team waves* |
| 100 | +> Okay, there is something new. We are collaboratively writing the TWiM reports now! |
| 101 | +> |
| 102 | +> #### Event Cache |
| 103 | +> |
| 104 | +> * [#5258](https://github.com/matrix-org/matrix-rust-sdk/pull/5258) and [#5225](https://github.com/matrix-org/matrix-rust-sdk/pull/5225) make it possible for events cached by the SDK to be ordered relative to each other (as long as they’ve been fetched via sync or paginations; if they were bundled or retrieved with e.g. `/event` we can’t order them!). This works even if the events aren’t yet loaded into the lazy in-memory representation of a timeline. This will be quite handy for simplifying the unread counts computation, and figuring out what’s the latest edit of a threaded event, among other things. Unfortunately, this isn’t quite ready yet, since this was causing [bugs in production](https://github.com/matrix-org/matrix-rust-sdk/pull/5332) we had to revert it at the moment. |
| 105 | +> * [#5279](https://github.com/matrix-org/matrix-rust-sdk/pull/5279) contains the minimal work required to have threaded timelines to be memoized in a linked chunk, and used in the timeline. This should prevent a few network requests, when accessing a thread that’s already been paginated previously. |
| 106 | +> |
| 107 | +> #### Latest Events |
| 108 | +> |
| 109 | +> The Latest Events is a new API that will help to display… well… the latest events, either from the room list for a single room, and from the thread summaries for threads. |
| 110 | +> |
| 111 | +> * [#5298](https://github.com/matrix-org/matrix-rust-sdk/pull/5298) The first PR containing all the *structural work* for the new `matrix_sdk::latest_events` module has landed. The `LatestEvents` type is not yet ready for prime time, but at least it's here! |
| 112 | +> * More work to prepare the next parts has landed too ([#5320](https://github.com/matrix-org/matrix-rust-sdk/pull/5320), [#5330](https://github.com/matrix-org/matrix-rust-sdk/pull/5330)). This is an active topic. More to come next week probably! |
| 113 | +> |
| 114 | +> #### Room List |
| 115 | +> |
| 116 | +> The Room List is a high-level, UI-oriented API used to display the list of rooms. |
| 117 | +> |
| 118 | +> * [#5311](https://github.com/matrix-org/matrix-rust-sdk/pull/5311) Do you remember last week when we said that the sliding sync session (used by the room list to sync the data) is now stored persistently? It works great! However, the *sync indicator* —the small spinner that pops at the top of your screen indicating the room list/the app is syncing— behaves a bit differently. It is displayed when the sync starts, i.e. for the first roundtrip, if and only if this roundtrip is slow. Well, now that we restore the sliding sync session, this first roundtrip never happens again. So we have extended that. Check the patch, it's pretty simple and you will discover how the state machine of the room list works! |
| 119 | +> |
| 120 | +> #### Notification client |
| 121 | +> |
| 122 | +> * [#5327](https://github.com/matrix-org/matrix-rust-sdk/pull/5327) Add a new log pack for the `NotificationClient`. This is helpful to debug problems with notifications. A log pack is an option that will automatically enable a set of logs and configure them as expected to get all the required logs; in ElementX, it’s accessible in the hidden developer menu. |
| 123 | +> * [#5338](https://github.com/matrix-org/matrix-rust-sdk/pull/5338) makes it possible to distinguish between a notification that’s been filtered out (because of push rules, for instance) and a notification that couldn’t be resolved. |
| 124 | +
|
| 125 | +## Dept of Bots 🤖 |
| 126 | + |
| 127 | +### Draupnir ([website](https://github.com/the-draupnir-project/Draupnir)) |
| 128 | + |
| 129 | +A moderation bot for open Matrix communities |
| 130 | + |
| 131 | +[Gnuxie 💜🐝](https://matrix.to/#/@gnu_ponut:matrix.org) reports |
| 132 | + |
| 133 | +> [Draupnir v2.4.1](https://github.com/the-draupnir-project/Draupnir/releases/tag/v2.4.1) has been released. This update allows the [*room takedown protection*](https://the-draupnir-project.github.io/draupnir-documentation/protections/room-takedown-protection) to find rooms on your synapse homeserver without the need for `synapse-http-antispam`. We have also added support for synapse-http-antispam's new ping functionality and a troubleshooting guide to Draupnir's [interop documentation](https://the-draupnir-project.github.io/draupnir-documentation/bot/synapse-http-antispam) for the module. |
| 134 | +
|
| 135 | +## Matrix in the News 📰 |
| 136 | + |
| 137 | +[Matthew](https://matrix.to/#/@matthew:matrix.org) announces |
| 138 | + |
| 139 | +> Netzpolitik covers FITKO and ZaPuK converging on Matrix as the standard for public sector communications in Germany: <https://netzpolitik.org/2025/verwaltungsdigitalisierung-arbeitsgruppe-empfiehlt-matrix-protokoll-fuer-behoerdenkommunikation/> |
| 140 | +
|
| 141 | +[hagen](https://matrix.to/#/@derhagen:matrix.org) says |
| 142 | + |
| 143 | +> In an acticle published in the [Norwegian Digitalisation Agency's blog](https://www.digdir.no/standarder/verdens-programvare-star-pa-skuldrene-til-apen-kildekode/7195) (in Norwegian), Terje Sylvarnes highlights a couple of talks from this year's FOSS North conference. [In Terje's own talk](https://www.youtube.com/watch?v=i4uSCy4BGDc), held together with Hagen Echzell and accompanied by a [paper](https://foss-north.se/2025/slides/hechzell-tsylvarnes-interoperability-paper.pdf), they present several technical and semantic "interoperability solutions", following vocabulary from the new "Interoperable Europe Act" (EU). By the example use-case of a university alliance, they show how standards like OpenCloudMesh, Matrix, and JSON-LD/RDF can enable file exchange, E2E-encrypted messaging, as well as sharing semantically annotated data and APIs. All of that across organzational boundaries while avoiding vendor-lockin. |
| 144 | +
|
| 145 | +## Matrix Federation Stats |
| 146 | + |
| 147 | +[Aine [away]](https://matrix.to/#/@aine:etke.cc) announces |
| 148 | + |
| 149 | +> collected by [MatrixRooms.info](https://matrixrooms.info/?utm_source=twim&utm_medium=matrix&utm_campaign=federation-stats) - an [MRS](https://github.com/etkecc/mrs) instance by [etke.cc](https://etke.cc?utm_source=twim&utm_medium=matrix&utm_campaign=federation-stats) |
| 150 | +> |
| 151 | +> As of today, `13062` Matrix federateable servers have been discovered by matrixrooms.info, `3759` (`28.8%`) of them are publishing their rooms directory over federation. |
| 152 | +> The published directories contain `18249` rooms. |
| 153 | +> |
| 154 | +> Stats timeline is available on [MatrixRooms.info/stats](https://matrixrooms.info/stats/?utm_source=twim&utm_medium=matrix&utm_campaign=federation-stats) |
| 155 | +> |
| 156 | +> [How to add your server](https://matrixrooms.info/indexing/?utm_source=twim&utm_medium=matrix&utm_campaign=federation-stats) | [How to remove your server](https://matrixrooms.info/deindexing/?utm_source=twim&utm_medium=matrix&utm_campaign=federation-stats) |
| 157 | +
|
| 158 | +## Dept of Ping |
| 159 | + |
| 160 | +Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. |
| 161 | + |
| 162 | +### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) |
| 163 | + |
| 164 | +Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |
| 165 | + |
| 166 | +|Rank|Hostname|Median MS| |
| 167 | +|:---:|:---:|:---:| |
| 168 | +|1|tuwunel.love|140| |
| 169 | +|2|continuwuity.codestorm.net|168| |
| 170 | +|3|codestorm.net|218| |
| 171 | +|4|nerdhouse.io|266| |
| 172 | +|5|emzee.me|272| |
| 173 | +|6|ncat.cafe|272.5| |
| 174 | +|7|thesilentlink.org|310| |
| 175 | +|8|wolfspyre.io|345| |
| 176 | +|9|laincorp.tech|371| |
| 177 | +|10|ellis.link|375.5| |
| 178 | + |
| 179 | +## That's all I know |
| 180 | + |
| 181 | +See you next week, and be sure to stop by [#twim:matrix.org](https://matrix.to/#/#twim:matrix.org) with your updates! |
| 182 | + |
| 183 | +To learn more about how to prepare an entry for TWIM check out [the TWIM guide](/twim-guide). |
0 commit comments