{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreiahbhm5hpl5acryvz7qcdwm2s65otg6lyol7tkk375j7yy4nj5b7m",
    "uri": "at://did:plc:qk2qnafs6es6f2znn6gexjid/app.bsky.feed.post/3meb62ybyqrr2"
  },
  "coverImage": {
    "$type": "blob",
    "ref": {
      "$link": "bafkreih2pd3rbmygzx5aumejfbq6cn4xaacr3wc76lrox6pfz3i6pr43pu"
    },
    "mimeType": "image/png",
    "size": 139154
  },
  "path": "/blog/2026/02/06/this-week-in-matrix-2026-02-06/",
  "publishedAt": "2026-02-06T20:05:30.000Z",
  "site": "https://matrix.org",
  "tags": [
    "FOSDEM Wrap Up",
    "https://youtube.com/watch?v=U_YdrcrWw8M",
    "Kenneth Edwall",
    "https://www.esamverka.se/aktuellt/nyheter/nyheter/2026-01-30-ny-rapport---gemensamt-federationsprotokoll-for-chatt-i-offentlig-sektor.html",
    "https://www.esamverka.se/download/18.2eb33fa919b2c04ecba7dcb/1769777961813/ES2025-20%20Common%20Federation%20Protocol%20for%20Chat%20in%20the%20Public%20Sector.pdf",
    "https://www.esamverka.se/download/18.2eb33fa919b2c04ecba7dcd/1769777982072/dSam%20All%20appendices%20A-J%20ES2025-20.pdf",
    "Kegan",
    "written a paper",
    "MSC4242: State DAGs",
    "academic literature",
    "website",
    "Jason 💕",
    "MSC2815",
    "MSC3706",
    "Alpine Package",
    "nixpkgs",
    "GitHub",
    "Releases",
    "Containers",
    "DockerHub",
    "website",
    "Gaël G.",
    "ESS Community 26.2.0",
    "ESS Pro 26.2.0",
    "QuadRadical (Ping)",
    "https://mastodon.matrix.org/@matrix/115984678549548096",
    "nexus:federated.nexus",
    "https://git.federated.nexus/henry-hiles/nexus",
    "website",
    "Ștefan",
    "5035",
    "5054",
    "5026",
    "5024",
    "5052",
    "5044",
    "5016",
    "5025",
    "5038",
    "5022",
    "5029",
    "website",
    "Benoit",
    "https://github.com/element-hq/element-x-android/releases/tag/v26.01.2",
    "website",
    "airyz",
    "Release Notes",
    "commet:matrix.org",
    "website",
    "Benedict",
    "Tammy",
    "tammy-a11y:imbitbu.de",
    "Kim Brose (n.io)",
    "NeoBoard",
    "2.4.0",
    "Nordeck's",
    "for example at The Matrix Conference",
    "recently also bleeding edge standalone app",
    "nordeck:nordeck.io",
    "Widget Server",
    "1.2.1",
    "NeoDateFix Widget",
    "1.7.3",
    "NeoDateFix Bot",
    "2.8.6",
    "NeoChoice Widget",
    "1.6.1",
    "nordeck:nordeck.io",
    "Alexis",
    "matrix-ui-serializable",
    "Robrix",
    "tauri-plugin-matrix-svelte",
    "matrix-svelte-client",
    "binaries",
    "room",
    "website",
    "Benedict",
    "**moved to connect2x**",
    "website",
    "Ivan 🦀",
    "6065",
    "6057",
    "6068",
    "6038",
    "6056",
    "6052",
    "6080",
    "6050",
    "6048",
    "6031",
    "6025",
    "6043",
    "6033",
    "6032",
    "6091",
    "`deadpool`#461",
    "6055",
    "6079",
    "Aine [etke.cc]",
    "MatrixRooms.info",
    "MRS",
    "etke.cc",
    "📊 MatrixRooms.info/stats",
    "🧩 Integrations with apps and servers",
    "👉 How to add your server",
    "🙅 How to remove your server",
    "pingbot",
    "maubot",
    "ping:maunium.net",
    "ping:maunium.net",
    "twim:matrix.org",
    "the TWIM guide"
  ],
  "textContent": "## 🔗Matrix Live S11E21 live from the Matrix Hackathon at FOSDEM 2026\n\nLast week at FOSDEM 2026 we hosted our very first Matrix Hackathon with the community. The results were amazing and presented in this Matrix Live Edition.\n\nYou can find out more about Matrix at FOSDEM 2026 in the FOSDEM Wrap Up.\n\nToday's Matrix Live:  https://youtube.com/watch?v=U_YdrcrWw8M \n\n## 🔗Dept of Public Sector\n\n### 🔗🇸🇪 Sweden’s Public Sector (eSam) Proposes Open Federation Protocol\n\nKenneth Edwall announces\n\n> We are excited to see a major strategic shift proposed in Sweden! eSam, a collaboration program consisting of 41 Swedish government agencies, has released a new report: \"Common Federation Protocol for Chat in the Public Sector\" (ES2025-20).\n>\n> The report explicitly recommends moving away from fragmented, proprietary silos towards a common, open federation protocol.\n>\n> Key highlights from the report:\n>\n> **Protocol over Product:** The working group stresses that the public sector needs to agree on a \"common language\" (protocol) rather than a single product. This allows agencies to choose different clients or hosting providers while maintaining interoperability.\n>\n> **Digital Sovereignty & Security:** The report highlights the risks of depending on global tech giants for business critical communication between authorities and the \"lock-in\" effects of proprietary communication protocols.\n>\n> **Matrix as the Prime Example:** The report references the success of Matrix in other nations. It cites the French government's Tchap, Germany’s BwMessenger and openDesk, and Luxembourg's Luxchat among others as proof that open federation works at scale.\n>\n> **The Recommendation:** The working group proposes that eSam formally decides to establish a joint collaboration to start implement an open federation protocol.\n>\n> The report concludes that sticking to open standards is a strategic investment in \"digital autonomy\" and allows Sweden to avoid the fragmentation seen in the post-Skype for Business era.\n>\n> It’s fantastic to see Sweden taking steps to join the growing federated public sector network in Europe! You can read the full report via eSam.\n>\n> **Official homepage** https://www.esamverka.se/aktuellt/nyheter/nyheter/2026-01-30-ny-rapport---gemensamt-federationsprotokoll-for-chatt-i-offentlig-sektor.html\n>\n> **Report** https://www.esamverka.se/download/18.2eb33fa919b2c04ecba7dcb/1769777961813/ES2025-20%20Common%20Federation%20Protocol%20for%20Chat%20in%20the%20Public%20Sector.pdf\n>\n> **Appendices** https://www.esamverka.se/download/18.2eb33fa919b2c04ecba7dcd/1769777982072/dSam%20All%20appendices%20A-J%20ES2025-20.pdf\n\n## 🔗Dept of Spec 📜\n\nKegan says\n\n> As part of the Hydra work, I've written a paper on how group management CRDTs like Matrix can achieve stronger consistency guarantees to prevent backdating and other forms of state rollbacks. I've also published MSC4242: State DAGs after much talk about it over the past few months, which aligns the federated room synchronisation mechanism more with academic literature on eventually consistent access control. Should this MSC be accepted, this would mark the first major change in the synchronisation mechanism since Matrix was established. These changes only affect federation and do not affect clients, bots or application services. If you're curious (and especially if you are a server developer!) please do take a look at the MSC and provide feedback.\n\n## 🔗Dept of Servers 🏢\n\n### 🔗Tuwunel (website)\n\nEnterprise successor to conduwuit, the high-performance and feature-rich fork of Conduit.\n\nJason 💕 announces\n\n> #### 🔗✨️ New Features & Enhancements\n>\n>   * SSO/OIDC support. This feature allows users to register and login via authorizations from OIDC Identity Providers. For example, you can now use your GitHub account to register on the server.\n>   * MSC2815 has been implemented, allowing configurable redacted event retention and retrieval by room admins. Redacted events can be viewed using Gomuks for up to 60 days.\n>   * Secure limited-use registration token support was implemented by dasha-uwu building off earlier work by gingershaped. Use this feature with the new `!admin token` set of commands.\n>   * An outstanding major rework of the presence system by lhjt coordinates conflicting updates from multiple devices and further builds on push suppression features first introduced by tototomate123.\n>   * MSC3706 has been implemented, improving the performance and reliability of joining rooms over federation.\n>   * VlaDexa implemented reading the `client_secret` configuration for an SSO Identity Provider from a separate file; a recommended secure practice.\n>   * Special thanks to winyadepla for adding highly sought Matrix RTC (Element Call) documentation for Tuwunel and for having a kind heart to follow up with maintenance.\n>   * Thank you Xerusion for documenting Traefik for deploying Tuwunel in. This will save a lot of time and headache for many new users!\n>   * At the request of ChronosXYZ, dasha-uwu implemented a configurable feature to include all local users in search results, rather than limiting to those in public or shared rooms.\n>   * Thanks to a collaboration by June and VlaDexa working through Nix maintenance we can now upgrade the MSRV to 1.91.1.\n>   * Thank you scvalex for updating the README indicating Tuwunel is in stable NixOS.\n>   * Thank you divideableZero for bringing great news about an Alpine Package.\n>   * Storage hardware characteristics for mdraid devices on Linux are now detected increase performance above defaults.\n>   * EdDSA is now a supported algorithm for JWT logins.\n>\n\n>\n> #### 🔗🐞 Bug Fixes\n>\n>   * LDAP users are now auto-joined to configured rooms upon creation. Thank you yefimg for contributing, we especially appreciate help from domain-experts on these features.\n>   * A surgical fix by kuhnchris addressed a pesky bug where LDAP logins would result in admin privileges being removed for the user. Thank you foxing-quietly for reporting.\n>   * OptimoSupreme fixed issues with unread notification counting, including eliminating one of the last remaining non-async database calls in the codebase.\n>\n\n>\n> June fixed linker issues for platforms without static builds of `io_uring`. June fixed compatibility for our optimized jemalloc build on macOS. dasha-uwu made Livekit operate properly even when federation is disabled. Thank you VlaDexa for updating the `Cache-Control` header to cache media as `private` which is more appropriate now in the Authenticated Media era. Appservices now receive events properly matching on the sender MXID's localpart thanks to dasha-uwu. Additional PDU format and compliance checks were added by dasha-uwu. Codepaths in sync systems which assumed `device_id` from appservices were fixed by dasha-uwu. Auto-joining version 12 rooms was inhibited from a bug fixed by dasha-uwu. Thank you June for updating our ldap3 dependency with SSL/TLS enhancements and fixing errors reported by fruzitent. Thanks to June `join_rule` is now properly defaulted in `/publicRooms` responses; additional compliance tests now pass! The timezone and extended profile `m.tz` field was incorrectly labeled `tz`. dasha-uwu fixed git tags not being pulled and applied to CI builds. dasha-uwu fixed a bug in sliding-sync which may result in lost invites. Media deletion commands which are time-based suffered a bug from incorrect creation timestamps on some filesystems. Queries for the deprecated `_matrix._tcp` SRV record have been reactivated due to an ineffective and unenforced sunset by the specification and other implementations.\n>\n> #### 🔗Honorable Mentions\n>\n>   * Please take a moment to recognize how lucky we are to have scvalex as our NixOS package maintainer. From having the wherewithal to rise above the noise and lend this project trust from the very first days, time and again this gentleman has gone above and beyond on our behalf. Thank you symphorien at NixOS as well for the patch applied surgically in nixpkgs.\n>\n\n>\n> * * *\n>\n> **💕GitHub ✦ Releases ✦ Containers ✦ DockerHub ✦ Tuwunel 💕**\n>\n> * * *\n\n## 🔗Homeserver Deployment 📥️\n\n### 🔗Element Server Suite (website)\n\nElement Server Suite (ESS) is a backend hosting solution for Matrix-based communications that supports self-hosted and fully managed deployments.\n\nGaël G. says\n\n> **ESS Community 26.2.0 and ESS Pro 26.2.0 have been released.**\n>\n>   * Set default permissions on Hookshot so that local users only have permissions to manage integrations and connections.\n>   * Fix Hookshot widgets not being available when using the Synapse ingress.\n>\n\n>\n> **In addition to this, ESS Pro got...**\n>\n>   * Advanced Access Identity Management: directly support SCIM configuration in the chart.\n>   * Synapse: Add support for S3 Server Side Encryption.\n>   * Mark the chart created Admin User as a support user so that it is hidden from the user directory.\n>   * Updates to the Authentication features supported by the chart.\n>   * Minor fixes to multi-tenancy deployment mode.\n>\n\n\n## 🔗Dept of Clients 📱\n\n### 🔗Nexus Client\n\nQuadRadical (Ping) says\n\n> Hello, it's been a while since the last update about Nexus Client, and a lot has happened! One of the biggest changes has been a rewrite of our entire backend to use the Gomuks RPC interface through FFI, instead of the Matrix Dart SDK. A huge thanks to Tulir for helping out with this!\n>\n> This has simplified development a lot, and has allowed us to implement new features like restoring crypto from a recovery passphrase or key. Also, a lot of improvements surrounding the viewing and downloading of media will follow soon.\n>\n> Whilst Nexus isn't yet usable by most users, I think it will be soon enough!\n>\n> You may have also seen me hacking away on Nexus at the Matrix hackathon in Brussels: https://mastodon.matrix.org/@matrix/115984678549548096\n>\n> If you want to help with development or simply keep up with new features, join our matrix room at #nexus:federated.nexus, or check out the Git repo at https://git.federated.nexus/henry-hiles/nexus!\n\n### 🔗Element X iOS (website)\n\nA total rewrite of Element iOS using the Matrix Rust SDK underneath and targeting devices running iOS 17+.\n\nȘtefan says\n\n> Busy week on Element X iOS with a mix of notification reliability work, Spaces polish and stability fixes.\n>\n> We've significantly improved push notification behaviour after a device reboot. The Notification Service Extension now detects when the device has just been powered on and can't yet decrypt messages, and instead of crashing it delivers a heads-up notification letting you know there may be unread messages waiting (#5035, #5054). Calls also no longer risk being killed by the system thanks to a fix in PushKit VoIP completion handling (#5026).\n>\n> On the Spaces front: the filter screen now has a search bar (#5024), the filter button hides itself when you're not part of any spaces (#5052), and we fixed crashes when rapidly tapping space children (#5044).\n>\n> Other notable changes:\n>\n>   * Rooms with shared history now display an indicator icon in the header (#5016) — part of our push for better history-sharing UX.\n>   * You can once again redact the other person's messages in DMs, aligning behaviour with our other clients (#5025).\n>   * Fixed the app getting stuck and unable to open rooms after submitting a bug report (#5038).\n>   * Server rate-limit responses are now properly retried instead of surfacing as errors (#5022).\n>   * ListRow icons updated to match iOS 26 design guidelines (#5029).\n>\n\n\n### 🔗Element X Android (website)\n\nAndroid Matrix messenger application using the Matrix Rust SDK and Jetpack Compose.\n\nBenoit announces\n\n> We're currently adding the latest missing features around spaces: it's now possible to manage rooms of a space, or create new child rooms directly from the space. As usual, we're trying to fix as many issues as possible and are always trying to improve the user experience and the application performance.\n>\n> On the release side of thing, Element X 26.01.2 is available on the open testing, Element Android Pro 26.01.2 will be available very soon. The release note can be read here: https://github.com/element-hq/element-x-android/releases/tag/v26.01.2.\n>\n> Last but not least, we are seeing more and more pull requests coming from external contributors, and this is really exciting! As a reminder though, please first open an issue to confirm with the team that your work will not be rejected by the product people, or for missing parity reason with the iOS application (this point may still be discussed, but rather discuss it in an issue than on a big PR, after the hard work has been done).\n>\n> Many thanks from the Element Android team!\n\n### 🔗Commet v0.4.0 ☄️ (website)\n\nCommet is a client for mobile and desktop with a modern UI and fun features!\n\nairyz reports\n\n> **This week we released v0.4.0 of Commet, bringing a bunch of new features, interface improvements and bug fixes.**\n>\n> #### 🔗🚀 New Features\n>\n>   * **Partial support for Element Call**. You can now participate in _unencrypted_ group calls between Element and Commet!\n>   * **Rich profile customization**. Add a custom color scheme, banner, bio and more to your Matrix profile.\n>   * **Calendar rooms**. Create a shared calendar to help plan your group's schedule and events. This one is also available as a widget which can be used in Element!\n>   * **User presence**. Show users online status on supported servers\n>   * **Photo Album Rooms**. Create an album for you and your friends to share the photos of that event you planned over in the calendar room!\n>\n\n>\n> There's a whole lot more to cover, so be sure to check out the Release Notes for more info!\n>\n> Feel free to stop by #commet:matrix.org and let us know what you think of the update!\n\n### 🔗Tammy (website)\n\nMultiplatform messenger built on top of Trixnity Messenger.\n\nBenedict says\n\n> It’s been a while since the last Tammy release, but the wait is over. **Tammy 2.0 is out** , bringing major upgrades across crypto, authentication, notifications, and platform support.\n>\n> #### 🔗🔐 Next-generation crypto\n>\n> Tammy now uses **vodozemac** by default.\n>\n> All existing keys are automatically migrated, so this upgrade is seamless. No manual steps and no user-visible changes, just a more modern and robust crypto foundation.\n>\n> #### 🔗🔑 Next-generation authentication\n>\n> Tammy can now **natively log in to modern homeserver deployments** , including setups using **MAS**. This makes Tammy compatible with current and future authentication flows without workarounds.\n>\n> #### 🔗🔔 Next-generation notifications\n>\n> Notifications have been completely reworked to behave the way users expect:\n>\n>   * Reading a message on one device clears the notification on your other devices\n>   * Notifications are updated when events are replaced, or removed when redacted\n>   * Notification counts in encrypted rooms now behave correctly\n>   * Still-valid notifications are restored when logging in\n>   * Rooms are highlighted when unread\n>\n\n>\n> On top of that, notification providers are now **configurable**. On Android, you can choose between **Play Services** and **UnifiedPush**. This flexibility finally opens the door to releasing Tammy on **F-Droid**. If you’d like to help make that happen, please reach out!\n>\n> #### 🔗👩‍🦯‍➡️ Accessibility\n>\n> We have worked hard on accessibility issues. Specifically, the web version now supports screen readers and keyboard navigation. Checkout #tammy-a11y:imbitbu.de and leave some feedback.\n>\n> #### 🔗🍎 iOS on the horizon\n>\n> We already have a commercially used iOS version of Trixnity Messenger (the foundation of Tammy) for a while. But now, we’ve successfully started Trixnity Messenger on iOS in the most minimal form: just a `main` function.\n>\n> This is a key milestone and means that **Tammy for iOS is finally within reach**.\n\n## 🔗Dept of Widgets 🧩\n\n### 🔗Nordeck Widgets Roundup\n\nKim Brose (n.io) reports\n\n> We have released **NeoBoard version 2.4.0**!\n>\n> If you follow Nordeck's Matrix projects, for example at The Matrix Conference, you will be familiar with our real-time collaborative whiteboard application NeoBoard, built on Matrix (including experimental Matrix RTC) and available as a widget and recently also bleeding edge standalone app.\n>\n> Besides the usual improvements and bug fixes™️, the highlight of version 2.4.0 is the new \"frames\" feature to NeoBoard's WIP \"infinite canvas\" mode. It allows you to group objects both logically and visually, so you can move things together or arrange them like a more flexible version of slides for a presentation. Like Matrix RTC, infinite canvas is currently behind a feature flag, so if you want to try it out, clone the repo, flip the switch, and let us know how it goes at #nordeck:nordeck.io!\n>\n> We also released the following updates to squash any CVEs that cropped up in the meantime:\n>\n>   * Widget Server, part of the Matrix Widget Toolkit, version 1.2.1\n>   * NeoDateFix Widget, the Matrix-based meeting planner, version 1.7.3\n>   * NeoDateFix Bot, companion for the widget, version 2.8.6\n>   * NeoChoice Widget, the widget for advanced polls in Matrix, version 1.6.1\n>\n\n>\n> Stay tuned for updates and we always welcome feedback from businesses, individuals and the community! The easiest way to find us is visiting our public room at #nordeck:nordeck.io.\n\n## 🔗Dept of SDKs and Frameworks 🧰\n\n### 🔗matrix-ui-serializable\n\nA new way to build Matrix clients on top of the Rust SDK ! 🦀\n\nAlexis says\n\n> I'm excited to present you a new kind of wrapper that abstracts a lot of things that a Matrix client needs : matrix-ui-serializable. This project takes some good bits from Robrix (thanks to Kevin Boos and his team !), and exposes two main structs RoomsList and RoomScreen, that contains almost everything you need to display a list of rooms or a room timeline. Those structs are serializable, so they can easily be used by other languages / frameworks such as...\n>\n> ... Tauri ! Thanks to the tauri-plugin-matrix-svelte, that syncs every change to these structs in a **Svelte 5 reactive store**. No need to handle complex logic on the frontend, just implement a nice View that will be automatically updated.\n>\n> Last but not least, I built a demo Matrix client that uses this plugin, matrix-svelte-client ! Available on **desktop and mobile** , it has all basic features a Matrix client could have, plus a few nice additions like **(basic) thread support, media messages, audio recording, or push notifications.** It is built for showcasing purpose, not for production though. But I'm sure it could be a great starting point for anyone who dreams to build its own Matrix client with Svelte ! I **released** binaries for every supported platform for you to try, please give a look ! So not one, not two, but three new projects ! Each project is independent, and should easily be forkable, especially matrix-ui-serializable. Every kind of feedback or contribution is welcomed, please join this room if you're interested in this project ! 😀\n\n### 🔗Trixnity (website)\n\nMultiplatform Kotlin SDK for developing Clients, Bots, Appservices and Servers.\n\nBenedict says\n\n> Say hello to **Trixnity 5.0** 👋\n>\n> This major release isn’t about chasing buzzwords. It’s about giving developers more freedom, fewer sharp edges, and a solid foundation that’s ready for where Matrix is heading next.\n>\n> #### 🔗🔐 Crypto with choice\n>\n> One of the biggest themes of this release is **crypto modularity**. With Trixnity 5.0, cryptography is no longer a fixed choice but a **pluggable driver** you can swap and evolve over time.\n>\n> Stick with the deprecated but familiar **libolm** , or move forward with the modern **vodozemac** stack. Trixnity supports both, and even lets you **upgrade safely between them**. This is powered by a new migration system designed to keep your crypto keys as crypto implementations change.\n>\n> On top of that, **dehydrated devices (MSC3814)** are now fully supported, alongside the compatibility mode introduced last year for libolm.\n>\n> #### 🔗🔑 Authentication that fits modern apps\n>\n> Matrix authentication has changed a lot over the last year and Trixnity keeps up. This release introduces **extensible authentication** , including **OAuth2 support** , making it much easier to integrate Matrix into modern login and identity setups.\n>\n> Whether you’re building a consumer app, an enterprise client, or something experimental, Trixnity no longer assumes a single authentication flow for everyone.\n>\n> #### 🔗🔔 Notifications that behave like users expect\n>\n> Notifications are tricky and Trixnity 5.0 gives them a proper rethink. A **completely new notification calculation** provides a solid, testable foundation for notification handling across platforms.\n>\n> That means things like:\n>\n>   * Reading a message on one device clears the notification on your other devices\n>   * Notifications are updated when replaced or removed when redacted\n>   * Notification counts in encrypted rooms finally behave correctly\n>   * Receive still valid notifications when logging in\n>\n\n>\n> Not flashy features, but the kind that make an app feel _right_.\n>\n> #### 🔗📝 Keeping up with the Matrix spec\n>\n> Trixnity 5.0 supports **Matrix 1.14 through 1.17**. One of these releases quietly introduced extensible events (via room topics), and Trixnity is ready: you can now **read and create extensible events** out of the box.\n>\n> #### 🔗🧹 A cleaner, sharper core\n>\n> This release also brings a lot of under-the-hood polish. There’s a **new API for creating a`MatrixClient`**, making entry points clearer and intent more explicit. To make debugging life easier, Lognity is used for logging now. It allows to configure logging unified on all platforms. The small high level implementation **trixnity-applicationservice have been retired** , allowing the project to focus on what’s actively used and maintained. As usually, a plenty of refactorings and cleanups were done to make the codebase easier to read and nicer to contribute to.\n>\n> #### 🔗🏠 Same Trixnity, new address\n>\n> Trixnity has officially **moved to connect2x**. Nothing changes about how the project is developed or maintained, and the license remains Apache 2.0.\n>\n> This move simply reflects reality: connect2x is currently the sole maintainer, and keeping Trixnity separate from our other projects added unnecessary overhead. Now Trixnity lives under `de.connect2x`. Same project, same goals, just a home that fits better.\n\n### 🔗matrix-rust-sdk (website)\n\nYour 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, sponsored by Element.\n\nIvan 🦀 reports\n\n> _Bonjour tout le monde !_ Let's get rusty.\n>\n> #### 🔗Event Cache\n>\n> Preparing the work to persist thread events, and a bug fix!\n>\n>   * #6065 The SQLite schema has been update to allow storing the same event in multiple (persisted) `LinkedChunk` for the same room. This is necessary for storing the thread events in the persistent storage of the Event Cache.\n>   * #6057 We've noticed an off-by-one access, which resulted in a panic, in the `LinkedChunk` data structure. This is now fixed, but we still don't know what triggers this. We are investigating.\n>\n\n>\n> #### 🔗Latest Event\n>\n> Been busy supporting invite rooms, and a couple of bug fixes.\n>\n>   * #6068 A race-condition has been found where a `RoomInfo` could be “rolled back” to an older version in the Latest Event flow.\n>   * #6038 It's the first part for supporting invite rooms with the Latest Event: New state event candidate for `LatestEventValue`, `m.room.member` with `join`!\n>   * #6056 It's the second part for supporting invite rooms with the Latest Event: Adding `LatestEventValue::RemoteInvite`. Why does it need a different variant than `LatestEventValue::Remote`? Because an invite room only receives stripped state-events, while a joined room receives (unstripped) state-event, and this is very different. Anyway, one will see its invite in the Room List at the correct position.\n>\n\n>\n> #### 🔗Send Queue\n>\n> Improving the support of already sent thumbnails!\n>\n>   * #6052 Save an actual thumbnail in the Media Cache for a media we just uploaded.\n>\n\n>\n> #### 🔗Logs\n>\n> Let's find the needles in the haystack, with better tools.\n>\n>   * #6080 Introduce `cargo xtask log sync` to visualise logs about sync, with a table and a duration graph. This is pretty helpful if one needs to debug the app via the logs generated by `matrix-sdk-ffi`.\n>\n\n>\n> #### 🔗Timeline\n>\n> Improving thread support, and a couple of bug fixes.\n>\n>   * #6050 Enable focusing a thread root using `TimelineFocus::Event`.\n>   * #6048 Add a filter for membership and profile changes.\n>   * #6031 Expose the user's threaded receipt on each thread summary.\n>\n\n>\n> #### 🔗Spaces\n>\n> Let's go to space, but not without filters…!\n>\n>   * #6025 New API to filter spaces! This is a mechanism very similar to `RoomListService`, but tailored for Spaces.\n>   * #6043 Add a method to reset a `SpaceRoomList`.\n>   * #6033 Allow removing unknown child rooms from spaces.\n>   * #6032 `LeaveSpaceRoom::is_last_admin` was incorrectly computed.\n>\n\n>\n> #### 🔗SQLite\n>\n> Tracking a panic in the pool manager.\n>\n>   * #6091 We are trying to fix a panic when the SQLite connection is aborted, usually when the `Client` is closing. It happens pretty often and could make apps to crash (if multi-accounts is supported), or silently crash when an app is closing. The patch on `deadpool` (the library we use to manage a pool of connections) is waiting for a review (`deadpool`#461). Meanwhile, we are removing a couple of `unwrap`s on our side, which will be triggered once `deadpool` is fixed. The hope is to get zero crash when a `Client` is dropping normally.\n>\n\n>\n> #### 🔗Others\n>\n> Better resiliency against weird behaviours.\n>\n>   * #6055 Handle sync state events that fail to deserialize.\n>   * #6079 Attempt to export the secrets bundle sooner in the QRCode login process.\n>\n\n>\n> Thank you for your reading!\n\n## 🔗Matrix Federation Stats\n\nAine [etke.cc] reports\n\n> collected by MatrixRooms.info - an MRS instance by etke.cc\n>\n> As of today, `13810` Matrix federateable servers have been discovered by matrixrooms.info, `3452` (`25.0%`) of them are publishing their rooms directory over federation. The published directories contain `16920` rooms.\n>\n> The most popular server software among the online servers is:\n>\n>   * synapse: `11679` (`84.6%`)\n>   * conduit: `507` (`3.7%`)\n>   * continuwuity: `450` (`3.3%`)\n>   * dendrite: `380` (`2.8%`)\n>\n\n>\n> Stats timeline is available on 📊 MatrixRooms.info/stats\n>\n> 🧩 Integrations with apps and servers | 👉 How to add your server | 🙅 How to remove your server\n\n## 🔗Dept of Ping 🏓\n\nHere 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.\n\n### 🔗#ping:maunium.net\n\nJoin #ping:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.\n\nRank| Hostname| Median MS\n---|---|---\n1| vibb.me| 229\n2| usbpc.xyz| 256\n3| vrkknn.net| 306\n4| the-lamp.net| 361\n5| muoi.me| 394\n6| mustelid.chat| 403\n7| littlevortex.net| 451\n8| federated.nexus| 493\n9| calitabby.net| 563\n10| jeroenhd.nl| 571\n\n## 🔗That's all I know\n\nSee you next week, and be sure to stop by #twim:matrix.org with your updates!\n\nTo learn more about how to prepare an entry for TWIM check out the TWIM guide.",
  "title": "This Week in Matrix 2026-02-06",
  "updatedAt": "2026-02-06T20:05:30.000Z"
}