<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>Matrix.org</title>
    <subtitle>The Matrix.org Foundation</subtitle>
    <link href="https://f297f985.matrix-website.pages.dev/atom.xml" rel="self" type="application/atom+xml"/>
    <link href="https://f297f985.matrix-website.pages.dev"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2024-02-16T00:00:00+00:00</updated>
    <id>https://f297f985.matrix-website.pages.dev/atom.xml</id>
    
    
    
    
<entry xml:lang="en">
    <title>This Week in Matrix 2024-02-16</title>
    <published>2024-02-16T00:00:00+00:00</published>
    <updated>2024-02-16T00:00:00+00:00</updated>
    <author>
      <name>
            MTRNord
          </name>
    </author>
    <link rel="alternate" href="https://f297f985.matrix-website.pages.dev/blog/2024/02/twim/" type="text/html"/>
    <id>https://f297f985.matrix-website.pages.dev/blog/2024/02/twim/</id>
    <content type="html">&lt;h2 id=&quot;dept-of-communities&quot;&gt;Dept of communities&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;ubuntu-matrix-homeserver-just-went-live-tada&quot;&gt;Ubuntu Matrix homeserver just went live 🎉&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@ravage:xentonix.net&quot;&gt;Nils&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Even if we are formally still in testing phase until the end of the Ubuntu 24.04 cycle, the Ubuntu Matrix homeserver reached a state in which we can consider it live.&lt;&#x2F;p&gt;
&lt;p&gt;Although Ubuntu used to be IRC-only, we are now adopting Matrix to cater to a wider, diverse audience, including less technical users and younger generations. Matrix allows us to do so while staying true to the values that brought us Ubuntu, Linux and FOSS. When selecting the tools we use, we are always focused on open-source, privacy and freedom respecting software. We believe that Matrix offers all the modern features we need without compromising our values. Moreover, Matrix will make it easier for us to interact with neighboring communities such as Fedora and KDE.&lt;&#x2F;p&gt;
&lt;p&gt;There is still a lot of work to do, but we want to take a moment to thank the Ubuntu and Matrix communities for their great effort and dedication to this project.&lt;&#x2F;p&gt;
&lt;p&gt;You can read more about it on this &lt;a href=&quot;https:&#x2F;&#x2F;discourse.ubuntu.com&#x2F;t&#x2F;modern-communication-platforms-call-for-feedback&#x2F;36763&#x2F;&quot;&gt;Discourse thread&lt;&#x2F;a&gt; and of course, you can now join our Ubuntu community from any Matrix federated server. A good start is the &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#community:ubuntu.com&quot;&gt;Ubuntu Community Space&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;h2 id=&quot;dept-of-status-of-matrix-face-with-th&quot;&gt;Dept of &lt;em&gt;Status of Matrix&lt;&#x2F;em&gt; 🌡️&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@josh:josh.tel&quot;&gt;Josh Simmons&lt;&#x2F;a&gt; reports&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;We are bowled over by the level of support we’ve received since &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2024&#x2F;01&#x2F;2024-roadmap-and-fundraiser&#x2F;&quot;&gt;launching our new fundraiser&lt;&#x2F;a&gt;!&lt;&#x2F;p&gt;
&lt;p&gt;We’re now up to 162 Individual Members, 114 of which are brand new supporters. To top things off, we’ve &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;support&#x2F;&quot;&gt;doubled the number of organizational members&lt;&#x2F;a&gt;, adding Fairkom, IndieHosters, and XWiki, and have received a donation from the Thunderbird project.&lt;&#x2F;p&gt;
&lt;p&gt;This is extremely encouraging, though we still have a long way to go to fill the gap in our budget, and are looking forward to larger organizations stepping up to the plate.&lt;&#x2F;p&gt;
&lt;p&gt;If your organization uses Matrix or believes in the values of open source, open standards, privacy, and decentralization: this is your call to action. Help us secure the future of Matrix and &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;membership&#x2F;&quot;&gt;join the Foundation today&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-spec-scroll&quot;&gt;Dept of Spec 📜&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@andrewm:element.io&quot;&gt;Andrew Morgan  (anoa)&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Here&#x27;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 &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;proposals&quot;&gt;https:&#x2F;&#x2F;spec.matrix.org&#x2F;proposals&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;msc-status&quot;&gt;MSC Status&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;New MSCs:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4103&quot;&gt;MSC4103: Make threaded read receipts opt-in in &#x2F;sync&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4102&quot;&gt;MSC4102: Clarifying precedence in threaded and unthreaded read receipts in EDUs&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4101&quot;&gt;MSC4101: Hashes for unencrypted media&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4100&quot;&gt;MSC4100: Scoped signing keys&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4099&quot;&gt;MSC4099: Participation based authorization for servers in the Matrix DAG&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;MSCs in Final Comment Period:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4041&quot;&gt;MSC4041: http header Retry-After for http code 429&lt;&#x2F;a&gt; (merge)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2530&quot;&gt;MSC2530: Body field as media caption&lt;&#x2F;a&gt; (merge)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Accepted MSCs:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2705&quot;&gt;MSC2705: Animated thumbnails for media&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Closed MSCs:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;No MSCs were closed&#x2F;rejected this week.&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;spec-updates&quot;&gt;Spec Updates&lt;&#x2F;h3&gt;
&lt;p&gt;After &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2024&#x2F;02&#x2F;09&#x2F;this-week-in-matrix-2024-02-09&#x2F;&quot;&gt;adding two new members&lt;&#x2F;a&gt; to the Spec Core Team last week, we had a number of tasks to ensuring our infrastructure and processes supported adding new members.&lt;&#x2F;p&gt;
&lt;p&gt;At this point the GitHub team has the new members, updating the &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;about&#x2F;&quot;&gt;matrix.org about page&lt;&#x2F;a&gt; and all ongoing proposed FCP comments have been updated (so that they can vote for FCP!). Kudos to the team for making the process all relatively pain-free (and even documenting it!).&lt;&#x2F;p&gt;
&lt;p&gt;Exciting things to come as folks get up to speed.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;random-msc-of-the-week&quot;&gt;Random MSC of the Week&lt;&#x2F;h3&gt;
&lt;p&gt;The random MSC of the week is... &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3468&quot;&gt;MSC3468: MXC to Hashes&lt;&#x2F;a&gt;!&lt;&#x2F;p&gt;
&lt;p&gt;This MSC is working towards a noble goal; deduplicating media, as well as allowing a server-agnostic way to reference them (a hash). It does so by redefining MXC URIs as these hashes, rather than the &lt;code&gt;mxc:&#x2F;&#x2F;{serverName}&#x2F;{mediaId}&lt;&#x2F;code&gt; format they are today.&lt;&#x2F;p&gt;
&lt;p&gt;The proposal also adds two new endpoints to both the Client-Server API and the Server-Server API. One for asking the server for a hash given an old-style MXC URI, and another for &amp;quot;cloning&amp;quot; a remote piece of media (downloading it to your local homeserver instance).&lt;&#x2F;p&gt;
&lt;p&gt;This work joins other MSCs in solving media retention, redaction, and resiliency, namely:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3911&quot;&gt;MSC3911: Linking media to events&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;3916&quot;&gt;MSC3916: Authentication for media&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2846&quot;&gt;MSC2846: Decentralizing media through CIDs&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;So do check them all out if you&#x27;re interested in the problem space!&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-servers-europea&quot;&gt;Dept of Servers 🏢&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;synapse-website&quot;&gt;Synapse (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;synapse&#x2F;&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;Synapse is a Matrix homeserver implementation developed by the matrix.org core team&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@andrewm:element.io&quot;&gt;Andrew Morgan  (anoa)&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;This week &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;synapse&#x2F;releases&#x2F;tag&#x2F;v1.101.0&quot;&gt;Synapse v1.101.0&lt;&#x2F;a&gt; was released. With it came &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;synapse&#x2F;issues&#x2F;16893&quot;&gt;a fix&lt;&#x2F;a&gt; for a performance regression in v1.100.0, as well as some other minor changes.&lt;&#x2F;p&gt;
&lt;p&gt;Coming up are a few performance changes courtesy of @erikjohnston, stemming from work to continue scaling matrix.org as we take on new users. This includes:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Avoid dropping the entire event cache when purging room history (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;synapse&#x2F;pull&#x2F;16905&quot;&gt;#16905&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Reducing duplicate server key requests over federation (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;synapse&#x2F;pull&#x2F;16894&quot;&gt;#16894&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;...and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;synapse&#x2F;pulls?q=is%3Apr+author%3Aerikjohnston+is%3Aclosed&quot;&gt;more&lt;&#x2F;a&gt;. Smaller servers will benefit from these changes as well. Thanks Erik!&lt;&#x2F;p&gt;
&lt;p&gt;Coming up are further performance fixes, along with more bugfixes, including &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;synapse&#x2F;pull&#x2F;16927&quot;&gt;a potential fix&lt;&#x2F;a&gt; for a class of stuck notifications related to threads.&lt;&#x2F;p&gt;
&lt;p&gt;Thank you to all our contributors and those who test our release candidates! 🙂&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;matrix-media-repo-website&quot;&gt;matrix-media-repo (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;turt2live&#x2F;matrix-media-repo&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;Matrix media repository with multi-domain in mind.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@travis:t2l.io&quot;&gt;TravisR&lt;&#x2F;a&gt; reports&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;MMR &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;t2bot&#x2F;matrix-media-repo&#x2F;releases&#x2F;tag&#x2F;v1.3.4&quot;&gt;v1.3.4&lt;&#x2F;a&gt; has landed! The changelog is a bit longer than usual, but still very much worth the read. Here&#x27;s the highlights:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Dendrite homeservers can now have their media imported.&lt;&#x2F;strong&gt; This has only been tested on a monolithic setup so far, but folks have had success with the legacy polylith as well. Give it a go and please report bugs 🙂&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Media can now be exported to Synapse.&lt;&#x2F;strong&gt; If you&#x27;re migrating from EMS to self-hosted and don&#x27;t want to use MMR, run the &lt;code&gt;import_to_synapse&lt;&#x2F;code&gt; tool to recover your media. This is particularly recommended for the relatively small EMS hosts which are migrating, as MMR is more designed for large servers and hosting providers.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;ARM Docker images are available from the new GHCR registry.&lt;&#x2F;strong&gt; See changelog for details 😉&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;CDN support has started landing through media redirects.&lt;&#x2F;strong&gt; Set &lt;code&gt;publicBaseUrl&lt;&#x2F;code&gt; on an S3 datastore and requesters will be redirected (if they opt-in to redirects). CDN support is planned to be expanded to include upload-to-url, authenticated media, and optimizations in thumbnail handling to reduce bandwidth usage. Stay tuned for updates!&lt;&#x2F;p&gt;
&lt;p&gt;Plus the usual bug fixes and improvements. For community support on running MMR, please visit &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#media-repo:t2bot.io&quot;&gt;#media-repo:t2bot.io&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-clients-iphone&quot;&gt;Dept of Clients 📱&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;element-x-ios-website&quot;&gt;Element X iOS (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;vector-im&#x2F;element-x-ios&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@douge:matrix.org&quot;&gt;Doug&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Version 1.5.6 is available on TestFlight (with 1.5.7 due shortly).&lt;&#x2F;li&gt;
&lt;li&gt;Typing indicators have been added, with a combined Presence setting for disabling these and read receipts.&lt;&#x2F;li&gt;
&lt;li&gt;The app will now ask for your recovery key after you signed in but there are no other sessions to verify against.&lt;&#x2F;li&gt;
&lt;li&gt;You can now copy a link without copying the entire message.&lt;&#x2F;li&gt;
&lt;li&gt;We have improved our logic for sending read receipts when there are reactions and other hidden events.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-sdks-and-frameworks&quot;&gt;Dept of SDKs and Frameworks 🧰&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;rory-libmatrix-net-8-matrix-bot-client-library-sdk&quot;&gt;Rory&amp;amp;::LibMatrix (.NET 8 matrix bot&#x2F;client library&#x2F;SDK)&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@emma:rory.gay&quot;&gt;Emma [it&#x2F;its]&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Not much to report on this week (yet to be committed and pushed 😅)
Mostly spent time working on LibDMSpace (abstraction for organising DMs into a space), see MatrixUtils repo for that!&lt;&#x2F;p&gt;
&lt;h4 id=&quot;changes&quot;&gt;Changes&lt;&#x2F;h4&gt;
&lt;ul&gt;
&lt;li&gt;Fixed powerlevel checks&lt;&#x2F;li&gt;
&lt;li&gt;Bug fix in initial sync detection in order to fix all responses getting logged to console&lt;&#x2F;li&gt;
&lt;li&gt;AddChildById wrapper for spaces&lt;&#x2F;li&gt;
&lt;li&gt;Added syncfilter for command listener in bot extensions&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;And, as always:&lt;&#x2F;strong&gt;&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;The code is available at &lt;a href=&quot;https:&#x2F;&#x2F;cgit.rory.gay&#x2F;matrix&#x2F;LibMatrix.git&quot;&gt;cgit.rory.gay&lt;&#x2F;a&gt;!
&lt;ul&gt;
&lt;li&gt;All contributions are more than welcome, be it documentation, code, anything! Perhaps, example usecases, bots, ...?&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Discussion, suggestions and ideas are welcome in &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#libmatrix:rory.gay&quot;&gt;#libmatrix:rory.gay&lt;&#x2F;a&gt; (Space: &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#mru-space:rory.gay&quot;&gt;#mru-space:rory.gay&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Got a cool project that you&#x27;re working on and want to share, using LibMatrix? Be sure to let me know, I&#x27;d love to hear all about it!&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;matrix-widget-toolkit&quot;&gt;Matrix Widget Toolkit&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@miltonmoura:matrix.org&quot;&gt;Milton Moura&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;After the cooldown from FOSDEM &#x27;24, where we presented &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;nordeck&#x2F;matrix-meetings&quot;&gt;NeoDateFix&lt;&#x2F;a&gt; in the &lt;a href=&quot;https:&#x2F;&#x2F;fosdem.org&#x2F;2024&#x2F;schedule&#x2F;track&#x2F;matrix&#x2F;&quot;&gt;Matrix devroom&lt;&#x2F;a&gt; and had a blast meeting and discussing awesome ideas with other Matrix-minded people, we at &lt;a href=&quot;https:&#x2F;&#x2F;nordeck.net&#x2F;&quot;&gt;Nordeck&lt;&#x2F;a&gt; have been busy working on new features for our Widgets.&lt;&#x2F;p&gt;
&lt;p&gt;This week, we are excited to announce that the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;nordeck&#x2F;matrix-widget-toolkit&quot;&gt;Matrix Widget Toolkit&lt;&#x2F;a&gt; now has support for accessing the &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.9&#x2F;client-server-api&#x2F;#content-repository&quot;&gt;Media  Repository&lt;&#x2F;a&gt; via the Widget API, aka, &lt;strong&gt;File Upload Support&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;The groundwork for this started midway last year, when we contributed the implementations for the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-react-sdk&#x2F;pull&#x2F;11311&quot;&gt;Matrix React SDK&lt;&#x2F;a&gt; and the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-widget-api&#x2F;pull&#x2F;86&quot;&gt;Matrix Widget API&lt;&#x2F;a&gt;, based on our proposed &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;nordeck&#x2F;matrix-spec-proposals&#x2F;blob&#x2F;nic&#x2F;feat&#x2F;widgetapi-upload-files&#x2F;proposals&#x2F;4039-widget-api-media.md&quot;&gt;MSC4039: Access the Content repository with the Widget API&lt;&#x2F;a&gt;, which were released in &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;element-web&#x2F;releases&#x2F;tag&#x2F;v1.11.46&quot;&gt;Element Web v1.11.46&lt;&#x2F;a&gt; back in October 2023.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;demo-example&quot;&gt;Demo &#x2F; Example&lt;&#x2F;h4&gt;
&lt;p&gt;As this feature now lands in the toolkit, we provide an &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;nordeck&#x2F;matrix-widget-toolkit&#x2F;pull&#x2F;592&quot;&gt;example widget&lt;&#x2F;a&gt; that you can try out for yourself by creating a new room and &lt;a href=&quot;https:&#x2F;&#x2F;matrix-widget-toolkit-demo.netlify.app&#x2F;&quot;&gt;following these instructions&lt;&#x2F;a&gt;, which showcases how you can upload images and reference them in a room using custom events.&lt;&#x2F;p&gt;
&lt;p&gt;This not only includes the media repository image upload example but also several other samples of what you can do with the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;nordeck&#x2F;matrix-widget-toolkit&quot;&gt;Matrix Widget Toolkit&lt;&#x2F;a&gt;, such as manipulating room state events, read, observe and send message events, search the user directory, etc.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;features&quot;&gt;Features&lt;&#x2F;h4&gt;
&lt;p&gt;We use this toolkit as the basis for our widgets, as it provides several reusable packages that are specific to Widget development, such as:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;a more &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;nordeck&#x2F;matrix-widget-toolkit&#x2F;blob&#x2F;main&#x2F;packages&#x2F;api&quot;&gt;convenient wrapper&lt;&#x2F;a&gt; for the Widget API&lt;&#x2F;li&gt;
&lt;li&gt;a set of &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;nordeck&#x2F;matrix-widget-toolkit&#x2F;blob&#x2F;main&#x2F;packages&#x2F;react&quot;&gt;React components&lt;&#x2F;a&gt; that make it straight-forward to integrate the Widget API in your web app&lt;&#x2F;li&gt;
&lt;li&gt;a &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;nordeck&#x2F;matrix-widget-toolkit&#x2F;blob&#x2F;main&#x2F;packages&#x2F;mui&quot;&gt;themable and accessible MUI package&lt;&#x2F;a&gt; for implementing Widgets that have a consistent user interface when embedded within Element Web&lt;&#x2F;li&gt;
&lt;li&gt;mocked objects for improved &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;nordeck&#x2F;matrix-widget-toolkit&#x2F;blob&#x2F;main&#x2F;packages&#x2F;mui&quot;&gt;testing support&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;and finally, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;nordeck&#x2F;matrix-widget-toolkit&#x2F;blob&#x2F;main&#x2F;containers&#x2F;widget-server&quot;&gt;a base container image&lt;&#x2F;a&gt; to host widgets in a production environment.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Stay tuned for more exciting Widget-land updates from us in the following weeks! As usual, if you have any questions or feedback, you can reach us at &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#nordeck:matrix.org&quot;&gt;#nordeck:matrix.org&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;trixnity-website&quot;&gt;Trixnity (&lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;trixnity&#x2F;trixnity&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;Multiplatform Kotlin SDK for Matrix&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@benedict:imbitbu.de&quot;&gt;Benedict&lt;&#x2F;a&gt; reports&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Another small release in Trixnity:&lt;&#x2F;p&gt;
&lt;p&gt;features&#x2F;improvements:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;added MatrixRegex (currently containing user regex). Thanks to @adambrangenberg&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;bugfixes:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;fix missing RoomRoomUserReceiptsRepository declaration&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-services-rocket&quot;&gt;Dept of Services 🚀&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;matrix-room-search&quot;&gt;Matrix Room Search&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@aine:etke.cc&quot;&gt;Aine&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Matrix Rooms Search got stats timeline!&lt;&#x2F;p&gt;
&lt;p&gt;MRS is global Matrix Federation search engine we&#x27;ve built at &lt;a href=&quot;https:&#x2F;&#x2F;etke.cc&quot;&gt;etke.cc&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;The &lt;code&gt;&#x2F;stats&lt;&#x2F;code&gt; endpoint was updated - now it includes &lt;code&gt;details&lt;&#x2F;code&gt; with online&#x2F;indexable servers, and parsed&#x2F;indexed rooms. Plus, the new &lt;code&gt;timeline&lt;&#x2F;code&gt; key was added with &lt;code&gt;details&lt;&#x2F;code&gt; per date.&lt;&#x2F;p&gt;
&lt;p&gt;The timeline is updated on each full reindex (on daily basis in case of the demo instance &lt;a href=&quot;https:&#x2F;&#x2F;matrixrooms.info&quot;&gt;matrixrooms.info&lt;&#x2F;a&gt;).&lt;&#x2F;p&gt;
&lt;p&gt;Alongside the new MRS endpoint, we&#x27;ve added visual representation on the &lt;a href=&quot;https:&#x2F;&#x2F;matrixrooms.info&#x2F;stats&quot;&gt;MatrixRooms.info&#x2F;stats&lt;&#x2F;a&gt; page.&lt;&#x2F;p&gt;
&lt;p&gt;Check the &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;mrs&#x2F;api&quot;&gt;source code&lt;&#x2F;a&gt;, and stay tuned in &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#mrs:etke.cc&quot;&gt;#mrs:etke.cc&lt;&#x2F;a&gt;  room!&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;tada-today-marks-3-years-of-etke-cc-tada&quot;&gt;🎉 Today marks 3 years of &lt;a href=&quot;https:&#x2F;&#x2F;etke.cc&quot;&gt;etke.cc&lt;&#x2F;a&gt;! 🎉&lt;&#x2F;h3&gt;
&lt;p&gt;Your matrix server on your conditions&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@aine:etke.cc&quot;&gt;Aine&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;The etke.cc managed Matrix hosting service was launched on the 12th of February 2021 and has turned 3 years old today!&lt;&#x2F;p&gt;
&lt;p&gt;Below, we&#x27;d like to show you what improvements have happened over the last year and what&#x27;s coming ahead for us.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;new-payment-model-more-services-more-server-regions&quot;&gt;New payment model, more services, more server regions&lt;&#x2F;h4&gt;
&lt;p&gt;In case you&#x27;ve missed &lt;a href=&quot;https:&#x2F;&#x2F;etke.cc&#x2F;news&#x2F;lnyorh4ggeh9xadrob_rtuuqu_jj-s-ojfvvfzlmxpm&#x2F;&quot;&gt;our large news announcement&lt;&#x2F;a&gt; from December 2023, it&#x27;s not too late to learn about it now.&lt;&#x2F;p&gt;
&lt;p&gt;To summarize, we have:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;switched to a &lt;strong&gt;new payment&#x2F;pricing model&lt;&#x2F;strong&gt;, which is more sustainable&lt;&#x2F;li&gt;
&lt;li&gt;launched &lt;strong&gt;many of new components and services&lt;&#x2F;strong&gt; (see below) and will continue to launch new ones&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;completely reworked&lt;&#x2F;strong&gt; &lt;a href=&quot;https:&#x2F;&#x2F;etke.cc&#x2F;order&#x2F;&quot;&gt;&lt;strong&gt;order form&lt;&#x2F;strong&gt;&lt;&#x2F;a&gt; - easier for you and for us - a quicker turnaround time when deploying servers&lt;&#x2F;li&gt;
&lt;li&gt;began offering &lt;strong&gt;more powerful servers&lt;&#x2F;strong&gt; (using &lt;a href=&quot;https:&#x2F;&#x2F;hetzner.cloud&#x2F;?ref=1yg3ZZmtrg5A&quot;&gt;Hetzner Cloud&lt;&#x2F;a&gt;&#x27;s CPX line) and &lt;strong&gt;in more geographic locations&lt;&#x2F;strong&gt; - &lt;strong&gt;including the U.S.&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;We encourage you to read the &lt;a href=&quot;https:&#x2F;&#x2F;etke.cc&#x2F;news&#x2F;lnyorh4ggeh9xadrob_rtuuqu_jj-s-ojfvvfzlmxpm&#x2F;&quot;&gt;our original news announcement&lt;&#x2F;a&gt; for more details about these changes.&lt;&#x2F;p&gt;
&lt;h5 id=&quot;new-component-additions&quot;&gt;New component additions&lt;&#x2F;h5&gt;
&lt;p&gt;In the past year, we have launched many new Matrix-related and non-Matrix components.&lt;&#x2F;p&gt;
&lt;p&gt;If you&#x27;d like to use one or more of the components seen below, &lt;a href=&quot;https:&#x2F;&#x2F;etke.cc&#x2F;contacts&#x2F;&quot;&gt;contact us&lt;&#x2F;a&gt; and we&#x27;ll install it to your existing server.&lt;&#x2F;p&gt;
&lt;h5 id=&quot;new-matrix-related-components&quot;&gt;New Matrix-related components&lt;&#x2F;h5&gt;
&lt;p&gt;All of the Matrix components described below are &lt;strong&gt;new additions&lt;&#x2F;strong&gt; to our stack. &lt;strong&gt;Some are installed by default&lt;&#x2F;strong&gt; to all servers managed by us, as part of our &lt;a href=&quot;https:&#x2F;&#x2F;etke.cc&#x2F;help&#x2F;faq#what-are-the-base-matrix-components-installed-on-the-server&quot;&gt;base Matrix components stack&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;(free) &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;sliding-sync&quot;&gt;Sliding-sync&lt;&#x2F;a&gt; - assists next-generation clients like &lt;a href=&quot;https:&#x2F;&#x2F;element.io&#x2F;labs&#x2F;element-x&quot;&gt;Element X&lt;&#x2F;a&gt; in talking to the homeserver in an optimized manner. This component is installed by default to all servers as part of our &lt;a href=&quot;https:&#x2F;&#x2F;etke.cc&#x2F;help&#x2F;faq#what-are-the-base-matrix-components-installed-on-the-server&quot;&gt;base Matrix components stack&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;(free) Encrypted Bridges - we now offer a checkbox on our order form that globally enables encryption for all bridges that support it. This is experimental and may not work well for some bridges, so we don&#x27;t recommend it to everyone.&lt;&#x2F;li&gt;
&lt;li&gt;(free) The &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;rust-synapse-compress-state&#x2F;#automated-tool-synapse_auto_compressor&quot;&gt;synapse_auto_compressor&lt;&#x2F;a&gt; tool, which runs in the background and periodically compresses the (Postgres) database for the Synapse homeserver, so that it runs optimally. This component is installed by default to all servers as part of our &lt;a href=&quot;https:&#x2F;&#x2F;etke.cc&#x2F;help&#x2F;faq#what-are-the-base-matrix-components-installed-on-the-server&quot;&gt;base Matrix components stack&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;(free) We&#x27;ve switched to &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;devture&#x2F;exim-relay&quot;&gt;exim-relay&lt;&#x2F;a&gt; for delivering emails (optionally via an &lt;a href=&quot;https:&#x2F;&#x2F;etke.cc&#x2F;help&#x2F;extras&#x2F;smtp-relay&quot;&gt;SMTP relay&lt;&#x2F;a&gt;) and wired all email-sending components (the Synapse Matrix homeserver and other addons) to it.&lt;&#x2F;li&gt;
&lt;li&gt;(free addition to our $5&#x2F;mo bridge pack) a &lt;a href=&quot;https:&#x2F;&#x2F;etke.cc&#x2F;help&#x2F;bridges&#x2F;mautrix-gmessages&quot;&gt;Google Messages bridge&lt;&#x2F;a&gt; (powered by &lt;code&gt;mautrix-gmessages&lt;&#x2F;code&gt;). The old &lt;a href=&quot;https:&#x2F;&#x2F;etke.cc&#x2F;help&#x2F;bridges&#x2F;mautrix-googlechat&quot;&gt;Google Chat bridge&lt;&#x2F;a&gt; still continues to work.&lt;&#x2F;li&gt;
&lt;li&gt;(+$1&#x2F;mo) the &lt;a href=&quot;https:&#x2F;&#x2F;schildi.chat&#x2F;&quot;&gt;SchildiChat&lt;&#x2F;a&gt; web-based Matrix client - an Element-web fork offering more customization.&lt;&#x2F;li&gt;
&lt;li&gt;(+$3&#x2F;mo) &lt;a href=&quot;https:&#x2F;&#x2F;etke.cc&#x2F;help&#x2F;bots&#x2F;chatgpt&#x2F;&quot;&gt;ChatGPT&lt;&#x2F;a&gt; - a Large-Language-Model (LLM) bot that you can talk to via Matrix, based on &lt;a href=&quot;https:&#x2F;&#x2F;openai.com&#x2F;&quot;&gt;OpenAI&lt;&#x2F;a&gt;&#x27;s &lt;a href=&quot;https:&#x2F;&#x2F;openai.com&#x2F;chatgpt&quot;&gt;ChatGPT&lt;&#x2F;a&gt; (Requires a separately-obtained &lt;a href=&quot;https:&#x2F;&#x2F;help.openai.com&#x2F;en&#x2F;articles&#x2F;4936850-where-do-i-find-my-api-key&quot;&gt;OpenAI API key&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;(+$2&#x2F;mo) &lt;a href=&quot;https:&#x2F;&#x2F;etke.cc&#x2F;help&#x2F;extras&#x2F;synapse-s3-storage&quot;&gt;S3 storage support for the Synapse homeserver&lt;&#x2F;a&gt; - for infinite Matrix media storage (Requires a separately obtained AWS S3-compatible object store of your choice)&lt;&#x2F;li&gt;
&lt;li&gt;(+$5&#x2F;mo) &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;synapse&#x2F;blob&#x2F;master&#x2F;docs&#x2F;workers.md&quot;&gt;Synapse workers&lt;&#x2F;a&gt; - a multi-process homeserver setup to more efficiently handle many users and large rooms (Requires a powerful server - 8+ GB of RAM)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;We&#x27;ve also replaced our &lt;a href=&quot;https:&#x2F;&#x2F;etke.cc&#x2F;help&#x2F;bridges&#x2F;mautrix-signal&quot;&gt;Signal bridge&lt;&#x2F;a&gt; (&lt;code&gt;mautrix-signal&lt;&#x2F;code&gt;) offering with the new bridge implementation (complete rewrite from &lt;a href=&quot;https:&#x2F;&#x2F;www.python.org&#x2F;&quot;&gt;Python&lt;&#x2F;a&gt; to &lt;a href=&quot;https:&#x2F;&#x2F;go.dev&#x2F;&quot;&gt;Golang&lt;&#x2F;a&gt;).&lt;&#x2F;p&gt;
&lt;h5 id=&quot;new-non-matrix-related-components&quot;&gt;New non-Matrix-related components&lt;&#x2F;h5&gt;
&lt;ul&gt;
&lt;li&gt;(+$1&#x2F;mo) [previously-offered and making a comeback] the &lt;a href=&quot;https:&#x2F;&#x2F;etke.cc&#x2F;help&#x2F;extras&#x2F;miniflux&quot;&gt;Miniflux&lt;&#x2F;a&gt; RSS reader&lt;&#x2F;li&gt;
&lt;li&gt;(+$1&#x2F;mo) [previously-offered and making a comeback] the &lt;a href=&quot;https:&#x2F;&#x2F;radicale.org&#x2F;&quot;&gt;Radicale&lt;&#x2F;a&gt; CalDAV&#x2F;CardDAV server&lt;&#x2F;li&gt;
&lt;li&gt;(+$1&#x2F;mo) [previously-offered and making a comeback] the &lt;a href=&quot;https:&#x2F;&#x2F;etke.cc&#x2F;help&#x2F;extras&#x2F;uptime-kuma&quot;&gt;Uptime Kuma&lt;&#x2F;a&gt; monitoring system&lt;&#x2F;li&gt;
&lt;li&gt;(+$1&#x2F;mo) [brand new] the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;sissbruecker&#x2F;linkding&quot;&gt;Linkding&lt;&#x2F;a&gt; bookmark manager&lt;&#x2F;li&gt;
&lt;li&gt;(+$2&#x2F;mo) [brand new] the &lt;a href=&quot;https:&#x2F;&#x2F;etke.cc&#x2F;help&#x2F;extras&#x2F;vaultwarden&quot;&gt;Vaultwarden&lt;&#x2F;a&gt; password manager (a lightweight &lt;a href=&quot;https:&#x2F;&#x2F;bitwarden.com&#x2F;&quot;&gt;Bitwarden&lt;&#x2F;a&gt;-compatible server which can be used with the Bitwarden client apps)&lt;&#x2F;li&gt;
&lt;li&gt;(+$2&#x2F;mo) [brand new] the &lt;a href=&quot;https:&#x2F;&#x2F;www.firezone.dev&#x2F;&quot;&gt;Firezone&lt;&#x2F;a&gt; - a VPN server based on &lt;a href=&quot;https:&#x2F;&#x2F;www.wireguard.com&#x2F;&quot;&gt;WireGuard&lt;&#x2F;a&gt; with a Web UI&lt;&#x2F;li&gt;
&lt;li&gt;(+$3&#x2F;mo) [brand new] the &lt;a href=&quot;https:&#x2F;&#x2F;gotosocial.org&#x2F;&quot;&gt;GoToSocial&lt;&#x2F;a&gt; ActivityPub server (a lightweight &lt;a href=&quot;https:&#x2F;&#x2F;joinmastodon.org&#x2F;&quot;&gt;Mastodon&lt;&#x2F;a&gt; alternative)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h4 id=&quot;new-or-discontinued-etke-cc-services&quot;&gt;New or discontinued etke.cc services&lt;&#x2F;h4&gt;
&lt;h5 id=&quot;dedicated-support&quot;&gt;Dedicated support&lt;&#x2F;h5&gt;
&lt;p&gt;On the services front, we&#x27;re now offering a &lt;a href=&quot;https:&#x2F;&#x2F;etke.cc&#x2F;services&#x2F;support&quot;&gt;Dedicated support&lt;&#x2F;a&gt; tier for $100&#x2F;mo. This is an addition to the free Basic support tier that we offer to all etke.cc customers.&lt;&#x2F;p&gt;
&lt;p&gt;The dedicated support tier is useful when your product relies on Matrix and you may require quicker help in case of outages. The main differences with the Basic tier are the &lt;strong&gt;dedicated Matrix chat room&lt;&#x2F;strong&gt; with etke.cc developers and the &lt;strong&gt;higher priority of your requests&lt;&#x2F;strong&gt; relative to others.&lt;&#x2F;p&gt;
&lt;h5 id=&quot;matrix-rooms-search&quot;&gt;Matrix Rooms Search&lt;&#x2F;h5&gt;
&lt;p&gt;We&#x27;ve developed the &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;mrs&#x2F;api&quot;&gt;Matrix Rooms Search tool&lt;&#x2F;a&gt; (naturally, as AGPLv3-licensed free-software). Anyone can run their instance and index the global Matrix Federation.&lt;&#x2F;p&gt;
&lt;p&gt;MRS provides a search across room names, topics, etc., allowing for better discoverability of rooms across all of Matrix.&lt;&#x2F;p&gt;
&lt;p&gt;We&#x27;re making Matrix Rooms Search available to etke.cc customers in 2 ways:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;The &lt;a href=&quot;https:&#x2F;&#x2F;matrixrooms.info&#x2F;&quot;&gt;MatrixRooms.info&lt;&#x2F;a&gt; website&lt;&#x2F;li&gt;
&lt;li&gt;Pre-configured as an alternative Rooms Directory in Element&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h5 id=&quot;more-domain-choices&quot;&gt;More domain choices&lt;&#x2F;h5&gt;
&lt;p&gt;To those who don&#x27;t wish to use their own custom domain for their server, we&#x27;ve been offering hosting on etke.cc-owned domains like &lt;code&gt;my-business.etke.host&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;At the expense of some independence (afforded by having your own custom domain), using etke.cc-owned domains allows people to avoid dealing with domains, DNS, and the cost that comes with that.&lt;&#x2F;p&gt;
&lt;p&gt;We now offer hosting on these additional domains:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;onmatrix.chat&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;kupo.email&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;matrix.town&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;matrix.fan&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;ma3x.chat&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;When making a &lt;a href=&quot;https:&#x2F;&#x2F;etke.cc&#x2F;order&#x2F;&quot;&gt;new order&lt;&#x2F;a&gt;, you can claim your subdomain on any of these domains and get your Matrix server deployed more quickly and easily (no DNS configuration required on your side).&lt;&#x2F;p&gt;
&lt;h5 id=&quot;discontinuing-our-custom-consulting-development-service&quot;&gt;Discontinuing our Custom Consulting&#x2F;Development service&lt;&#x2F;h5&gt;
&lt;p&gt;We used to offer a Custom Consulting&#x2F;Development service - helping people with custom deployments or integrations on top of Matrix.&lt;&#x2F;p&gt;
&lt;p&gt;We have &lt;strong&gt;discontinued this service in order to free up time and let us focus on improving etke.cc for everyone&lt;&#x2F;strong&gt;. This is part of the reason why we have so many major improvements to announce in this birthday post.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;improved-internals&quot;&gt;Improved internals&lt;&#x2F;h4&gt;
&lt;p&gt;Besides the many new components, services and tools, we&#x27;ve also done a lot of internal work - improving reliability and performance.&lt;&#x2F;p&gt;
&lt;p&gt;Below are some of the important internal changes we&#x27;ve done:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;etke.cc&#x2F;scheduler&quot;&gt;The Scheduler&lt;&#x2F;a&gt;:
&lt;ul&gt;
&lt;li&gt;Automatic HTTP, DNS, and port checks, including federation tests, on &lt;code&gt;run ping&lt;&#x2F;code&gt; and &lt;code&gt;run maintenance&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Cumulative alerts - we combine multiple failure alerts into a single message that we deliver via Matrix and email&lt;&#x2F;li&gt;
&lt;li&gt;Improved deliverability of emails, thanks to sending them via &lt;a href=&quot;https:&#x2F;&#x2F;postmarkapp.com&#x2F;&quot;&gt;Postmark&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Full overhaul of the agent&#x2F;worker (injector) part making it blazing-fast and decreasing the delay (to milliseconds) between receiving a command from the user and executing it&lt;&#x2F;li&gt;
&lt;li&gt;Huge refactoring of the codebase&lt;&#x2F;li&gt;
&lt;li&gt;Many automation improvements, allowing us to more quickly and easily install new servers&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Server Maintenance:
&lt;ul&gt;
&lt;li&gt;Automatic Postgres database vacuuming on each maintenance run&lt;&#x2F;li&gt;
&lt;li&gt;Automatic Postgres database tuning (based on &lt;a href=&quot;https:&#x2F;&#x2F;pgtune.leopard.in.ua&#x2F;&quot;&gt;PGTune&lt;&#x2F;a&gt;&#x27;s calculaton logic) which takes into account your server&#x27;s configuration and installed components&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Networking: reworked Matrix stack networking for improved security, performance and ease of plugging-in new services (we&#x27;ve migrated from &lt;a href=&quot;https:&#x2F;&#x2F;nginx.org&#x2F;&quot;&gt;nginx&lt;&#x2F;a&gt; to &lt;a href=&quot;https:&#x2F;&#x2F;traefik.io&#x2F;&quot;&gt;Traefik&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Emails: we&#x27;ve also configured &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;DomainKeys_Identified_Mail&quot;&gt;DKIM&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Sender_Policy_Framework&quot;&gt;SPF&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;List_of_DNS_record_types#PTR&quot;&gt;rDNS&lt;&#x2F;a&gt; for customers hosted on our (&lt;a href=&quot;https:&#x2F;&#x2F;hetzner.cloud&#x2F;?ref=1yg3ZZmtrg5A&quot;&gt;Hetzner Cloud&lt;&#x2F;a&gt;) servers - this improves outgoing email deliverability for big providers like Google (see &lt;a href=&quot;https:&#x2F;&#x2F;blog.google&#x2F;products&#x2F;gmail&#x2F;gmail-security-authentication-spam-protection&#x2F;&quot;&gt;New Gmail protections for a safer, less spammy inbox&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h4 id=&quot;free-software-work&quot;&gt;Free-software work&lt;&#x2F;h4&gt;
&lt;p&gt;We&#x27;ve also done a lot of work on a new free-software (AGPLv3) Ansible mega-playbook - &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;mother-of-all-self-hosting&#x2F;mash-playbook&quot;&gt;mash-playbook&lt;&#x2F;a&gt;, which currently includes 80+ components. Many of these began their life at etke.cc, while others were developed by us (or by the community) later on. Some of these components will be offered as addon components to etke.cc customers in the future. There are no technical difficulties to offering all of them immediately, but supporting a new component is not so simple - it requires documentation, commitment, support-staff training, etc.&lt;&#x2F;p&gt;
&lt;p&gt;Components from mash-playbook and the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;spantaleev&#x2F;matrix-docker-ansible-deploy&quot;&gt;matrix-docker-ansible-deploy&lt;&#x2F;a&gt; playbook are at the core of our automation (&lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;ansible&quot;&gt;etke&#x2F;ansible&lt;&#x2F;a&gt;), powering all servers managed by us.&lt;&#x2F;p&gt;
&lt;p&gt;As part of our work over the past year, we have also developed and released as free-software (AGPLv3) the following new tools:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;mrs&#x2F;api&quot;&gt;MRS&lt;&#x2F;a&gt; - Matrix Rooms Search, the backend that powers our &lt;a href=&quot;https:&#x2F;&#x2F;matrixrooms.info&#x2F;&quot;&gt;MatrixRooms.info&lt;&#x2F;a&gt; service (discussed above)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;tools&#x2F;agru&quot;&gt;A.G.R.U&lt;&#x2F;a&gt; - a command-line tool like &lt;a href=&quot;https:&#x2F;&#x2F;docs.ansible.com&#x2F;ansible&#x2F;latest&#x2F;cli&#x2F;ansible-galaxy.html&quot;&gt;ansible-galaxy&lt;&#x2F;a&gt;, but faster&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;tools&#x2F;ansible-ssh&quot;&gt;ansible-ssh&lt;&#x2F;a&gt; - a command-line tool (wrapper around &lt;code&gt;ssh&lt;&#x2F;code&gt;) that makes it easy to SSH into hosts found in an &lt;a href=&quot;https:&#x2F;&#x2F;docs.ansible.com&#x2F;ansible&#x2F;latest&#x2F;inventory_guide&#x2F;index.html&quot;&gt;Ansible inventory&lt;&#x2F;a&gt; file&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;radicale-auth-matrix&quot;&gt;radicale-auth-matrix&lt;&#x2F;a&gt; - an adapter that connects &lt;a href=&quot;https:&#x2F;&#x2F;radicale.org&#x2F;&quot;&gt;Radicale&lt;&#x2F;a&gt;&#x27;s user authentication system to Matrix&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h4 id=&quot;numbers&quot;&gt;Numbers&lt;&#x2F;h4&gt;
&lt;ul&gt;
&lt;li&gt;We&#x27;ve &lt;strong&gt;installed 243 new Matrix servers&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Pushed 461 updates and enhancements&lt;&#x2F;strong&gt; to the automation framework used as the service core&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Posted 60 updates&lt;&#x2F;strong&gt; in the announcements room, so you&#x27;re always up-to-date with what we&#x27;re working on&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;If you&#x27;re curious to travel back in time, here are posts from previous etke.cc birthdays:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;etke.cc&#x2F;news&#x2F;upsyw4ykbtgmwhz8k7ukldx0zbbfq-fh0iqi3llixi0&#x2F;&quot;&gt;&lt;em&gt;2 years celebration post&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;etke.cc&#x2F;news&#x2F;j-48qcbzgshru3ap7hictalntpwqtotgltct01mhrmw&#x2F;&quot;&gt;&lt;em&gt;1 year celebration post&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-guides&quot;&gt;Dept of Guides 🧭&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;matrix-client-tutorial&quot;&gt;Matrix Client Tutorial&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@hubert:uhoreg.ca&quot;&gt;uhoreg&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;My &lt;a href=&quot;https:&#x2F;&#x2F;uhoreg.gitlab.io&#x2F;matrix-tutorial&#x2F;index.html&quot;&gt;Matrix Client Tutorial&lt;&#x2F;a&gt; now has a simple demo program showing how to use the encryption routines.  Non-encryption-related, I&#x27;ve also added support for the &lt;code&gt;Retry-After&lt;&#x2F;code&gt; header as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4041&quot;&gt;MSC4041&lt;&#x2F;a&gt;, which is currently in FCP.  Next up, I plan on going through the encryption section again to do some cleaning things up and filling in some missing details.  After that, I&#x27;ll probably write about the media repository, so that I can write about encrypted media.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;matrix-federation-stats&quot;&gt;Matrix Federation Stats&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@aine:etke.cc&quot;&gt;Aine&lt;&#x2F;a&gt; reports&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;collected by &lt;a href=&quot;https:&#x2F;&#x2F;matrixrooms.info&quot;&gt;MatrixRooms.info&lt;&#x2F;a&gt; - an &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;mrs&#x2F;api&quot;&gt;MRS&lt;&#x2F;a&gt; instance by &lt;a href=&quot;https:&#x2F;&#x2F;etke.cc?utm_source=twim&amp;amp;utm_medium=matrix&amp;amp;utm_campaign=federation-stats&quot;&gt;etke.cc&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;As of today, &lt;code&gt;8757&lt;&#x2F;code&gt; Matrix federateable servers have been discovered by matrixrooms.info, &lt;code&gt;2490&lt;&#x2F;code&gt; (&lt;code&gt;28.4%&lt;&#x2F;code&gt;) of them are publishing their rooms directory over federation.
The published directories contain &lt;code&gt;20629&lt;&#x2F;code&gt; rooms.&lt;&#x2F;p&gt;
&lt;p&gt;Stats timeline is available on &lt;a href=&quot;https:&#x2F;&#x2F;matrixrooms.info&#x2F;stats&quot;&gt;MatrixRooms.info&#x2F;stats&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;mrs&#x2F;api&#x2F;-&#x2F;blob&#x2F;main&#x2F;docs&#x2F;indexing.md&quot;&gt;How to add your server&lt;&#x2F;a&gt; | &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;mrs&#x2F;api&#x2F;-&#x2F;blob&#x2F;main&#x2F;docs&#x2F;deindexing.md&quot;&gt;How to remove your server&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-ping-table-tennis-paddle-and-ball&quot;&gt;Dept of Ping 🏓&lt;&#x2F;h2&gt;
&lt;p&gt;Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;maubot&#x2F;echo&quot;&gt;pingbot&lt;&#x2F;a&gt;, a &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;maubot&#x2F;maubot&quot;&gt;maubot&lt;&#x2F;a&gt; that you can host on your own server.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;ping-maunium-net&quot;&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ping:maunium.net&quot;&gt;#ping:maunium.net&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;Join &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ping:maunium.net&quot;&gt;#ping:maunium.net&lt;&#x2F;a&gt; to experience the fun live, and to find out how to add YOUR server to the game.&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align: center&quot;&gt;Rank&lt;&#x2F;th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Hostname&lt;&#x2F;th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Median MS&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;1&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;ari.lt&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;251&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;2&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;fostered.uk&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;276.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;3&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;maunium.net&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;278&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;4&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;nerdhouse.io&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;280.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;5&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;arva.net&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;382&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;6&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;matrix.its-tps.fr&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;448&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;7&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;aguiarvieira.pt&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;491&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;8&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;littlevortex.net&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;533&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;9&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;midnightthoughts.space&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;659&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;10&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;brothertec.eu&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;717.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h3 id=&quot;ping-no-synapse-maunium-net&quot;&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ping-no-synapse:maunium.net&quot;&gt;#ping-no-synapse:maunium.net&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;Join &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ping-no-synapse:maunium.net&quot;&gt;#ping-no-synapse:maunium.net&lt;&#x2F;a&gt; to experience the fun live, and to find out how to add YOUR server to the game.&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align: center&quot;&gt;Rank&lt;&#x2F;th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Hostname&lt;&#x2F;th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Median MS&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;1&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;ari.lt&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;127.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;2&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;aguiarvieira.pt&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;142&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;3&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;nerdhouse.io&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;156.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;4&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;chatinamatrix.xyz&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;158&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;5&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;spritsail.io&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;179&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;6&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;fostered.uk&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;195.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;7&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;matrix.its-tps.fr&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;198&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;8&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;inu.is&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;206&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;9&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;dendrite.s3cr3t.me&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;226.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;10&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;littlevortex.net&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;471&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h2 id=&quot;that-s-all-i-know&quot;&gt;That&#x27;s all I know&lt;&#x2F;h2&gt;
&lt;p&gt;See you next week, and be sure to stop by &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#twim:matrix.org&quot;&gt;#twim:matrix.org&lt;&#x2F;a&gt; with your updates!&lt;&#x2F;p&gt;
</content>
</entry>

    
    
<entry xml:lang="en">
    <title>This Week in Matrix 2024-02-09</title>
    <published>2024-02-09T00:00:00+00:00</published>
    <updated>2024-02-09T00:00:00+00:00</updated>
    <author>
      <name>
            Thib
          </name>
    </author>
    <link rel="alternate" href="https://f297f985.matrix-website.pages.dev/blog/2024/02/09/this-week-in-matrix-2024-02-09/" type="text/html"/>
    <id>https://f297f985.matrix-website.pages.dev/blog/2024/02/09/this-week-in-matrix-2024-02-09/</id>
    <content type="html">&lt;h2 id=&quot;matrix-live&quot;&gt;Matrix Live&lt;&#x2F;h2&gt;
&lt;noscript&gt;Today&#x27;s Matrix Live: &lt;a href=&quot;https:&#x2F;&#x2F;youtube.com&#x2F;watch?v=s5BrVVf0B1I&quot;&gt;https:&#x2F;&#x2F;youtube.com&#x2F;watch?v=s5BrVVf0B1I&lt;&#x2F;a&gt;&lt;&#x2F;noscript&gt;
&lt;youtube-player video-id=&quot;s5BrVVf0B1I&quot;&gt;&lt;&#x2F;youtube-player&gt;
&lt;h2 id=&quot;dept-of-status-of-matrix-face-with-th&quot;&gt;Dept of &lt;em&gt;Status of Matrix&lt;&#x2F;em&gt; 🌡️&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@matthew:matrix.org&quot;&gt;Matthew&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Very happy to announce that the Spec Core Team has been reviewing how to make more progress on MSCs and get more organisational diversity into the SCT, and we&#x27;ve decided to expand the team - unanimously voting to add both tulir and clokep to the team effective today. Huge thanks to both tulir and clokep for being up for joining and donating their time... and looking forwards to their contributions in helping get MSCs to and through their Final Comment Period and merged into the spec!&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@josh:josh.tel&quot;&gt;Josh Simmons&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;We’re excited to be forging stronger ties with other open source foundations, so that we can work together and lean on one another’s areas of expertise. Last week we announced that &lt;a href=&quot;https:&#x2F;&#x2F;openforumeurope.org&#x2F;mozilla-and-the-matrix-org-foundation-join-ofe-as-supporters&#x2F;&quot;&gt;the Matrix.org Foundation joined OpenForum Europe&lt;&#x2F;a&gt; as a supporter alongside Mozilla and many others.&lt;&#x2F;p&gt;
&lt;p&gt;Adding to that, we’re pleased to share that we have become &lt;a href=&quot;https:&#x2F;&#x2F;opensource.org&#x2F;affiliates&#x2F;&quot;&gt;an affiliate of the Open Source Initiative&lt;&#x2F;a&gt; and joined their &lt;a href=&quot;https:&#x2F;&#x2F;opensource.org&#x2F;programs&#x2F;open-policy-alliance&#x2F;&quot;&gt;Open Policy Alliance&lt;&#x2F;a&gt;, and we’ve also &lt;a href=&quot;https:&#x2F;&#x2F;www.eclipse.org&#x2F;membership&#x2F;exploreMembership.php&quot;&gt;joined the Eclipse Foundation as an associate member&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;We look forward to going further, faster, together! 🚀&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;h2 id=&quot;dept-of-spec-scroll&quot;&gt;Dept of Spec 📜&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@travis:t2l.io&quot;&gt;TravisR&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Here&#x27;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:&#x2F;&#x2F;spec.matrix.org&#x2F;proposals.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;msc-status&quot;&gt;MSC Status&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;New MSCs:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4098&quot;&gt;MSC4098: Use the SCIM protocol for provisioning&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4097&quot;&gt;[WIP] MSC4097: Interactions between media redirection and authentication&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4096&quot;&gt;MSC4096: Proposal to make forceTurn option configurable server-side&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;MSCs in Final Comment Period:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2705&quot;&gt;MSC2705: Animated thumbnails for media&lt;&#x2F;a&gt; (merge)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Accepted MSCs:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;No MSCs were accepted this week.&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Closed MSCs:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3924&quot;&gt;MSC3924: Capability-style access control for Matrix media&lt;&#x2F;a&gt; - closed in favour of &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3911&quot;&gt;MSC3911: Linking media to events&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-clients-iphone&quot;&gt;Dept of Clients 📱&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;schildichat-website&quot;&gt;SchildiChat (&lt;a href=&quot;https:&#x2F;&#x2F;schildi.chat&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;SchildiChat is a fork of Element that focuses on UI changes such as message bubbles and a unified chat list for both direct messages and groups, which is a more familiar approach to users of other popular instant messengers.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@spiritcroc:spiritcroc.de&quot;&gt;SpiritCroc&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;SchildiChat&#x2F;schildichat-android-next&quot;&gt;SchildiChat Next&lt;&#x2F;a&gt;, our SchildiChat Android rewrite based on Element X, has received a couple of updates since our last report.&lt;&#x2F;p&gt;
&lt;p&gt;First, spaces support has matured.
We now properly integrate the space filter with sliding sync, which means that when you filter for spaces, you&#x27;re less likely to encounter missing room previews.
Additionally, aggregated space unread counts and swipe gesture to switch spaces are back, and user-chosen space sort order is now respected.&lt;&#x2F;p&gt;
&lt;p&gt;Independent of spaces but also related to features that our old Android app had, you can now mark rooms as unread again, following &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2867&quot;&gt;MSC2867&lt;&#x2F;a&gt;.
Similarly, incoming HTML details-tags in formatted messages as sent by some bots are now collapsed by default again, allowing you to expand them on demand by touching the message.&lt;&#x2F;p&gt;
&lt;p&gt;Since Element X has added support for UnifiedPush, we naturally have that back now too.
However, I changed our implementation a bit to use &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;UnifiedPush&#x2F;android-foss_embedded_fcm_distributor&quot;&gt;UnifiedPush&#x27;s FOSS FCM distributor&lt;&#x2F;a&gt;, which means that ideally we can avoid having to maintain two separate app flavors for the Play Store and F-Droid releases in the future (once we do stable releases), and those who install it from F-Droid can still use FCM for push notifications if their device supports it, while not having any closed-source Google library bundled with the app.
I&#x27;m curious how well this works, so let us know if you have any issues with FCM that you cannot reproduce on Element X!
Custom user-installed push distributors are given precedence over FCM, of course.&lt;&#x2F;p&gt;
&lt;p&gt;On the infrastructure side, translations of our SchildiChat-specific strings added on top of Element are now open for contributions at our &lt;a href=&quot;https:&#x2F;&#x2F;weblate.spiritcroc.de&#x2F;projects&#x2F;schildichat&#x2F;schildichat-android-next&#x2F;&quot;&gt;weblate&lt;&#x2F;a&gt;.
Thank you to everyone who has already contributed!&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;fluffychat-website&quot;&gt;FluffyChat (&lt;a href=&quot;https:&#x2F;&#x2F;fluffychat.im&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@krille:janian.de&quot;&gt;Krille-chan&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;FluffyChat v1.17.3 has been released 🎉 with a bunch of bugfixes and the return of the wallpaper feature. This time it works on all platforms and is synchronized between your sessions.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;full-changelog&quot;&gt;Full changelog:&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;feat: New account data based wallpaper feature (Krille)&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;build: Update dependencies (Krille)&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;build: Update flutter to 3.16.9 (Krille)&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;build: Update matrix dart sdk to 0.25.7 (Krille)&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;build: Update minor versions (Krille)&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;chore: Adjust status msg design (krille-chan)&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;chore: Improved error handling for recovery key (Krille)&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;chore: Make stickers smaller (Krille)&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;chore: Wait for device keys before ask bootstrap (Krille)&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;fix: Missing null check in public room bottom sheet (Krille)&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;fix: onDragDone crashes when no files found (Krille)&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;fix: Render tg-forward html tags (Krille)&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;fix: Use HapticFeedback.selectionClick() for long press on message (Krille)&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;fix: whitespaces sometimes encoded in html message (Krille)&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;fix: Share invite links of public rooms (Krille)&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;blog&#x2F;img&#x2F;GikbsgpFNbcnxZrykFPurpRg.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;element-x-ios-website&quot;&gt;Element X iOS (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;vector-im&#x2F;element-x-ios&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@stefan.ceriu:matrix.org&quot;&gt;Ștefan&lt;&#x2F;a&gt; reports&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Element X v1.5.5 is now available on the AppStore. &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;element-x-ios&#x2F;releases&#x2F;tag&#x2F;1.5.5&quot;&gt;release notes&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;element-x-ios&#x2F;pull&#x2F;2408&quot;&gt;Manually marking rooms as unread&lt;&#x2F;a&gt; has made it to develop&lt;&#x2F;li&gt;
&lt;li&gt;and so has an initial version of the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;element-x-ios&#x2F;pull&#x2F;2423&quot;&gt;room list filters&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;we have &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;element-x-ios&#x2F;pull&#x2F;2425&quot;&gt;moved member details loading to the member detail page&lt;&#x2F;a&gt; and are not no longer blocking the whole application while that&#x27;s happening&lt;&#x2F;li&gt;
&lt;li&gt;fixed a crash when receiving thumbnails with zero widths or heights&lt;&#x2F;li&gt;
&lt;li&gt;various other improvements to the rich text editor, compound and out testing stack&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-non-chat-clients-control-knobs&quot;&gt;Dept of Non Chat Clients 🎛️&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;circles-website&quot;&gt;Circles (&lt;a href=&quot;https:&#x2F;&#x2F;www.kombuchaprivacy.com&#x2F;circles&#x2F;&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;E2E encrypted social networking built on Matrix. Safe, private sharing for your friends, family, and community.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@cvwright:futo.org&quot;&gt;cvwright&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;This week we fixed a particularly bad bug that had appeared in recent Circles iOS beta releases, where the app would fail to resume syncing with the server under certain conditions.  We released v0.9.5 which (we think!) finally resolved the last of the sync issues.  Then we also released a further update v0.9.6 to address a corner case where users could not decrypt messages posted between the time when they were initially invited and when they finally joined the room.  With these two beta releases, we believe we have resolved all known decryption issues.  It should be smoother sailing from here!  The latest Circles iOS build is available for beta testers on Apple&#x27;s &lt;a href=&quot;https:&#x2F;&#x2F;testflight.apple.com&#x2F;join&#x2F;Hvj9S0SX&quot;&gt;TestFlight&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;On Android, Circles v1.0.25 is now available on &lt;a href=&quot;https:&#x2F;&#x2F;f-droid.org&#x2F;en&#x2F;packages&#x2F;org.futo.circles&#x2F;&quot;&gt;F-Droid.org&lt;&#x2F;a&gt; and in beta release on the &lt;a href=&quot;https:&#x2F;&#x2F;play.google.com&#x2F;store&#x2F;apps&#x2F;details?id=org.futo.circles&quot;&gt;Play Store&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Source code for both platforms is available as always from the &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.futo.org&#x2F;circles&quot;&gt;FUTO Gitlab&lt;&#x2F;a&gt; and from our &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;futo-org&#x2F;&quot;&gt;Github mirrors&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-sdks-and-frameworks&quot;&gt;Dept of SDKs and Frameworks 🧰&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;rory-libmatrix-net-8-matrix-bot-client-library-sdk&quot;&gt;Rory&amp;amp;::LibMatrix (.NET 8 matrix bot&#x2F;client library&#x2F;SDK)&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@emma:rory.gay&quot;&gt;Emma [it&#x2F;its]&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;This week has some minor changes and cleanup&lt;&#x2F;p&gt;
&lt;h3 id=&quot;changes&quot;&gt;Changes&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;room.GetNameOrFallbackAsync()&lt;&#x2F;code&gt; now returns alias before building from member list&lt;&#x2F;li&gt;
&lt;li&gt;Cleaned up the EventTypes sub-library to consistently have EventId constants defined, for easy access&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;room.GetManyMessagesAsync(...)&lt;&#x2F;code&gt; now has an optional &lt;code&gt;chunkSize&lt;&#x2F;code&gt; property, in order to cap the &lt;code&gt;limit=&lt;&#x2F;code&gt; sent on the API.&lt;&#x2F;li&gt;
&lt;li&gt;Applied syntax style across all of LibMatrix&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;And, as always:&lt;&#x2F;strong&gt;&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;The code is available at &lt;a href=&quot;https:&#x2F;&#x2F;cgit.rory.gay&#x2F;matrix&#x2F;LibMatrix.git&quot;&gt;cgit.rory.gay&lt;&#x2F;a&gt;!
&lt;ul&gt;
&lt;li&gt;All contributions are more than welcome, be it documentation, code, anything! Perhaps, example usecases, bots, ...?&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Discussion, suggestions and ideas are welcome in &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#libmatrix:rory.gay&quot;&gt;#libmatrix:rory.gay&lt;&#x2F;a&gt; (Space: &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#mru-space:rory.gay&quot;&gt;#mru-space:rory.gay&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Got a cool project that you&#x27;re working on and want to share, using LibMatrix? Be sure to let me know, I&#x27;d love to hear all about it!&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-events-and-talks&quot;&gt;Dept of Events and Talks 🗣️&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@kim:sosnowkadub.de&quot;&gt;HarHarLinks&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Hello TWIM! The Matrix Foundation and Community were at FOSDEM last weekend (&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#fosdem2024-foundation-community-meetup:matrix.org&quot;&gt;#fosdem2024-foundation-community-meetup:matrix.org&lt;&#x2F;a&gt;) so we want to share this quick look back:&lt;&#x2F;p&gt;
&lt;p&gt;Thank you everyone for joining us at &lt;a href=&quot;https:&#x2F;&#x2F;fosdem.org&#x2F;&quot;&gt;FOSDEM 2024&lt;&#x2F;a&gt;! We had a great time and hope everyone arrived back home well and healthy, and wish anyone still on the road for other conferences or travelling reaaaally far a safe journey!&lt;&#x2F;p&gt;
&lt;p&gt;The Matrix Foundation and Community would like to thank &lt;a href=&quot;https:&#x2F;&#x2F;hsbxl.be&#x2F;&quot;&gt;Hackerspace Brussels&lt;&#x2F;a&gt; (on Matrix: &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#hsbxl:matrix.org&quot;&gt;#hsbxl:matrix.org&lt;&#x2F;a&gt;) for hosting the meetup on Friday on their premises again, and particular everyone involved with opening the gate for new arrivals, tending the bar, helping with pizza orders, and all the small odd things that need to get handled during such an event. We wish you the best for your move to the new location in the coming weeks and look forward to visiting you there next year! 🧑‍💻&lt;&#x2F;p&gt;
&lt;p&gt;We also want to express our gratitude to the sponsors of the Fringe event: Thanks to &lt;a href=&quot;https:&#x2F;&#x2F;nordeck.net&#x2F;&quot;&gt;Nordeck&lt;&#x2F;a&gt; (&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#nordeck:matrix.org&quot;&gt;#nordeck:matrix.org&lt;&#x2F;a&gt;) and &lt;a href=&quot;https:&#x2F;&#x2F;www.famedly.com&#x2F;&quot;&gt;Famedly&lt;&#x2F;a&gt; covering the cost, the Foundation was able to provide drinks and pizzas for everyone at the Fringe event! 🍻&lt;&#x2F;p&gt;
&lt;p&gt;Speaking of pizza, special thanks to Adrian and &lt;a href=&quot;https:&#x2F;&#x2F;pommodorobxl.be&quot;&gt;Pommodoro Brussels&lt;&#x2F;a&gt; for the excellent pizza and for fulfilling all our requests for vegetarian and vegan pizza! 🍕&lt;&#x2F;p&gt;
&lt;p&gt;Finally on behalf of the Community group co-organizing the fringe event, I&#x27;d like to thank the Foundation for the great support with planning and also covering the administrative tasks such as the financials! 🤝&lt;&#x2F;p&gt;
&lt;p&gt;On Saturday and Sunday there was the Matrix stand on the &lt;del&gt;first&lt;&#x2F;del&gt; &lt;del&gt;second&lt;&#x2F;del&gt; upper level of building K. I must say it was incredibly busy. We had so many visitors come by - we distributed thousands of Matrix stickers and 100 T-shirts! Thanks to everyone helping at and around the stand, answering questions, collecting donations, helping with the T-shirts sales! And thanks to everyone visiting the stand to say hi and chat, to ask your question, learn about Matrix, or give your feedback! 👕&lt;&#x2F;p&gt;
&lt;p&gt;On Sunday afternoon there was the &lt;a href=&quot;https:&#x2F;&#x2F;fosdem.org&#x2F;2024&#x2F;schedule&#x2F;track&#x2F;matrix&#x2F;&quot;&gt;Matrix devroom&lt;&#x2F;a&gt; in H.1309 (Van Rijn)! Thanks to everyone presenting their project, thanks to the devroom hosts and helpers, and thanks to the FOSDEM and VOC crew for helping out and recording the sessions! The recordings should be available &lt;a href=&quot;https:&#x2F;&#x2F;fosdem.org&#x2F;2024&#x2F;schedule&#x2F;&quot;&gt;through the FOSDEM website&lt;&#x2F;a&gt; and are also &lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=s5BrVVf0B1I&amp;amp;list=PLl5dnxRMP1hWa_UHphXfOHvaw4B2JfSlx&quot;&gt;mirrored on YouTube&lt;&#x2F;a&gt; by the Foundation. 🗣️&lt;&#x2F;p&gt;
&lt;p&gt;Thank you to all the individuals and organisations who signed up to support the Matrix Foundation, be it during FOSDEM or before! If you haven&#x27;t yet, learn more &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;support&#x2F;&quot;&gt;here&lt;&#x2F;a&gt;! 🫂&lt;&#x2F;p&gt;
&lt;p&gt;Finally, thanks to YOU for attending! Be it in person at the Fringe event, the stand, the main track talk, the devroom, or online in the chat room and stream! It was great to meet everyone and now as we are arriving back home, we can already not wait to see you again next time! 👋&lt;&#x2F;p&gt;
&lt;p&gt;Find the FOSDEM 2024 Wrap Up blog post on the &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2024&#x2F;02&#x2F;fosdem-wrap-up&#x2F;&quot;&gt;Matrix.org blog&lt;&#x2F;a&gt; for a summary, some photos, and links to the video recordings of the Matrix talks!&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@thib:ergaster.org&quot;&gt;Thib&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Whether you could make it to FOSDEM or not, here&#x27;s &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2024&#x2F;02&#x2F;fosdem-wrap-up&#x2F;&quot;&gt;our wrap-up from the conference&lt;&#x2F;a&gt;. If you missed some talks, you can catch up with &lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=s5BrVVf0B1I&amp;amp;list=PLl5dnxRMP1hWa_UHphXfOHvaw4B2JfSlx&quot;&gt;the YouTube Playlist of all the talks&lt;&#x2F;a&gt; (or find the original recordings on https:&#x2F;&#x2F;fosdem.org&#x2F;2024&#x2F;schedule&#x2F;track&#x2F;matrix&#x2F; but those have audio&#x2F;video sync issues)&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;matrix-federation-stats&quot;&gt;Matrix Federation Stats&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@aine:etke.cc&quot;&gt;Aine&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;collected by &lt;a href=&quot;https:&#x2F;&#x2F;matrixrooms.info&quot;&gt;MatrixRooms.info&lt;&#x2F;a&gt; - an &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;mrs&#x2F;api&quot;&gt;MRS&lt;&#x2F;a&gt; instance by &lt;a href=&quot;https:&#x2F;&#x2F;etke.cc?utm_source=twim&amp;amp;utm_medium=matrix&amp;amp;utm_campaign=federation-stats&quot;&gt;etke.cc&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;As of today, &lt;code&gt;8777&lt;&#x2F;code&gt; Matrix federateable servers have been discovered by matrixrooms.info, &lt;code&gt;2497&lt;&#x2F;code&gt; (&lt;code&gt;28.4%&lt;&#x2F;code&gt;) of them are publishing their rooms directory over federation.
The published directories contain &lt;code&gt;20591&lt;&#x2F;code&gt; rooms. &lt;em&gt;unpublished and offline rooms were removed&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;mrs&#x2F;api&#x2F;-&#x2F;blob&#x2F;main&#x2F;docs&#x2F;indexing.md&quot;&gt;How to add your server&lt;&#x2F;a&gt; | &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;mrs&#x2F;api&#x2F;-&#x2F;blob&#x2F;main&#x2F;docs&#x2F;deindexing.md&quot;&gt;How to remove your server&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-ping&quot;&gt;Dept of Ping&lt;&#x2F;h2&gt;
&lt;p&gt;Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;maubot&#x2F;echo&quot;&gt;pingbot&lt;&#x2F;a&gt;, a &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;maubot&#x2F;maubot&quot;&gt;maubot&lt;&#x2F;a&gt; that you can host on your own server.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;ping-maunium-net&quot;&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ping:maunium.net&quot;&gt;#ping:maunium.net&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;Join &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ping:maunium.net&quot;&gt;#ping:maunium.net&lt;&#x2F;a&gt; to experience the fun live, and to find out how to add YOUR server to the game.&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align: center&quot;&gt;Rank&lt;&#x2F;th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Hostname&lt;&#x2F;th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Median MS&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;1&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;maunium.net&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;245.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;2&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;aguiarvieira.pt&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;246.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;3&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;ari.lt&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;259&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;4&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;nerdhouse.io&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;261&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;5&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;fostered.uk&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;268&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;6&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;plocki.org&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;336&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;7&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;lama-corp.space&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;391&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;8&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;sulian.eu&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;518&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;9&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;2345781.xyz&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;676.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;10&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;matrix.its-tps.fr&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;707.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h3 id=&quot;ping-no-synapse-maunium-net&quot;&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ping-no-synapse:maunium.net&quot;&gt;#ping-no-synapse:maunium.net&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;Join &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ping-no-synapse:maunium.net&quot;&gt;#ping-no-synapse:maunium.net&lt;&#x2F;a&gt; to experience the fun live, and to find out how to add YOUR server to the game.&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align: center&quot;&gt;Rank&lt;&#x2F;th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Hostname&lt;&#x2F;th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Median MS&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;1&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;ari.lt&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;113&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;2&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;fostered.uk&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;124&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;3&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;aguiarvieira.pt&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;143&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;4&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;nerdhouse.io&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;145&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;5&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;frai.se&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;165.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;6&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;matrix.its-tps.fr&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;170&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;7&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;daedric.net&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;281&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;8&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;inu.is&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;313&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h2 id=&quot;that-s-all-i-know&quot;&gt;That&#x27;s all I know&lt;&#x2F;h2&gt;
&lt;p&gt;See you next week, and be sure to stop by &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#twim:matrix.org&quot;&gt;#twim:matrix.org&lt;&#x2F;a&gt; with your updates!&lt;&#x2F;p&gt;
</content>
</entry>

    
    
<entry xml:lang="en">
    <title>FOSDEM 2024 Wrap Up</title>
    <published>2024-02-08T16:00:00+00:00</published>
    <updated>2024-02-08T16:00:00+00:00</updated>
    <author>
      <name>
            Thib
          </name>
    </author>
    <link rel="alternate" href="https://f297f985.matrix-website.pages.dev/blog/2024/02/fosdem-wrap-up/" type="text/html"/>
    <id>https://f297f985.matrix-website.pages.dev/blog/2024/02/fosdem-wrap-up/</id>
    <content type="html">&lt;p&gt;This year again the Matrix.org Foundation was at FOSDEM, and what a huge energy boost it has been for us! Between a Fringe Event for the Matrix community to gather, a booth where the vast majority of people came by to show their support for our work, a devroom with four hours of awesome Matrix content, and last but not least a main track talk where Matthew covered what we had been doing for the past year… It has been a very intense weekend!&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;h2 id=&quot;fringe-event&quot;&gt;Fringe Event&lt;&#x2F;h2&gt;
&lt;p&gt;The first stop in our FOSDEM journey was the Fringe Event on Friday afternoon at &lt;a href=&quot;https:&#x2F;&#x2F;hsbxl.be&#x2F;&quot;&gt;HSBXL&lt;&#x2F;a&gt;, a hackerspace that was very on-brand: you need to &lt;a href=&quot;https:&#x2F;&#x2F;hsbxl.be&#x2F;enter&#x2F;#walk-to-door-a&quot;&gt;follow the white rabbit to get in&lt;&#x2F;a&gt;. More than a 100 of us gathered in that disused factory to talk about everything Matrix.&lt;&#x2F;p&gt;
&lt;p&gt;Thanks to the sponsorship of &lt;a href=&quot;https:&#x2F;&#x2F;nordeck.net&#x2F;&quot;&gt;Nordeck&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;www.famedly.com&#x2F;&quot;&gt;Famedly&lt;&#x2F;a&gt; and to the extensive efforts of Adrian and the rest of the HSBXL staff, the Foundation could offer 70 pizzas and crates and crates of drinks to the community. Not only was it great to meet people in the flesh: we could also have a tonne of interesting discussions around the Foundation’s governance, funding, trust &amp;amp; safety tooling, and plenty more that we’re going to factor into our roadmap. And look at this happy community!&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;blog&#x2F;img&#x2F;fosdem2024-fringe.jpg&quot; alt=&quot;A picture of several dozens of people smiling in a room. Some of them are holding a Matrix flag together.&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;a-crowded-booth&quot;&gt;A crowded Booth&lt;&#x2F;h2&gt;
&lt;p&gt;After an already successful Friday, it was time to head to FOSDEM itself: for two days the booth was manned by a tireless team, answering questions from a very enthusiastic community. What struck me the most this year was the number of Matrix t-shirts and hoodies people wore at the conference before even stopping by our booth.&lt;&#x2F;p&gt;
&lt;p&gt;Needless to say, Matrix is &lt;em&gt;extremely popular&lt;&#x2F;em&gt; in OSS communities. Most people knew and already loved Matrix when coming to the booth, a few didn’t know Matrix, and even fewer people told us where we need to improve for them to consider using it.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;blog&#x2F;img&#x2F;fosdem2024-booth.jpg&quot; alt=&quot;A picture of three persons standing behind a table. One of them has his arm stretched, the two others are looking at the camera smiling. There are folded t-shirts and stickers on the table.&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;We brought a box of 100 t-shirts and several thousands of stickers with us this year. Some t-shirt sizes were sold out on the first day, and by the end of the weekend we had sold everything. Lesson learnt: bring much more next year!&lt;&#x2F;p&gt;
&lt;h2 id=&quot;a-main-track-talk-selected-for-the-highlights&quot;&gt;A main track talk selected for the highlights&lt;&#x2F;h2&gt;
&lt;p&gt;Matrix is well on its way to become the one ubiquitous protocol that will finally open up the communication silos. During the past year, a lot has been going on. As a testament to Matrix maturity, the majority of our work was around polishing the rough edges and stabilising the protocol, rather than launching plenty of new features.&lt;&#x2F;p&gt;
&lt;p&gt;In &lt;a href=&quot;https:&#x2F;&#x2F;fosdem.org&#x2F;2024&#x2F;schedule&#x2F;event&#x2F;fosdem-2024-3345-opening-up-communication-silos-with-matrix-2-0-and-the-eu-digital-markets-act&#x2F;&quot;&gt;his main track talk&lt;&#x2F;a&gt;, Matthew covered the past year in Matrix, our implication in the Digital Markets Act (DMA), and how Matrix could possibly be part of the solution for WhatsApp to become interoperable and compliant with the regulation.&lt;&#x2F;p&gt;
&lt;noscript&gt;Today&#x27;s Matrix Live: &lt;a href=&quot;https:&#x2F;&#x2F;youtube.com&#x2F;watch?v=s5BrVVf0B1I&quot;&gt;https:&#x2F;&#x2F;youtube.com&#x2F;watch?v=s5BrVVf0B1I&lt;&#x2F;a&gt;&lt;&#x2F;noscript&gt;
&lt;youtube-player video-id=&quot;s5BrVVf0B1I&quot;&gt;&lt;&#x2F;youtube-player&gt;
 
&lt;p&gt;Both &lt;a href=&quot;https:&#x2F;&#x2F;www.wired.com&#x2F;story&#x2F;whatsapp-interoperability-messaging&#x2F;&quot;&gt;Wired&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;techcrunch.com&#x2F;2024&#x2F;02&#x2F;07&#x2F;whatsapp-is-preparing-to-roll-out-third-party-chat-support&#x2F;&quot;&gt;TechCrunch&lt;&#x2F;a&gt; picked up the news that Element has been experimenting with DMA interoperability with WhatsApp via Matrix.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;a-packed-devroom&quot;&gt;A packed devroom&lt;&#x2F;h2&gt;
&lt;p&gt;This year again we had the opportunity to get a &lt;a href=&quot;https:&#x2F;&#x2F;fosdem.org&#x2F;2024&#x2F;schedule&#x2F;track&#x2F;matrix&#x2F;&quot;&gt;Matrix Devroom&lt;&#x2F;a&gt;: more than 4 hours of Matrix content for a delighted audience. Matrix State of the Union, DMA &amp;amp; Interoperability, MatrixRTC and more: there was a talk for everyone!&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;blog&#x2F;img&#x2F;fosdem2024-devroom.jpg&quot; alt=&quot;A picture of Matthew and Amandine in front of a classroom with a wide audience. Amandine is holding the mic for Matthew. Their slides are projected, and we can ready &amp;quot;5 years from now, everyone will communicate via Matrix&amp;quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The devroom happened in a room twice as big as last year’s: it was still packed most of the time. We couldn’t be happier about the enthusiasm for Matrix that we have seen this year again! If you missed a talk you were interested in, you can still catch up with our &lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=s5BrVVf0B1I&amp;amp;list=PLl5dnxRMP1hWa_UHphXfOHvaw4B2JfSlx&quot;&gt;FOSDEM 2024 YouTube Playlist&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;remote-and-local-online-attendance&quot;&gt;Remote and local online attendance&lt;&#x2F;h2&gt;
&lt;p&gt;The online side of the conference went very smoothly. It is a testament to the hard work of the Matrix team who got to adapt it to the &lt;a href=&quot;https:&#x2F;&#x2F;pretalx.fosdem.org&#x2F;&quot;&gt;FOSDEM Pretalx instance&lt;&#x2F;a&gt;, superseding the (in)famous &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;nevs&#x2F;pentabarf&quot;&gt;Pentabarf&lt;&#x2F;a&gt; instance that it relied on so far.&lt;&#x2F;p&gt;
&lt;p&gt;Unsurprisingly, with roughly 7,980 signups online and 4,000 daily active users the online attendance is very far from the levels we have seen at the peak of the pandemic when FOSDEM couldn’t happen in person (plus we collectively forgot to publish the FOSDEM space URL anywhere!). Most people who wanted to attend FOSDEM were there in person, but we were here for people who couldn’t make it for whatever reason.&lt;&#x2F;p&gt;
&lt;p&gt;More surprisingly, I spotted a certain number of people sitting down in the hallways on their phones and laptops, in the middle of one of the largest European open source conferences. They were not catching a break from the conference: they were &lt;em&gt;attending&lt;&#x2F;em&gt; the conference online, even if they were on-site! With more than 10k visitors, some attendees couldn’t make it to the devrooms they wanted to attend… so they attended online. We even caught Amandine tuning into the EU Public Policy devroom from the Matrix devroom!&lt;&#x2F;p&gt;
&lt;h2 id=&quot;you-re-making-this-possible&quot;&gt;You’re making this possible&lt;&#x2F;h2&gt;
&lt;p&gt;This event was an enormous morale booster for the whole team, but we couldn’t make Matrix in the first place without your support. Whether you are an individual or an organisation who benefits from Matrix, please consider &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;support&#x2F;&quot;&gt;supporting the Foundation financially&lt;&#x2F;a&gt; or &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;membership&#x2F;&quot;&gt;becoming a member&lt;&#x2F;a&gt; to steer it in a direction that makes sense for you.&lt;&#x2F;p&gt;
</content>
</entry>

    
    
<entry xml:lang="en">
    <title>This Week in Matrix 2024-02-02</title>
    <published>2024-02-02T00:00:00+00:00</published>
    <updated>2024-02-02T00:00:00+00:00</updated>
    <author>
      <name>
            Hubert Chathi
          </name>
    </author>
    <link rel="alternate" href="https://f297f985.matrix-website.pages.dev/blog/2024/02/02/this-week-in-matrix-2024-02-02/" type="text/html"/>
    <id>https://f297f985.matrix-website.pages.dev/blog/2024/02/02/this-week-in-matrix-2024-02-02/</id>
    <content type="html">&lt;h2 id=&quot;matrix-live&quot;&gt;Matrix Live&lt;&#x2F;h2&gt;
&lt;p&gt;No Matrix Live this week, but there will be plenty of Matrix talks (live!) on
Sunday at FOSDEM in the &lt;a href=&quot;https:&#x2F;&#x2F;fosdem.org&#x2F;2024&#x2F;schedule&#x2F;track&#x2F;matrix&#x2F;&quot;&gt;Matrix
devroom&lt;&#x2F;a&gt;, and at &lt;a href=&quot;https:&#x2F;&#x2F;fosdem.org&#x2F;2024&#x2F;schedule&#x2F;event&#x2F;fosdem-2024-3345-opening-up-communication-silos-with-matrix-2-0-and-the-eu-digital-markets-act&#x2F;&quot;&gt;Matthew&#x27;s
main track
talk&lt;&#x2F;a&gt;.
The talks are livestreamed, so you can follow even if you aren&#x27;t at FOSDEM (or
if you &lt;em&gt;are&lt;&#x2F;em&gt; in FOSDEM but the room is full).  If you are at FOSDEM, you can
also find live Matrix people at the matrix.org stand in Building K, level 2.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;dept-of-status-of-matrix-face-with-th&quot;&gt;Dept of &lt;em&gt;Status of Matrix&lt;&#x2F;em&gt; 🌡️&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@josh:josh.tel&quot;&gt;Josh Simmons&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Announced today during the EU Open Source Policy Summit in Brussels, &lt;a href=&quot;https:&#x2F;&#x2F;openforumeurope.org&#x2F;mozilla-and-the-matrix-org-foundation-join-ofe-as-supporters&#x2F;&quot;&gt;the Matrix.org Foundation and Mozilla have joined OpenForum Europe as supporters&lt;&#x2F;a&gt;. OpenForum Europe has proven an effective convener and advocate for open source and open standards in Europe, and we’re glad to help further that work.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@josh:josh.tel&quot;&gt;Josh Simmons&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;This week the Matrix.org Foundation launched a new fundraiser, shared some high level budget figures, and kicked off a series diving into our emerging roadmap!&lt;&#x2F;p&gt;
&lt;p&gt;We’ve made huge strides over the last year, with the Foundation more robust and independent than ever before, and there’s a lot to be excited about in the future. Critically, we still need more organizations to step up to fund our work before January 2025.&lt;&#x2F;p&gt;
&lt;p&gt;Huge thanks to Beeper, Gematik, Fractal Networks, Fairkom, Thunderbird, and the hundreds of individuals who have already stepped up! Learn more in &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2024&#x2F;01&#x2F;2024-roadmap-and-fundraiser&#x2F;&quot;&gt;our blog post&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;membership&#x2F;&quot;&gt;become a member&lt;&#x2F;a&gt; today 🚀&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;h2 id=&quot;dept-of-spec-scroll&quot;&gt;Dept of Spec 📜&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@hubert:uhoreg.ca&quot;&gt;uhoreg&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Here&#x27;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 &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;proposals&quot;&gt;https:&#x2F;&#x2F;spec.matrix.org&#x2F;proposals&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;msc-status&quot;&gt;MSC Status&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;New MSCs:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4095&quot;&gt;MSC4095: Bundled URL previews&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4094&quot;&gt;[WIP] MSC4094: Sync Server and Client Times with endpoint&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;MSCs in Final Comment Period:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;No MSCs are in FCP.&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Accepted MSCs:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3981&quot;&gt;MSC3981: &lt;code&gt;&#x2F;relations&lt;&#x2F;code&gt; recursion&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2702&quot;&gt;MSC2702: Specifying semantics for Content-Disposition on media&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2701&quot;&gt;MSC2701: Clarifying &lt;code&gt;Content-Type&lt;&#x2F;code&gt; usage in the media repo&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Closed MSCs:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;No MSCs were closed&#x2F;rejected this week.&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-clients-iphone&quot;&gt;Dept of Clients 📱&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;element-x-ios-website&quot;&gt;Element X iOS (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;vector-im&#x2F;element-x-ios&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@mauro.romito:element.io&quot;&gt;Mauro Romito&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;A new release candidate 1.5.5 has been submitted to the store, which will include the advanced setting of turning off read receipts when visiting rooms&lt;&#x2F;li&gt;
&lt;li&gt;Implemented a tool that downloads the translations for the SAS emojis verification system directly from the matrix spec, to localise the emoji names in the app&lt;&#x2F;li&gt;
&lt;li&gt;The macOS and iPad OS support now a quick room search feature by using the CMD+K command, that can be opened from anywhere&lt;&#x2F;li&gt;
&lt;li&gt;Redundant or unnecessary state events will now be filtered and removed from the timeline without the risk of compromising RRs.&lt;&#x2F;li&gt;
&lt;li&gt;Element Call, will now have its calls automatically start as encrypted based on the room encryption state in which they are started.&lt;&#x2F;li&gt;
&lt;li&gt;We are working to improve the error message that can be received when selecting invalid homeservers&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-non-chat-clients-control-knobs&quot;&gt;Dept of Non Chat Clients 🎛️&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;circles-website&quot;&gt;Circles (&lt;a href=&quot;https:&#x2F;&#x2F;www.kombuchaprivacy.com&#x2F;circles&#x2F;&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;E2E encrypted social networking built on Matrix. Safe, private sharing for your friends, family, and community.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@cvwright:futo.org&quot;&gt;cvwright&lt;&#x2F;a&gt; reports&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Circles is a secure social networking app for families and friends, built on Matrix to give users privacy and control.  We have new releases on both mobile platforms this week.&lt;&#x2F;p&gt;
&lt;p&gt;Circles for Android is now available in the main F-Droid.org repo: &lt;a href=&quot;https:&#x2F;&#x2F;f-droid.org&#x2F;packages&#x2F;org.futo.circles&#x2F;&quot;&gt;https:&#x2F;&#x2F;f-droid.org&#x2F;packages&#x2F;org.futo.circles&#x2F;&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;The current F-Droid version is 1.0.24&lt;&#x2F;li&gt;
&lt;li&gt;A new update 1.0.25 is in the pipeline, bringing fixes for threaded replies and UnifiedPush&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Circles for iOS continues inching ever closer to a 1.0 release, with two new builds this week on &lt;a href=&quot;https:&#x2F;&#x2F;testflight.apple.com&#x2F;join&#x2F;Hvj9S0SX&quot;&gt;TestFlight&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;v0.9.3 brings smoother and more reliable signup&#x2F;login, fixes for decryption bugs in v0.9.2, and better support for brand-new accounts that do not have secret storage already configured&lt;&#x2F;li&gt;
&lt;li&gt;v0.9.4 makes the app much more usable on the iPad&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Source code is available as always at &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.futo.org&#x2F;circles&quot;&gt;https:&#x2F;&#x2F;gitlab.futo.org&#x2F;circles&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;futo-org&#x2F;&quot;&gt;https:&#x2F;&#x2F;github.com&#x2F;futo-org&#x2F;&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-sdks-and-frameworks&quot;&gt;Dept of SDKs and Frameworks 🧰&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;elm-sdk&quot;&gt;Elm SDK&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@bram:matrix.directory&quot;&gt;Bram&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;In the past week, a major refactor has been finalized that only results in a patch change given Elm&#x27;s semantic versioning: the Elm types can easily be encoded and decoded, as can be found in its &lt;a href=&quot;https:&#x2F;&#x2F;noordstar.github.io&#x2F;elm-matrix-sdk-beta&#x2F;&quot;&gt;documentation&lt;&#x2F;a&gt;. From now on, any Elm update is reflected on its documentation: starting from &lt;a href=&quot;https:&#x2F;&#x2F;package.elm-lang.org&#x2F;packages&#x2F;noordstar&#x2F;elm-matrix-sdk-beta&#x2F;2.1.2&#x2F;&quot;&gt;the new patch update beta 2.1.2&lt;&#x2F;a&gt;!&lt;&#x2F;p&gt;
&lt;p&gt;I am still looking for feedback on how to design a proper immutable timeline data structure - if you have any tips, please help me out at the public &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#elm-sdk:matrix.org&quot;&gt;#elm-sdk:matrix.org&lt;&#x2F;a&gt; room! Thanks.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;rory-libmatrix-net-8-matrix-bot-client-library-sdk&quot;&gt;Rory&amp;amp;::LibMatrix (.NET 8 matrix bot&#x2F;client library&#x2F;SDK)&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@emma:rory.gay&quot;&gt;Emma [it&#x2F;its]&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Some larger changes this time around, although organisational.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;h4 id=&quot;changes&quot;&gt;Changes&lt;&#x2F;h4&gt;
&lt;ul&gt;
&lt;li&gt;FederationClient has been split out from RemoteHomeserver (access is available through &lt;code&gt;rhs.FederationClient&lt;&#x2F;code&gt;, if we were able to find the s2s API)&lt;&#x2F;li&gt;
&lt;li&gt;Federation API resolution failure no longer causes client initialisation failure (commonly caused by CORS)&lt;&#x2F;li&gt;
&lt;li&gt;MessageBuilder now has more functionality (eg. adding a HTML tag with attributes)&lt;&#x2F;li&gt;
&lt;li&gt;Sync filters now get uploaded to &#x2F;filters and referenced by ID, rather than only being able to pass them in the URL. This also allows uploading them yourself. Utility functions have been provided to store&#x2F;request them by names, if wanted.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;BIG CHANGE:&lt;&#x2F;strong&gt;&lt;&#x2F;em&gt; LibMatrix is no longer a monorepo! All example bots have been split out into &lt;a href=&quot;https:&#x2F;&#x2F;cgit.rory.gay&#x2F;matrix&quot;&gt;separate repositories&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h4 id=&quot;new-features&quot;&gt;New features&lt;&#x2F;h4&gt;
&lt;ul&gt;
&lt;li&gt;You can now enumerate account data&lt;&#x2F;li&gt;
&lt;li&gt;You can now call &#x2F;capabilities&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;And, as always:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;The code is available at &lt;a href=&quot;https:&#x2F;&#x2F;cgit.rory.gay&#x2F;matrix&#x2F;LibMatrix.git&quot;&gt;cgit.rory.gay&lt;&#x2F;a&gt;!
&lt;ul&gt;
&lt;li&gt;All contributions are more than welcome, be it documentation, code, anything! Perhaps, example usecases, bots, ...?&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Discussion, suggestions and ideas are welcome in &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#libmatrix:rory.gay&quot;&gt;#libmatrix:rory.gay&lt;&#x2F;a&gt; (Space: &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#mru-space:rory.gay&quot;&gt;#mru-space:rory.gay&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Got a cool project that you&#x27;re working on and want to share, using LibMatrix? Be sure to let me know, I&#x27;d love to hear all about it!&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;trixnity-website&quot;&gt;Trixnity (&lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;trixnity&#x2F;trixnity&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;Multiplatform Kotlin SDK for Matrix&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@benedict:imbitbu.de&quot;&gt;Benedict&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;New &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;trixnity&#x2F;trixnity&#x2F;-&#x2F;releases&#x2F;v4.2.1&quot;&gt;minor version&lt;&#x2F;a&gt; of Trixnity this week:&lt;&#x2F;p&gt;
&lt;p&gt;features&#x2F;improvements:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;support matrix 1.8 and 1.9&lt;&#x2F;li&gt;
&lt;li&gt;Add platform (a.k.a. BOM) configuration and tweak some gradle config. Thanks to @daphil19&lt;&#x2F;li&gt;
&lt;li&gt;remove extensions in &lt;code&gt;SyncApiClient&lt;&#x2F;code&gt;, that are not needed anymore&lt;&#x2F;li&gt;
&lt;li&gt;add internal concurrent (left right) collections&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-events-and-talks&quot;&gt;Dept of Events and Talks 🗣️&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@mtrnord:midnightthoughts.space&quot;&gt;MTRNord&lt;&#x2F;a&gt; reports&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Group image from the Matrix Fringe Event at FOSDEM 👋
&lt;img src=&quot;&#x2F;blog&#x2F;img&#x2F;e64de023cc0adcc2c7fc2522edddcff9cea1ddd21753462023896694784.jpg&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-guides&quot;&gt;Dept of Guides 🧭&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;matrix-client-tutorial&quot;&gt;Matrix client tutorial&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@hubert:uhoreg.ca&quot;&gt;uhoreg&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;My &lt;a href=&quot;https:&#x2F;&#x2F;uhoreg.gitlab.io&#x2F;matrix-tutorial&#x2F;&quot;&gt;Matrix client tutorial&lt;&#x2F;a&gt; has had a few new sections added to it: handling &lt;code&gt;m.room.encryption&lt;&#x2F;code&gt; events (and disallowing encryption from being disabled once enabled), detecting replay attacks, and discarding outbound sessions.  Next up will be writing a simple bot to demonstrate encryption, and then I&#x27;m planning on going through the encryption section again and tidying things up.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;matrix-federation-stats&quot;&gt;Matrix Federation Stats&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@aine:etke.cc&quot;&gt;Aine&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;collected by &lt;a href=&quot;https:&#x2F;&#x2F;matrixrooms.info&quot;&gt;MatrixRooms.info&lt;&#x2F;a&gt; - an &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;mrs&#x2F;api&quot;&gt;MRS&lt;&#x2F;a&gt; instance by &lt;a href=&quot;https:&#x2F;&#x2F;etke.cc?utm_source=twim&amp;amp;utm_medium=matrix&amp;amp;utm_campaign=federation-stats&quot;&gt;etke.cc&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;As of today, &lt;code&gt;8738&lt;&#x2F;code&gt; Matrix federateable servers have been discovered by matrixrooms.info, &lt;code&gt;2463&lt;&#x2F;code&gt; (&lt;code&gt;28.2%&lt;&#x2F;code&gt;) of them are publishing their rooms directory over federation.
The published directories contain &lt;code&gt;166459&lt;&#x2F;code&gt; rooms.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;mrs&#x2F;api&#x2F;-&#x2F;blob&#x2F;main&#x2F;docs&#x2F;indexing.md&quot;&gt;How to add your server&lt;&#x2F;a&gt; | &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;mrs&#x2F;api&#x2F;-&#x2F;blob&#x2F;main&#x2F;docs&#x2F;deindexing.md&quot;&gt;How to remove your server&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;that-s-all-i-know&quot;&gt;That&#x27;s all I know&lt;&#x2F;h2&gt;
&lt;p&gt;See you next week, and be sure to stop by &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#twim:matrix.org&quot;&gt;#twim:matrix.org&lt;&#x2F;a&gt; with your updates!&lt;&#x2F;p&gt;
</content>
</entry>

    
    
<entry xml:lang="en">
    <title>A roadmap and appeal for help from The Matrix.org Foundation</title>
    <published>2024-01-30T17:00:00+00:00</published>
    <updated>2024-01-30T17:00:00+00:00</updated>
    <author>
      <name>
            Josh Simmons
          </name>
    </author>
    <link rel="alternate" href="https://f297f985.matrix-website.pages.dev/blog/2024/01/2024-roadmap-and-fundraiser/" type="text/html"/>
    <id>https://f297f985.matrix-website.pages.dev/blog/2024/01/2024-roadmap-and-fundraiser/</id>
    <content type="html">&lt;h2 id=&quot;a-new-fundraising-drive&quot;&gt;A new fundraising drive&lt;&#x2F;h2&gt;
&lt;p&gt;Today we launch a new fundraising drive, talk about the scope of the Foundation&#x27;s work, and begin to unpack our emerging roadmap for the future. &lt;strong&gt;There is a lot going on and we need your help to keep it going!&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;At the end of 2022 Matthew and Amandine &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2022&#x2F;12&#x2F;25&#x2F;the-matrix-holiday-update-2022&#x2F;&quot;&gt;sounded the alarm&lt;&#x2F;a&gt;: the Foundation needed more support. To deliver that, they &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2022&#x2F;12&#x2F;01&#x2F;funding-matrix-via-the-matrix-org-foundation&#x2F;#introducing-foundation-memberships-and-the-governing-board&quot;&gt;launched the Foundation&#x27;s membership program&lt;&#x2F;a&gt;. They also introduced open governance, and committed to hiring a Managing Director to act as a robust, neutral steward.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;You can help: If you are already sold on Matrix, &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;membership&#x2F;&quot;&gt;become a member today&lt;&#x2F;a&gt;.&lt;&#x2F;strong&gt; To find out how the last year has gone, and how your support helps us to serve the Matrix ecosystem, read on. &lt;&#x2F;p&gt;
&lt;p&gt;Over the last year, there are lots of positive, healthy signs for Matrix. New members like &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2023&#x2F;06&#x2F;beeper-joins-the-foundation&#x2F;&quot;&gt;Beeper&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2023&#x2F;06&#x2F;gematik-joins-the-foundation&#x2F;&quot;&gt;gematik&lt;&#x2F;a&gt; — and hundreds of individuals ​— boosted our annual revenues from £82K to £364K. The open network has grown from 80.3M to 115M addressable users. We&#x27;ve invested in long-term interoperability efforts at the IETF. And we&#x27;ve shifted focus from experiments to polish, usability, and advocacy.&lt;&#x2F;p&gt;
&lt;p&gt;We&#x27;ve supported development of core libraries, and subsidize hosting for FOSS communities like GNOME and KDE. The Foundation runs the Matrix.org homeserver, with over 250K daily active users, and operates several public bots and bridges. And indeed, the Foundation &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2023&#x2F;10&#x2F;26&#x2F;hello-world&#x2F;&quot;&gt;hired a Managing Director&lt;&#x2F;a&gt; 👋.&lt;&#x2F;p&gt;
&lt;p&gt;You&#x27;ll find a full accounting of our 2023 activity and finances in our first Annual Report, slated to come out around April 2024.&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;h2 id=&quot;an-inflection-point-for-matrix&quot;&gt;An inflection point for Matrix&lt;&#x2F;h2&gt;
&lt;p&gt;We are incredibly proud of what we&#x27;ve accomplished in the last year. As Matrix approaches its 10th anniversary, we are arriving at an inflection point. To continue on this trajectory, we need your help. &lt;&#x2F;p&gt;
&lt;p&gt;Element used to subsidize our activity, and still donates upwards of £3M in core development annually, but we are paying our own bills now. While we managed a 400+% increase in revenue to £364K last year, at £440K our expenses exceeded our revenue. As we enter our first full year of paying our own bills, the full cost of operating the Foundation at its current scope is projected to stabilize somewhere north of £900K in 2024. And the more we can raise beyond £900K, the less dependent the ecosystem is on Element.&lt;&#x2F;p&gt;
&lt;p&gt;As I get more settled in, we&#x27;ll deliver more granular financial projections and reporting. For now, the rough breakdown of those projected expenses:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;£550K in staffing 4 full-time people covering management, advocacy, standards development, and trust and safety, as well as external part-time staff for core project and bridge maintenance and infra ops&lt;&#x2F;li&gt;
&lt;li&gt;£250K in servers and other third-party providers&lt;&#x2F;li&gt;
&lt;li&gt;£100K in administrative costs covering legal, accounting, and compliance&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;To put that £900K figure in perspective, the &lt;a href=&quot;https:&#x2F;&#x2F;www.python.org&#x2F;psf&#x2F;records&#x2F;&quot;&gt;Python Software Foundation&#x27;s expenses&lt;&#x2F;a&gt; are nearer £2.9M, and &lt;a href=&quot;https:&#x2F;&#x2F;signal.org&#x2F;blog&#x2F;signal-is-expensive&#x2F;&quot;&gt;Signal&#x27;s annual costs&lt;&#x2F;a&gt; are in the ballpark of £39M!&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;This year is exciting and full of promise, and there are many reasons to be hopeful. If the work we are doing to support Matrix is valuable to you, we need your help to continue it well past 2024. We need more organizations to &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;membership&#x2F;&quot;&gt;step up as members&lt;&#x2F;a&gt; to invest in the Matrix ecosystem. Otherwise, we need to start scaling back programs and staff starting January 2025.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;We&#x27;re going to publish a series of blog posts over the next three months to unpack our work and our roadmap for the future. You&#x27;ll see posts covering: governance, ecosystem diversity and community engagement, infrastructure, trust and safety, fighting for your digital rights, and more.&lt;&#x2F;p&gt;
&lt;p&gt;With your support, the Foundation can charge full steam ahead to deliver on the promise of making open, unencumbered, safe, secure, and private communications technology.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;a-hint-of-the-year-ahead&quot;&gt;A hint of the year ahead&lt;&#x2F;h2&gt;
&lt;p&gt;The forthcoming posts in this series will dive into several of our core program areas, and explore where we aim to go. But when I think about the year ahead, three overriding themes stand out to me:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Ramp up open governance of Matrix and the Foundation&lt;&#x2F;li&gt;
&lt;li&gt;Prioritize Trust &amp;amp; Safety&lt;&#x2F;li&gt;
&lt;li&gt;Cement the Foundation as an independent and sustainable organization&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;2024 will see the Foundation sustain and deepen work in our ongoing responsibilities:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Empowering the &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;about&#x2F;#the-spec-core-team&quot;&gt;Spec Core Team (SCT)&lt;&#x2F;a&gt; to deliver an effective, modern spec change process&lt;&#x2F;li&gt;
&lt;li&gt;Running the Matrix.org homeserver and public bridges&lt;&#x2F;li&gt;
&lt;li&gt;Trust &amp;amp; Safety&lt;&#x2F;li&gt;
&lt;li&gt;Communications and community engagement&lt;&#x2F;li&gt;
&lt;li&gt;Compliance&lt;&#x2F;li&gt;
&lt;li&gt;Governance&lt;&#x2F;li&gt;
&lt;li&gt;Fundraising&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;We will also continue investing in long-term initiatives, such as driving work toward &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2023&#x2F;09&#x2F;matrix-2-0&#x2F;&quot;&gt;Matrix 2.0&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2023&#x2F;12&#x2F;25&#x2F;the-matrix-holiday-update-2023&#x2F;&quot;&gt;beyond&lt;&#x2F;a&gt; and building a fully independent Foundation. With this in mind, we see several exciting milestones including:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Establish a fiscal sponsorship framework, &lt;a href=&quot;https:&#x2F;&#x2F;t2bot.io&#x2F;&quot;&gt;starting with t2bot.io&lt;&#x2F;a&gt;,&lt;&#x2F;li&gt;
&lt;li&gt;Publishing our first ever Annual Report,&lt;&#x2F;li&gt;
&lt;li&gt;Electing our &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2023&#x2F;12&#x2F;electing-our-first-governing-board&#x2F;&quot;&gt;first ever Governing Board&lt;&#x2F;a&gt;,&lt;&#x2F;li&gt;
&lt;li&gt;And hosting the first ever official Matrix conference!&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;We couldn&#x27;t be more excited about what we have to share in the coming months, and we hope that our vision – which is deeply informed by community input – is something you are ready to stand behind.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Thank you for &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;support&#x2F;&quot;&gt;donating&lt;&#x2F;a&gt;, becoming &lt;a href=&quot;https:&#x2F;&#x2F;donorbox.org&#x2F;membership-303&quot;&gt;Individual Members&lt;&#x2F;a&gt;, and rallying your organization to become &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;membership&#x2F;&quot;&gt;a funding member&lt;&#x2F;a&gt;!&lt;&#x2F;p&gt;
&lt;p&gt;Ad astra per aspera 🚀&lt;&#x2F;p&gt;
&lt;p&gt;Josh Simmons, Managing Director of The Matrix.org Foundation&lt;&#x2F;p&gt;
</content>
</entry>

    
    
<entry xml:lang="en">
    <title>This Week in Matrix 2024-01-26</title>
    <published>2024-01-26T00:00:00+00:00</published>
    <updated>2024-01-26T00:00:00+00:00</updated>
    <author>
      <name>
            Thib
          </name>
    </author>
    <link rel="alternate" href="https://f297f985.matrix-website.pages.dev/blog/2024/01/26/this-week-in-matrix-2024-01-26/" type="text/html"/>
    <id>https://f297f985.matrix-website.pages.dev/blog/2024/01/26/this-week-in-matrix-2024-01-26/</id>
    <content type="html">&lt;h2 id=&quot;matrix-live&quot;&gt;Matrix Live&lt;&#x2F;h2&gt;
&lt;noscript&gt;Today&#x27;s Matrix Live: &lt;a href=&quot;https:&#x2F;&#x2F;youtube.com&#x2F;watch?v=E-EEV66ZXKU&quot;&gt;https:&#x2F;&#x2F;youtube.com&#x2F;watch?v=E-EEV66ZXKU&lt;&#x2F;a&gt;&lt;&#x2F;noscript&gt;
&lt;youtube-player video-id=&quot;E-EEV66ZXKU&quot;&gt;&lt;&#x2F;youtube-player&gt;
&lt;h2 id=&quot;dept-of-spec-scroll&quot;&gt;Dept of Spec 📜&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@andrewm:element.io&quot;&gt;Andrew Morgan (anoa)&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Here&#x27;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 &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;proposals&quot;&gt;https:&#x2F;&#x2F;spec.matrix.org&#x2F;proposals&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;msc-status&quot;&gt;MSC Status&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;New MSCs:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;There were no new MSCs this week.&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;MSCs in Final Comment Period:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3981&quot;&gt;MSC3981: &lt;code&gt;&#x2F;relations&lt;&#x2F;code&gt; recursion&lt;&#x2F;a&gt; (merge)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Accepted MSCs:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;No MSCs were accepted this week.&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Closed MSCs:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;No MSCs were closed&#x2F;rejected this week.&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;spec-update&quot;&gt;Spec Update&lt;&#x2F;h3&gt;
&lt;p&gt;For those familiar with Travis&#x27; weekly task lists of MSCs for the Spec Core Team to review in the &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#sct-office:matrix.org&quot;&gt;Office of the Matrix Spec Core Team room&lt;&#x2F;a&gt;, a new weekly list is now being posted in the &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;!KzgjYxOASBbBMrtCXC:matrix.org&#x2F;$QqpbS4hdFuxy6vPIz80eeGjnGXwJWJInMJFlNqG7y98?via=matrix.org&amp;amp;via=element.io&amp;amp;via=envs.net&quot;&gt;Matrix Spec &amp;amp; Docs Authoring room&lt;&#x2F;a&gt;. This list is aimed at technical writers who can help by converting MSC authors&#x27; words into PRs against the spec text itself.&lt;&#x2F;p&gt;
&lt;p&gt;This is the final step for getting an MSC integrated into a new release of the Matrix spec, and anyone can try their hand at it! It would also very much help the Spec Core Team by freeing up more bandwidth for review of the MSC backlog, as well as push forward the protocol itself. Thank you!&lt;&#x2F;p&gt;
&lt;p&gt;If you have any questions, feel free to ask them in the relevant Matrix rooms.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;random-msc-of-the-week&quot;&gt;Random MSC of the Week&lt;&#x2F;h3&gt;
&lt;p&gt;The random MSC of the week is... &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4003&quot;&gt;MSC4003: Semantic table attributes&lt;&#x2F;a&gt;!&lt;&#x2F;p&gt;
&lt;p&gt;This MSC proposes expanding the set of suggested, interpreted HTML tags in Matrix clients to include additional tags related to tables. With them, more control over table rendering is possible. The proposal itself includes one such (albeit fairly arbitrary) example&lt;&#x2F;p&gt;
&lt;p&gt;The proposal is well-written and straight-forward, so do feel free to have a look if the subject interests you!&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;h2 id=&quot;dept-of-status-of-matrix-face-with-th&quot;&gt;Dept of &lt;em&gt;Status of Matrix&lt;&#x2F;em&gt; 🌡️&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@deepbluev7:neko.dev&quot;&gt;Nico&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;h2 id=&quot;very-timely-review-of-matrix-in-2023&quot;&gt;Very timely review of Matrix in 2023&lt;&#x2F;h2&gt;
&lt;p&gt;As you know, every year I post a review of what the community has been up to in 2023. Actually, I don&#x27;t even write it, this is only the second time and it was almost a month late, but if we look past that, this statement still holds!&lt;&#x2F;p&gt;
&lt;p&gt;Anyway, since FOSDEM is close, give it a read so that we can discuss everything at FOSDEM! The community has been up to a lot of stuff and I have only been able to cover a fraction of it, but it still ends up being quite long!&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;blog.neko.dev&#x2F;posts&#x2F;matrix-year-in-review-2023.html&quot;&gt;https:&#x2F;&#x2F;blog.neko.dev&#x2F;posts&#x2F;matrix-year-in-review-2023.html&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;(This will probably go to the matrix.org blog eventually, but that might still take a bit :))&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@thib:ergaster.org&quot;&gt;Thib&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Next week we&#x27;re going to roll out privacy-preserving analytics on the matrix.org website. But why, you may ask? Read about what we want to achieve, how, and the guarantees we provide: we want to &lt;a href=&quot;https:&#x2F;&#x2F;ergaster.org&#x2F;posts&#x2F;2024&#x2F;01&#x2F;24-tracking-what-works&#x2F;&quot;&gt;track what works, not people&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;ergaster.org&#x2F;posts&#x2F;2024&#x2F;01&#x2F;24-tracking-what-works&#x2F;&quot;&gt;https:&#x2F;&#x2F;ergaster.org&#x2F;posts&#x2F;2024&#x2F;01&#x2F;24-tracking-what-works&#x2F;&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-servers-europea&quot;&gt;Dept of Servers 🏢&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;synapse-website&quot;&gt;Synapse (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;synapse&#x2F;&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;Synapse is a Matrix homeserver implementation developed by the matrix.org core team&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@reivilibre.element:librepush.net&quot;&gt;Olivier &#x27;reivilibre&#x27;&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;This week in Synapse we unleashed &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;synapse&#x2F;blob&#x2F;release-v1.100&#x2F;CHANGES.md#synapse-11000rc1-2024-01-23&quot;&gt;1.100.0rc1&lt;&#x2F;a&gt;, a version number so ridiculous that it could not possibly be real.&lt;&#x2F;p&gt;
&lt;p&gt;There isn&#x27;t exactly any large headline change here, but there is experimental support for &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4028&quot;&gt;MSC4028 (pushing all messages in encrypted rooms except unmuted)&lt;&#x2F;a&gt;. There are also a few performance optimisations and preparations for future performance optimisations&lt;&#x2F;p&gt;
&lt;p&gt;It turned out that, indeed, 1.100.0rc1 was never meant to be, because a fault in the release process meant it was never properly released and we had to come out with 1.100.0rc2 instead!&lt;&#x2F;p&gt;
&lt;p&gt;But then rumour had it that the new version &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;synapse&#x2F;issues&#x2F;16849&quot;&gt;would cause your Postgres to eat all the CPU&lt;&#x2F;a&gt;, so a little hotfix later and we put out &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;synapse&#x2F;blob&#x2F;release-v1.100&#x2F;CHANGES.md#synapse-11000rc3-2024-01-24&quot;&gt;1.100.0rc3&lt;&#x2F;a&gt;. To the community members that test our release candidates: thanks!&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;dendrite-website&quot;&gt;Dendrite (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;dendrite&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;Second generation Matrix homeserver&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@s7evink:matrix.org&quot;&gt;Till&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Today we released Dendrite &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;dendrite&#x2F;releases&#x2F;tag&#x2F;v0.13.6&quot;&gt;v0.13.6&lt;&#x2F;a&gt;. Upgrading to this version is highly recommended, as it contains several QoL improvements.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;fixes&quot;&gt;Fixes&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Use &lt;code&gt;AckExplicitPolicy&lt;&#x2F;code&gt; for JetStream consumers, so messages don&#x27;t pile up in NATS&lt;&#x2F;li&gt;
&lt;li&gt;A rare panic when assigning a state key NID has been fixed&lt;&#x2F;li&gt;
&lt;li&gt;A rare panic when checking powerlevels has been fixed&lt;&#x2F;li&gt;
&lt;li&gt;Notary keys requests for all keys now work correctly&lt;&#x2F;li&gt;
&lt;li&gt;Spec compliance:
&lt;ul&gt;
&lt;li&gt;Return &lt;code&gt;M_INVALID_PARAM&lt;&#x2F;code&gt; when querying room aliases&lt;&#x2F;li&gt;
&lt;li&gt;Handle empty &lt;code&gt;from&lt;&#x2F;code&gt; parameter when requesting &lt;code&gt;&#x2F;messages&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Add CORP headers on media endpoints&lt;&#x2F;li&gt;
&lt;li&gt;Remove &lt;code&gt;aliases&lt;&#x2F;code&gt; from &lt;code&gt;&#x2F;publicRooms&lt;&#x2F;code&gt; responses&lt;&#x2F;li&gt;
&lt;li&gt;Allow &lt;code&gt;+&lt;&#x2F;code&gt; in MXIDs (Contributed by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;RosstheRoss&quot;&gt;RosstheRoss&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Fixes membership transitions from &lt;code&gt;knock&lt;&#x2F;code&gt; to &lt;code&gt;join&lt;&#x2F;code&gt; in &lt;code&gt;knock_restricted&lt;&#x2F;code&gt; rooms&lt;&#x2F;li&gt;
&lt;li&gt;Incremental syncs now batch querying events (Contributed by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;recht&quot;&gt;recht&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Move &lt;code&gt;&#x2F;joined_members&lt;&#x2F;code&gt; back to the clientAPI&#x2F;roomserver, which should make bridges happier again&lt;&#x2F;li&gt;
&lt;li&gt;Backfilling from other servers now only uses at max 100 events instead of potentially thousands&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;As always, feel free to stop by &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#dendrite:matrix.org&quot;&gt;#dendrite:matrix.org&lt;&#x2F;a&gt; to join in on the discussion and if you encounter a bug make sure to report it &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;dendrite&#x2F;issues&#x2F;new&#x2F;choose&quot;&gt;here&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-clients-iphone&quot;&gt;Dept of Clients 📱&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;neochat-website&quot;&gt;Neochat (&lt;a href=&quot;https:&#x2F;&#x2F;invent.kde.org&#x2F;network&#x2F;neochat&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;A client for matrix, the decentralized communication protocol&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@tobiasfella:kde.org&quot;&gt;Tobias Fella&lt;&#x2F;a&gt; reports&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Have you ever thought &amp;quot;man, I sure wish my Matrix client would show me more information about these train tickets and hotel reservations my friend just sent me&amp;quot;? Well, your wait is finally over! If you have KDE Itinerary installed on your system, NeoChat will now use its tooling to extract information from such documents and presents it, together with the ability to directly import it into your Itinerary.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;blog&#x2F;img&#x2F;94e659fb5d6514c55e17a65d43a68df334da302d1750918709804793856.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;In other news, thanks to Joshua, NeoChat now supports push notifications based on UnifiedPush. James has significantly reworked the room list, which now separates direct messages from group chats and has a stronger focus on Spaces. Do let us know what you think about these changes! He also improved the room timeline to more clearly show whether NeoChat is currently loading old messages or is at the end of the timeline. Last, but not least, I implemented a view showing the notifications, similar to what you might know from element. We also fixed 43.8 bugs and improved NeoChat by 23+4i%. See you next week!&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;ement-el-website&quot;&gt;Ement.el (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;alphapapa&#x2F;ement.el&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;Matrix client for Emacs&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@alphapapa:matrix.org&quot;&gt;alphapapa&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;alphapapa&#x2F;ement.el&quot;&gt;Ement.el&lt;&#x2F;a&gt;, a Matrix client for the &lt;a href=&quot;https:&#x2F;&#x2F;www.gnu.org&#x2F;software&#x2F;emacs&#x2F;&quot;&gt;GNU Emacs&lt;&#x2F;a&gt; text editor and Lisp environment, has been &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;alphapapa&#x2F;ement.el&#x2F;releases&#x2F;tag&#x2F;v0.14&quot;&gt;released&lt;&#x2F;a&gt; at version 0.14.  Changes since the last release include:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Additions&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Audio events are rendered as a link to the audio file.  (Thanks to &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;viiru-&quot;&gt;Arto Jantunen&lt;&#x2F;a&gt;.)&lt;&#x2F;li&gt;
&lt;li&gt;Customization group &lt;code&gt;ement-room-list&lt;&#x2F;code&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;Option &lt;code&gt;ement-room-list-space-prefix&lt;&#x2F;code&gt; is applied to space names in the room list (e.g. set to empty string for cleaner appearance).&lt;&#x2F;li&gt;
&lt;li&gt;Option &lt;code&gt;ement-room-reaction-names-limit&lt;&#x2F;code&gt; sets how many senders of a reaction are shown in the buffer (more than that many are shown in the tooltip).&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Bind &lt;code&gt;TAB&lt;&#x2F;code&gt; &#x2F; &lt;code&gt;BACKTAB&lt;&#x2F;code&gt; to move between links in room and like buffers.  (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;alphapapa&#x2F;ement.el&#x2F;issues&#x2F;113&quot;&gt;#113&lt;&#x2F;a&gt;.  Thanks to &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;ericsfraga&quot;&gt;Eric S. Fraga&lt;&#x2F;a&gt; for suggesting.)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Fixes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Insertion of sender headers (when using &amp;quot;Elemental&amp;quot; message format).  (Refactoring contributed by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;Stebalien&quot;&gt;Steven Allen&lt;&#x2F;a&gt;.)&lt;&#x2F;li&gt;
&lt;li&gt;Some room event data was being unintentionally serialized to disk when caching the room list visibility state. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;alphapapa&#x2F;ement.el&#x2F;issues&#x2F;256&quot;&gt;#256&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Notifications buffer restores properly when bookmarked.&lt;&#x2F;li&gt;
&lt;li&gt;Command &lt;code&gt;ement-room-send-reaction&lt;&#x2F;code&gt; checks for an event at point.  (Thanks to &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;phil-s&quot;&gt;Phil Sainty&lt;&#x2F;a&gt;.)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Feel free to join us in the chat room: &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ement.el:matrix.org&quot;&gt;#ement.el:matrix.org&lt;&#x2F;a&gt;!&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;element-x-ios-website&quot;&gt;Element X iOS (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;vector-im&#x2F;element-x-ios&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@douge:matrix.org&quot;&gt;Doug&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;A new setting is available to stop the app from sending (public) Read Receipts.&lt;&#x2F;li&gt;
&lt;li&gt;Unread Badges are almost ready and will hopefully land in the next TestFlight.&lt;&#x2F;li&gt;
&lt;li&gt;The User Menu has been made visible whilst waiting for the Sliding Sync proxy to sync your account for the first time. And if you’re having issues signing in you can now send feedback and logs directly from the first screen.&lt;&#x2F;li&gt;
&lt;li&gt;Talking about logs, if you’ve ever wanted to see what will be submitted, we’ve added a Log Viewer when reporting a bug.&lt;&#x2F;li&gt;
&lt;li&gt;There was a bug that prevented you from joining some calls. This fix for this is in the latest version which is available on the App Store right now.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;element-x-android-website&quot;&gt;Element X Android (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;vector-im&#x2F;element-x-android&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;Android Matrix messenger application using the Matrix Rust Sdk and Jetpack Compose &lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@benoit.marty:matrix.org&quot;&gt;benoit&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Release 0.4.1 is in production, here is the changelog: https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;element-x-android&#x2F;releases&#x2F;tag&#x2F;v0.4.1.&lt;&#x2F;li&gt;
&lt;li&gt;Next release 0.4.2 should also be published on F-Droid with push support using UnifiedPush.&lt;&#x2F;li&gt;
&lt;li&gt;This week the team was focusing on stabilizing the app, and we are starting new epics like typing notifications, manage room member permissions (i.e. edit power levels), setting room as favorite&lt;&#x2F;li&gt;
&lt;li&gt;It&#x27;s also now possible to send private Read Receipt&lt;&#x2F;li&gt;
&lt;li&gt;Last note, we just updated the Jetpack Compose library to the latest version and it will impact performance in a positive way. Google is claiming that scrolling will be 20% faster and starting application will be faster as well. Element X as snappy as ever 🚀!&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-non-chat-clients-control-knobs&quot;&gt;Dept of Non Chat Clients 🎛️&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;circles-website&quot;&gt;Circles (&lt;a href=&quot;https:&#x2F;&#x2F;www.kombuchaprivacy.com&#x2F;circles&#x2F;&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;E2E encrypted social networking built on Matrix. Safe, private sharing for your friends, family, and community.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@cvwright:futo.org&quot;&gt;cvwright&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;h3 id=&quot;new-circles-builds-and-new-servers&quot;&gt;New Circles builds and new servers&lt;&#x2F;h3&gt;
&lt;p&gt;Circles is a secure social network app for families and friends, built on Matrix to give users privacy through end-to-end encryption and independence through the ability to run your own server.  This week we have a big update for you!&lt;&#x2F;p&gt;
&lt;p&gt;We have new servers: &lt;code&gt;circles.futo.org&lt;&#x2F;code&gt; in the US and &lt;code&gt;eu.circles.futo.org&lt;&#x2F;code&gt; in the EU.  Thanks to our friends over in Synapse Extreme Tuning and to Slavi from Matrix-Docker-Ansible-Deploy, the new servers are &lt;em&gt;much&lt;&#x2F;em&gt; faster than the old circu.li servers.  The latest Circles builds -- 1.0.24 on Android and 0.9.2 on iOS -- can create new accounts on the new servers, so if you&#x27;re using circu.li now is your chance to create a new account.  We&#x27;ll keep the old circu.li servers running for a while, especially for testing out the latest bleeding-edge beta builds.  But the way forward for us is on circles.futo.org.  You can create new free-forever accounts on the new servers until we enable in-app subscriptions later this year.&lt;&#x2F;p&gt;
&lt;p&gt;If you&#x27;re using Circles with an account on your own server or matrix.org etc, then not much will change for you.  You might notice a change in the app&#x27;s deep links, but that&#x27;s about it.&lt;&#x2F;p&gt;
&lt;p&gt;The latest builds also include the following improvements:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Circles iOS 0.9.1 and 0.9.2&lt;&#x2F;strong&gt; (&lt;a href=&quot;https:&#x2F;&#x2F;testflight.apple.com&#x2F;join&#x2F;Hvj9S0SX&quot;&gt;TestFlight&lt;&#x2F;a&gt;)&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Relax password strength requirements&lt;&#x2F;li&gt;
&lt;li&gt;Use shared web credentials and Keychain for passwords&lt;&#x2F;li&gt;
&lt;li&gt;Save secret-storage keys in iCloud Keychain for account recovery&lt;&#x2F;li&gt;
&lt;li&gt;Bugfix: Use new jdenticon avatar on the People tab self-view&lt;&#x2F;li&gt;
&lt;li&gt;Bugfix: Remove TESTING section on subscription settings&lt;&#x2F;li&gt;
&lt;li&gt;Clean up the group creation dialog&lt;&#x2F;li&gt;
&lt;li&gt;Change default domain from circu.li to circles.futo.org&lt;&#x2F;li&gt;
&lt;li&gt;Better handling of accounts that are in very large Matrix chat rooms&lt;&#x2F;li&gt;
&lt;li&gt;New free subscription type for free accounts&lt;&#x2F;li&gt;
&lt;li&gt;Make the reply composer scrollable&lt;&#x2F;li&gt;
&lt;li&gt;Use jdenticons as profile image for users who don&#x27;t upload a photo&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Circles Android 1.0.22, 1.0.23, and 1.0.24&lt;&#x2F;strong&gt; (&lt;a href=&quot;https:&#x2F;&#x2F;play.google.com&#x2F;store&#x2F;apps&#x2F;details?id=org.futo.circles&quot;&gt;Google Play&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;circu.li&#x2F;fdroid&#x2F;repo&#x2F;?fingerprint=BDBDCD456ADCDAF11451BF90E805AFDB2D8D76CF8970553FD96A474BBE08EC58&quot;&gt;F-Droid repo&lt;&#x2F;a&gt;)&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;New default domains&lt;&#x2F;li&gt;
&lt;li&gt;Use circles.futo.org domain for deep links&lt;&#x2F;li&gt;
&lt;li&gt;Initial sync improvements for handling very large rooms&lt;&#x2F;li&gt;
&lt;li&gt;Jdenticon for user&#x27;s avatar placeholders&lt;&#x2F;li&gt;
&lt;li&gt;Media usage info (only for servers that support it)&lt;&#x2F;li&gt;
&lt;li&gt;New screens for invitations&lt;&#x2F;li&gt;
&lt;li&gt;Ignored user section in Settings&lt;&#x2F;li&gt;
&lt;li&gt;More categories on People tab&lt;&#x2F;li&gt;
&lt;li&gt;Bug fixes and performance improvements&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-voip-call-me-hand&quot;&gt;Dept of VoIP 🤙&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;matrixrtc&quot;&gt;MatrixRTC&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@td:technodisaster.com&quot;&gt;td&lt;&#x2F;a&gt; reports&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Halooo, td has some updates about MatrixRTC today:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;We had our first interoperable group call using the new livekit backend between Famedly and Element Call this week. This means the dart sdk now supports multiple backends such as &lt;code&gt;mesh&lt;&#x2F;code&gt; or &lt;code&gt;livekit&lt;&#x2F;code&gt;. This is still a WIP (exists as a PR) but should land soonish. Once that&#x27;s done Famedly has allowed td to port over the feature from Famedly to FluffyChat, so new VoIP stuff in FluffyChat soon!&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;We will also be giving a talk at Fosdem&#x27;24 about MatrixRTC so if you would like to know the technical details, you can find the details here: https:&#x2F;&#x2F;fosdem.org&#x2F;2024&#x2F;schedule&#x2F;event&#x2F;fosdem-2024-2876-matrixrtc-the-future-of-matrix-calls&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;blog&#x2F;img&#x2F;HDZWRHpfivXODpKRIgrJVXjf.png&quot; alt=&quot;famedly-ec-interop.png&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-sdks-and-frameworks&quot;&gt;Dept of SDKs and Frameworks 🧰&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;elm-matrix-sdk-website&quot;&gt;elm-matrix-sdk (&lt;a href=&quot;https:&#x2F;&#x2F;noordstar.github.io&#x2F;elm-matrix-sdk-beta&#x2F;&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@bram:matrix.directory&quot;&gt;Bram&lt;&#x2F;a&gt; reports&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Timeline is a very tricky data type to properly represent in immutable code, and support is very much needed! 😓 So in the meantime, I&#x27;ve spent some time trying to improve documentation, readability and code transparency. Hence I present the JSON docs viewer: https:&#x2F;&#x2F;noordstar.github.io&#x2F;elm-matrix-sdk-beta&#x2F;&lt;&#x2F;p&gt;
&lt;p&gt;The aim is to make all objects in the elm-matrix-sdk entirely translatable to and from JSON, for the following reasons:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;✅ Easier to debug&lt;&#x2F;li&gt;
&lt;li&gt;✅ Enables interoperability with JavaScript&lt;&#x2F;li&gt;
&lt;li&gt;✅ Improved transparency&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Take a look at &lt;a href=&quot;https:&#x2F;&#x2F;noordstar.github.io&#x2F;elm-matrix-sdk-beta&#x2F;&quot;&gt;the website&lt;&#x2F;a&gt;! All the Matrix API endpoints need JSON decoders so they should appear on the webpage soon as well, mostly mirroring the Matrix spec and hopefully replacing the current &lt;a href=&quot;https:&#x2F;&#x2F;matrix.directory&#x2F;&quot;&gt;Matrix Events Directory&lt;&#x2F;a&gt; in a bit longer.&lt;&#x2F;p&gt;
&lt;p&gt;Because of the two-ways encoding, every Elm type contains a JSON checkers that helps you debug how and whether your JSON is properly decoded or not - so feel free to try it out for yourself!&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;blog&#x2F;img&#x2F;XkgzkfurJOZtjbThGKlcIUFf.png&quot; alt=&quot;&quot; &#x2F;&gt;
&lt;img src=&quot;&#x2F;blog&#x2F;img&#x2F;aqRvOfRgSCtFqjRDSayVzvXp.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-ops&quot;&gt;Dept of Ops 🛠&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;matrix-docker-ansible-deploy-website&quot;&gt;matrix-docker-ansible-deploy (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;spantaleev&#x2F;matrix-docker-ansible-deploy&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;Matrix server setup using Ansible and Docker&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@slavi:devture.com&quot;&gt;Slavi&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Thanks to &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;cvwright&quot;&gt;Charles Wright&lt;&#x2F;a&gt; from &lt;a href=&quot;https:&#x2F;&#x2F;www.futo.org&#x2F;&quot;&gt;FUTO&lt;&#x2F;a&gt;, the creators of the &lt;a href=&quot;https:&#x2F;&#x2F;circu.li&#x2F;&quot;&gt;Circles app&lt;&#x2F;a&gt;, the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;spantaleev&#x2F;matrix-docker-ansible-deploy&quot;&gt;matrix-docker-ansible-deploy&lt;&#x2F;a&gt; Ansible playbook has &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;spantaleev&#x2F;matrix-docker-ansible-deploy&#x2F;pull&#x2F;3100&quot;&gt;received support&lt;&#x2F;a&gt; for load-balancing the Synapse workload via &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;spantaleev&#x2F;matrix-docker-ansible-deploy&#x2F;blob&#x2F;master&#x2F;docs&#x2F;configuring-playbook-synapse.md#specialized-workers&quot;&gt;specialized workers&lt;&#x2F;a&gt; which are supposed to work better than our old &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;spantaleev&#x2F;matrix-docker-ansible-deploy&#x2F;blob&#x2F;master&#x2F;docs&#x2F;configuring-playbook-synapse.md#generic-workers&quot;&gt;generic workers&lt;&#x2F;a&gt; implementation.&lt;&#x2F;p&gt;
&lt;p&gt;For now, playbook defaults remain unchanged and the &lt;code&gt;one-of-each&lt;&#x2F;code&gt; &lt;a href=&quot;https:&#x2F;&#x2F;f297f985.matrix-website.pages.dev&#x2F;blog&#x2F;2024&#x2F;01&#x2F;26&#x2F;this-week-in-matrix-2024-01-26&#x2F;.&#x2F;docs&#x2F;configuring-playbook-synapse.md#worker-presets&quot;&gt;workers preset&lt;&#x2F;a&gt; continues being the default. &lt;&#x2F;p&gt;
&lt;p&gt;Our specialized workers setup is based on recommendations found in &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;tcpipuk&quot;&gt;Tom Foster&lt;&#x2F;a&gt;&#x27;s &lt;a href=&quot;https:&#x2F;&#x2F;tcpipuk.github.io&#x2F;synapse&#x2F;index.html&quot;&gt;Synapse homeserver guide&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-events-and-talks&quot;&gt;Dept of Events and Talks 🗣️&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@kim:sosnowkadub.de&quot;&gt;HarHarLinks&lt;&#x2F;a&gt; reports&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;It is This Week in Matrix 2024-01-26, and that means it is only 1 more TWIM left before FOSDEM 2024!&lt;&#x2F;p&gt;
&lt;p&gt;That is, if you count next TWIM as &amp;quot;before&amp;quot;, because for the Matrix community, FOSDEM will start on Friday (2024-02-02) afternoon leading up to FOSDEM, as the Matrix Foundation and Community will host a &lt;a href=&quot;https:&#x2F;&#x2F;fosdem.org&#x2F;2024&#x2F;fringe&#x2F;&quot;&gt;FOSDEM Fringe&lt;&#x2F;a&gt; event called &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;%23fosdem2024-foundation-community-meetup:matrix.org&quot;&gt;#fosdem2024-foundation-community-meetup:matrix.org&lt;&#x2F;a&gt; at and with the support of &lt;a href=&quot;https:&#x2F;&#x2F;hsbxl.be&#x2F;enter&#x2F;&quot;&gt;Hackerspace Brussels&lt;&#x2F;a&gt;! Join the room to get &lt;em&gt;alllll the info&lt;&#x2F;em&gt;, such as the announcement that thanks to our sponsors we will be providing drinks 🍻 and food 🍕 for everyone (meaning most pizza will be vegetarian and there will also be vegan ones).&lt;&#x2F;p&gt;
&lt;p&gt;Further, there will be a booth on the floor and a &lt;a href=&quot;https:&#x2F;&#x2F;fosdem.org&#x2F;2024&#x2F;schedule&#x2F;event&#x2F;fosdem-2024-3345-opening-up-communication-silos-with-matrix-2-0-and-the-eu-digital-markets-act&#x2F;&quot;&gt;main track talk on Sunday morning&lt;&#x2F;a&gt; followed by a whole afternoon of Matrix presentations in the &lt;a href=&quot;https:&#x2F;&#x2F;fosdem.org&#x2F;2024&#x2F;schedule&#x2F;track&#x2F;matrix&#x2F;&quot;&gt;Matrix devroom&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;We would like everyone to be mindful of their own and everyone else&#x27;s health. Please get tested in advance and wear a mask if possible to reduce the risk of infection with both COVID and other &amp;quot;con flu&amp;quot;. If you feel unwell, please do not attend. We promise there will be more events during 2024.&lt;&#x2F;p&gt;
&lt;p&gt;So, in case you haven&#x27;t yet, this is your reminder to book your journey and accommodation, and meet you in Brussels!&lt;&#x2F;p&gt;
&lt;p&gt;Read Thib&#x27;s blog post for all the details at &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2024&#x2F;01&#x2F;matrix-presence-fosdem&#x2F;&quot;&gt;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2024&#x2F;01&#x2F;matrix-presence-fosdem&#x2F;&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@matthew:matrix.org&quot;&gt;Matthew&lt;&#x2F;a&gt; reports&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;the FOSDEM main stage schedule is published - our talk &amp;quot;Opening up communication silos with Matrix 2.0 and the EU Digital Markets Act&amp;quot; is on Sunday in Janson at 10am. Be there or be 🔳 &lt;a href=&quot;https:&#x2F;&#x2F;fosdem.org&#x2F;2024&#x2F;schedule&#x2F;event&#x2F;fosdem-2024-3345-opening-up-communication-silos-with-matrix-2-0-and-the-eu-digital-markets-act&#x2F;&quot;&gt;https:&#x2F;&#x2F;fosdem.org&#x2F;2024&#x2F;schedule&#x2F;event&#x2F;fosdem-2024-3345-opening-up-communication-silos-with-matrix-2-0-and-the-eu-digital-markets-act&#x2F;&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-interesting-projects&quot;&gt;Dept of Interesting Projects 🛰️&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;acter-website&quot;&gt;Acter (&lt;a href=&quot;https:&#x2F;&#x2F;acter.global&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@ben:acter.global&quot;&gt;ben&lt;&#x2F;a&gt; reports&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;h3 id=&quot;acter-v1-23-2126&quot;&gt;&lt;a href=&quot;https:&#x2F;&#x2F;next.acter.global&#x2F;post&#x2F;acter-v1-24-2126-back-on-the-stores-with-revamped-task-lists-labs-several-chat-improvements&quot;&gt;Acter v1.23.2126&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;After a few weeks of the release process being broken, this release is back and available on all the app stores. It brings several improvements and feature updates since the last TWiM post back in December. Most notably:
&lt;strong&gt;Tasks and TasksList have been overhauled&lt;&#x2F;strong&gt; as part of a holidays-special hackathon. They are still behind a default-off feature flag but the the UI has been completely renewed, you can now set the due-date and assign yourself and they will show up on your dashboard. Pretty neat.
On &lt;strong&gt;chat&lt;&#x2F;strong&gt; you can now properly toggle reactions and have more control over media downloads and won&#x27;t find HTML in message editing anymore. &lt;a href=&quot;https:&#x2F;&#x2F;next.acter.global&#x2F;post&#x2F;acter-v1-24-2126-back-on-the-stores-with-revamped-task-lists-labs-several-chat-improvements&quot;&gt;More in the extended blog post about this release&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;quests-for-2024-q1&quot;&gt;Quests for 2024 (Q1)&lt;&#x2F;h2&gt;
&lt;p&gt;Beyond what we have released, we have also published two blog posts last week regarding our planning process and the plans we have. &lt;a href=&quot;https:&#x2F;&#x2F;next.acter.global&#x2F;post&#x2F;quests-the-way-we-structure-our-work&quot;&gt;Long story short we define our work as main quest and side quests&lt;&#x2F;a&gt; we want to focus on in several chunks throughout the year. Those quests for product for the next quarter and for other areas over the next months &lt;a href=&quot;https:&#x2F;&#x2F;next.acter.global&#x2F;post&#x2F;quests-of-2024-q1&quot;&gt;we&#x27;ve outlined in this post last week&lt;&#x2F;a&gt;. On such quests I want to highlight is a new podcast series on digital activism starting in the next few weeks.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;At FOSDEM&lt;&#x2F;strong&gt;
If you want to chat with me in person at FOSDEM, I have to disappoint you: due to prior engagements I won&#x27;t be making it to the official Matrix Dev Room on Sunday. But I will be hanging around HSXL on Friday afternoon prior for the Matrix community hangout. DM me if you want to meet :) .&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;matrix-federation-stats&quot;&gt;Matrix Federation Stats&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@aine:etke.cc&quot;&gt;Aine&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;collected by &lt;a href=&quot;https:&#x2F;&#x2F;matrixrooms.info&quot;&gt;MatrixRooms.info&lt;&#x2F;a&gt; - an &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;mrs&#x2F;api&quot;&gt;MRS&lt;&#x2F;a&gt; instance by &lt;a href=&quot;https:&#x2F;&#x2F;etke.cc?utm_source=twim&amp;amp;utm_medium=matrix&amp;amp;utm_campaign=federation-stats&quot;&gt;etke.cc&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;As of today, &lt;code&gt;8605&lt;&#x2F;code&gt; Matrix federateable servers have been discovered by matrixrooms.info, &lt;code&gt;2384&lt;&#x2F;code&gt; (&lt;code&gt;27.7%&lt;&#x2F;code&gt;) of them are publishing their rooms directory over federation.
The published directories contain &lt;code&gt;167508&lt;&#x2F;code&gt; rooms.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;mrs&#x2F;api&#x2F;-&#x2F;blob&#x2F;main&#x2F;docs&#x2F;indexing.md&quot;&gt;How to add your server&lt;&#x2F;a&gt; | &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;mrs&#x2F;api&#x2F;-&#x2F;blob&#x2F;main&#x2F;docs&#x2F;deindexing.md&quot;&gt;How to remove your server&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-ping&quot;&gt;Dept of Ping&lt;&#x2F;h2&gt;
&lt;p&gt;Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;maubot&#x2F;echo&quot;&gt;pingbot&lt;&#x2F;a&gt;, a &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;maubot&#x2F;maubot&quot;&gt;maubot&lt;&#x2F;a&gt; that you can host on your own server.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;ping-maunium-net&quot;&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ping:maunium.net&quot;&gt;#ping:maunium.net&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;Join &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ping:maunium.net&quot;&gt;#ping:maunium.net&lt;&#x2F;a&gt; to experience the fun live, and to find out how to add YOUR server to the game.&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align: center&quot;&gt;Rank&lt;&#x2F;th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Hostname&lt;&#x2F;th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Median MS&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;1&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;maunium.net&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;274.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;2&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;nerdhouse.io&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;275.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;3&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;rom4nik.pl&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;278.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;4&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;envs.net&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;301&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;5&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;fostered.uk&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;309&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;6&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;ari.lt&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;332&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;7&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;pikaviestin.fi&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;363&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;8&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;plocki.org&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;368&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;9&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;aguiarvieira.pt&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;378&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;10&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;matrix.its-tps.fr&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;415&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h3 id=&quot;ping-no-synapse-maunium-net&quot;&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ping-no-synapse:maunium.net&quot;&gt;#ping-no-synapse:maunium.net&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;Join &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ping-no-synapse:maunium.net&quot;&gt;#ping-no-synapse:maunium.net&lt;&#x2F;a&gt; to experience the fun live, and to find out how to add YOUR server to the game.&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align: center&quot;&gt;Rank&lt;&#x2F;th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Hostname&lt;&#x2F;th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Median MS&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;1&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;neshweb.chat&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;152&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;2&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;nerdhouse.io&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;169&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;3&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;fostered.uk&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;170&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;4&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;ari.lt&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;181&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;5&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;matrix.its-tps.fr&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;196&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;6&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;dendrite.matrix.org&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;212&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;7&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;matrix.maymundere.org&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;221&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;8&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;dendrite.s3cr3t.me&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;476&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;9&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;kumma.juttu.asia&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;549&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;10&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;shiftsystems.net&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;878&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h2 id=&quot;that-s-all-i-know&quot;&gt;That&#x27;s all I know&lt;&#x2F;h2&gt;
&lt;p&gt;See you next week, and be sure to stop by &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#twim:matrix.org&quot;&gt;#twim:matrix.org&lt;&#x2F;a&gt; with your updates!&lt;&#x2F;p&gt;
</content>
</entry>

    
    
<entry xml:lang="en">
    <title>Open letter to EU Member States on the proposed CSA Regulation</title>
    <published>2024-01-22T00:00:00+00:00</published>
    <updated>2024-01-22T00:00:00+00:00</updated>
    <author>
      <name>
            Denise Almeida
          </name>
    </author>
    <link rel="alternate" href="https://f297f985.matrix-website.pages.dev/blog/2024/01/open-letter-csa/" type="text/html"/>
    <id>https://f297f985.matrix-website.pages.dev/blog/2024/01/open-letter-csa/</id>
    <content type="html">&lt;p&gt;We join our voices to technology companies, trade associations and other supporters in asking EU member states to align the Council&#x27;s position on the CSA Regulation to the position agreed by the Parliament.&lt;&#x2F;p&gt;
&lt;p&gt;Safeguarding encryption should be a priority in negotiations, ensuring the protection of rights and freedoms around privacy and security of communications.&lt;&#x2F;p&gt;
&lt;p&gt;A copy of the open letter sent to ministers can be read below.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;open-letter-to-eu-member-states-on-the-proposed-csa-regulation&quot;&gt;Open letter to EU Member States on the proposed CSA Regulation&lt;&#x2F;h2&gt;
&lt;p&gt;Dear Ministers of the Interior, Justice, and Economy of EU Member States,&lt;&#x2F;p&gt;
&lt;p&gt;We write to you as small and medium-sized companies and organizations from Europe, concerned about the proposal for a Regulation on Child Sexual Abuse (CSA). Collectively, we call on you to ensure that your country’s position on this file is brought as close as possible to the European Parliament’s (EP) one.
We all agree that ensuring children are safe online is one of the most important duties of tech companies and for this reason, we find the European Commission’s proposed Regulation extremely worrying. If it were implemented as proposed, it would negatively impact children’s privacy and security online, while also having dramatic unforeseen consequences on the EU cybersecurity landscape, on top of creating an ineffective administrative burden&lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#1&quot;&gt;1&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;.
The European Parliament recently adopted its position on the file, acknowledging that scanning technologies are not compatible with the aim of having confidential and secure communications.  The crucial changes it therefore puts forward for the proposal reflect the opinions of the European Data Protection Supervisor (EDPS), the Council legal services as well as countless experts in cryptography and cybersecurity&lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#2&quot;&gt;2&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;. It also reflects the opinion of between 63% and 69% of the companies, public authorities, NGOs and citizens consulted by the European Commission in its Impact Assessment&lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#3&quot;&gt;3&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;.
As small and medium-sized tech companies and organizations, we share their concerns as we know that looking for specific content – such as text, photos and videos – in an end-to-end encrypted communication would require the implementation of a backdoor, or of a similar technology called “client-side scanning”. Even if this mechanism is created with the purpose of fighting crime online, it would also quickly be used by criminals themselves, putting citizens and businesses more at risk online by creating vulnerabilities for all users alike.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;data-protection-is-a-strong-competitive-advantage&quot;&gt;Data protection is a strong competitive advantage&lt;&#x2F;h3&gt;
&lt;p&gt;As tech companies operating within the European Union, we have built products and services in line with the strong data protection framework of the EU which still serves as an example and inspiration across the world.&lt;&#x2F;p&gt;
&lt;p&gt;The GDPR allowed for the creation of ethical, privacy-first tech companies in Europe, that would otherwise never have been able to compete against Big Tech. It gave European companies a strong competitive advantage in that field internationally and allowed consumers to finally be able to find alternatives to American and Chinese services. Our users, both within the EU and beyond, have come to trust our commitment to safeguarding their data and this trust is a key driver of our competitiveness. The learning curve for adapting to the necessary administrative burden brought about by the GDPR was high but was worth it.
However, the CSA Regulation could threaten this unique selling point of European IT companies and would also add a new administrative burden which we fear could overwhelm both our companies and law enforcement bodies. Considering the volume of communications and content transiting through our services, even an insignificant error rate of the technologies applied to scan for abusive material would result in millions of false positives to be manually reviewed every day.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;the-csa-regulation-could-erode-trust-and-safety-online&quot;&gt;The CSA Regulation could erode trust and safety online&lt;&#x2F;h3&gt;
&lt;p&gt;In a world where data breaches and privacy scandals are increasingly common, the EU&#x27;s reputation for stringent data protection is a unique selling point for businesses operating within its borders. It provides us with a competitive edge, assuring our customers that their information is handled with the utmost care and integrity. This trust, once eroded, is challenging to rebuild, and any measures that compromise it such as mandatory scanning, or mandatory age verification have the potential to harm businesses both large and small.
Furthermore, the EU has recently adopted Regulation 2023&#x2F;2841, which mandates that EU Institutions and bodies to consider the use of end-to-end encryption among their cybersecurity risk-management measures. There are also multiple ‘cyber’ EU proposals currently on the table, such as the Cyber Resilience Act and the Cybersecurity Act. Supporting an opposite approach for the CSA Regulation would only undermine the EU cybersecurity framework creating a contradictory, incoherent and inefficient new set of measures that companies would not be able to enforce without putting citizens and businesses at risk.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;the-eu-parliament-s-proposal-goes-in-the-right-direction&quot;&gt;The EU Parliament&#x27;s proposal goes in the right direction&lt;&#x2F;h3&gt;
&lt;p&gt;Therefore, we applaud the European Parliament for its resolute stance in defending the European citizens&#x27; right to privacy and secure communication. The European Parliament’s commitment to these principles is not only a testament to its dedication to human rights, but also a beacon of hope for businesses like ours that prioritize data protection and security. The position of the Parliament includes alternatives to scanning which have a minimal impact on cybersecurity and data protection, and which experts believe would be both more effective and more efficient than mandatory scanning. Such changes of paradigm would mean going beyond the false dichotomy between privacy and security, while also making the proposal respect the proportionality principle, as requested by the Regulatory Scrutiny Board.
Even if not perfect in our eyes, the changes the European Parliament made in its position are a good compromise to maintain digital security and confidentiality and to better protect children online. We believe that these changes strike the right balance between child protection and safeguarding privacy and cybersecurity.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;As representatives of the vibrant European small businesses community, we encourage EU Member States to continue championing the values of privacy, cybersecurity and data protection. These principles not only align with the EU&#x27;s commitment to human rights, but also serve as a foundation for a thriving and competitive business environment. Let us defend and strengthen these principles, ensuring that the EU remains an advocate of privacy in the global marketplace.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;For these reasons we call on you to:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Ensure that Council’s position is aligned as closely as possible to the European Parliament’s. This will allow for a swifter adoption of the Regulation while building on the important work of the European Parliament.&lt;&#x2F;li&gt;
&lt;li&gt;Maintain the high level of fundamental rights - and in particular data protection – enjoyed by citizens in the European Union.&lt;&#x2F;li&gt;
&lt;li&gt;Refrain from forcing companies like us to conduct mass surveillance of private correspondence on behalf of law enforcement agencies.&lt;&#x2F;li&gt;
&lt;li&gt;Guarantee a high level of cybersecurity in the EU by protecting end-to-end encryption and bringing the necessary safeguards in the text. Client-side scanning and backdoors in particular should not be mandated.&lt;&#x2F;li&gt;
&lt;li&gt;Preserve the confidentiality of correspondence.&lt;&#x2F;li&gt;
&lt;li&gt;Minimize the administrative burden of the proposal by making it more effective and efficient, through alternatives to mass scanning.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Signed,&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Blacknight Solutions (Ireland) &lt;&#x2F;li&gt;
&lt;li&gt;Element (United Kingdom)&lt;&#x2F;li&gt;
&lt;li&gt;Mail.de GmbH (Germany)&lt;&#x2F;li&gt;
&lt;li&gt;Matrix Foundation (United Kingdom) &lt;&#x2F;li&gt;
&lt;li&gt;Nextcloud (Germany)&lt;&#x2F;li&gt;
&lt;li&gt;Open-Xchange (Germany) &lt;&#x2F;li&gt;
&lt;li&gt;Renvis (Greece) &lt;&#x2F;li&gt;
&lt;li&gt;TelemetryDeck (Germany) &lt;&#x2F;li&gt;
&lt;li&gt;Tresorit (Switzerland)&lt;&#x2F;li&gt;
&lt;li&gt;E Foundation (France) &lt;&#x2F;li&gt;
&lt;li&gt;Logilab (France) &lt;&#x2F;li&gt;
&lt;li&gt;Mailfence (Belgium) &lt;&#x2F;li&gt;
&lt;li&gt;Murena (France) &lt;&#x2F;li&gt;
&lt;li&gt;Olvid (France)&lt;&#x2F;li&gt;
&lt;li&gt;Proton (Switzerland) &lt;&#x2F;li&gt;
&lt;li&gt;Surfshark (Lithuania) &lt;&#x2F;li&gt;
&lt;li&gt;Threema (Switzerland) &lt;&#x2F;li&gt;
&lt;li&gt;Tuta (Germany)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Trade associations and supporters:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;ACT | The App Association &lt;&#x2F;li&gt;
&lt;li&gt;Defend Democracy&lt;&#x2F;li&gt;
&lt;li&gt;Gate 15 &lt;&#x2F;li&gt;
&lt;li&gt;Myntex&lt;&#x2F;li&gt;
&lt;li&gt;Quilibrium&lt;&#x2F;li&gt;
&lt;li&gt;Studio Legale Fabiano&lt;&#x2F;li&gt;
&lt;li&gt;Cyberstorm&lt;&#x2F;li&gt;
&lt;li&gt;Encryption Europe&lt;&#x2F;li&gt;
&lt;li&gt;ISOC-CAT&lt;&#x2F;li&gt;
&lt;li&gt;Privacy &amp;amp; Access Council of Canada&lt;&#x2F;li&gt;
&lt;li&gt;SecureCrypt&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;div class=&quot;footnote-definition&quot; id=&quot;1&quot;&gt;&lt;sup class=&quot;footnote-definition-label&quot;&gt;1&lt;&#x2F;sup&gt;
&lt;p&gt;A detailed summary of the proposal, drafted by the NGO EDRi, is available here: &lt;a href=&quot;https:&#x2F;&#x2F;edri.org&#x2F;our-work&#x2F;private-and-secure-communications-put-at-risk-by-european-commissions-latest-proposal&#x2F;&quot;&gt;https:&#x2F;&#x2F;edri.org&#x2F;our-work&#x2F;private-and-secure-communications-put-at-risk-by-european-commissions-latest-proposal&#x2F;&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;div class=&quot;footnote-definition&quot; id=&quot;2&quot;&gt;&lt;sup class=&quot;footnote-definition-label&quot;&gt;2&lt;&#x2F;sup&gt;
&lt;p&gt;For more information, you can read their statement from July 2023: &lt;a href=&quot;https:&#x2F;&#x2F;edri.org&#x2F;wp-content&#x2F;uploads&#x2F;2023&#x2F;07&#x2F;Open-Letter-CSA-Scientific-community.pdf&quot;&gt;https:&#x2F;&#x2F;edri.org&#x2F;wp-content&#x2F;uploads&#x2F;2023&#x2F;07&#x2F;Open-Letter-CSA-Scientific-community.pdf&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;div class=&quot;footnote-definition&quot; id=&quot;3&quot;&gt;&lt;sup class=&quot;footnote-definition-label&quot;&gt;3&lt;&#x2F;sup&gt;
&lt;p&gt;See in particular page 134 of the impact assessment: &lt;a href=&quot;https:&#x2F;&#x2F;eur-lex.europa.eu&#x2F;legal-content&#x2F;EN&#x2F;TXT&#x2F;PDF&#x2F;?uri=CELEX:52022SC0209&quot;&gt;https:&#x2F;&#x2F;eur-lex.europa.eu&#x2F;legal-content&#x2F;EN&#x2F;TXT&#x2F;PDF&#x2F;?uri=CELEX:52022SC0209&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
</content>
</entry>

    
    
<entry xml:lang="en">
    <title>This Week in Matrix 2024-01-19</title>
    <published>2024-01-19T00:00:00+00:00</published>
    <updated>2024-01-19T00:00:00+00:00</updated>
    <author>
      <name>
            Thib
          </name>
    </author>
    <link rel="alternate" href="https://f297f985.matrix-website.pages.dev/blog/2024/01/19/this-week-in-matrix-2024-01-19/" type="text/html"/>
    <id>https://f297f985.matrix-website.pages.dev/blog/2024/01/19/this-week-in-matrix-2024-01-19/</id>
    <content type="html">&lt;h2 id=&quot;matrix-live&quot;&gt;Matrix Live&lt;&#x2F;h2&gt;
&lt;noscript&gt;Today&#x27;s Matrix Live: &lt;a href=&quot;https:&#x2F;&#x2F;youtube.com&#x2F;watch?v=yCQX1IckgaE&quot;&gt;https:&#x2F;&#x2F;youtube.com&#x2F;watch?v=yCQX1IckgaE&lt;&#x2F;a&gt;&lt;&#x2F;noscript&gt;
&lt;youtube-player video-id=&quot;yCQX1IckgaE&quot;&gt;&lt;&#x2F;youtube-player&gt;
&lt;h2 id=&quot;dept-of-status-of-matrix-face-with-th&quot;&gt;Dept of &lt;em&gt;Status of Matrix&lt;&#x2F;em&gt; 🌡️&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@josh:josh.tel&quot;&gt;Josh Simmons&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Have you seen the &lt;a href=&quot;https:&#x2F;&#x2F;survey.stackoverflow.co&#x2F;2023&#x2F;#section-admired-and-desired-synchronous-tools&quot;&gt;Stack Overflow Developer Survey results&lt;&#x2F;a&gt; for 2023?!&lt;&#x2F;p&gt;
&lt;p&gt;Of the 83,830 folks surveyed, Matrix was the #1 chat tool in terms of current users&#x27; satisfaction. It was also rated as the most desirable among the open source tools with open governance, but there is a lot of room for improvement in awareness. We’re excited to build on this 2024! 🚀
&lt;img src=&quot;&#x2F;blog&#x2F;img&#x2F;91c38cc78477b571f0628e95a07b8ca525e3d2191747390913107197952.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;h2 id=&quot;dept-of-bridges-bridge-at-night&quot;&gt;Dept of Bridges 🌉&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@em:shema.lv&quot;&gt;Emīlija&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Matrix-Zulip bridge&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;I have made a bridge for Zulip.&lt;&#x2F;p&gt;
&lt;p&gt;It can:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Send text messages&lt;&#x2F;li&gt;
&lt;li&gt;Use Matrix puppeting&lt;&#x2F;li&gt;
&lt;li&gt;Translate between Zulip topics and Matrix threads&lt;&#x2F;li&gt;
&lt;li&gt;Bridge multiple organizations and streams&lt;&#x2F;li&gt;
&lt;li&gt;Bridge all topics from a stream to a single room&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;GearKite&#x2F;MatrixZulipBridge#matrixzulipbridge&quot;&gt;More details on GitHub&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-clients-iphone&quot;&gt;Dept of Clients 📱&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;schildichat-website&quot;&gt;SchildiChat (&lt;a href=&quot;https:&#x2F;&#x2F;schildi.chat&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;SchildiChat is a fork of Element that focuses on UI changes such as message bubbles and a unified chat list for both direct messages and groups, which is a more familiar approach to users of other popular instant messengers.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@spiritcroc:spiritcroc.de&quot;&gt;SpiritCroc&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;It&#x27;s been a while since I last posted here, so it&#x27;s about time I tell you more about the current state of SchildiChat for Android!&lt;&#x2F;p&gt;
&lt;p&gt;Last year was rather eventless when it comes to new features.
Since Element switched to maintenance mode for our upstream codebase, it didn&#x27;t make much sense to keep developing new features for it, since we&#x27;ll want to benefit from Element X&#x27;s performance improvements and the advantages of using Jetpack Compose as UI toolkit as well.
On the other hand, for most of last year, Element X didn&#x27;t feature enough basic functionality to start tweaking it to our likes.&lt;&#x2F;p&gt;
&lt;p&gt;This situation has changed towards the end of last year, and work has started on &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;SchildiChat&#x2F;schildichat-android-next&quot;&gt;SchildiChat Next&lt;&#x2F;a&gt;, a SchildiChat fork of Element X for Android.
It&#x27;s still very much work-in-progress (it even still welcomes you to &amp;quot;Element&amp;quot; during onboarding) and misses lots of our original features found in the old codebase.
Not all of these features will come back, but we may add some new ones in return.
Like usually, we focus on whatever makes sense to us and that we wished that Element had that&#x27;s in our scope to implement.&lt;&#x2F;p&gt;
&lt;p&gt;Now, since everybody will ask anyway what changes exactly we make, I&#x27;ll try to maintain an updated list &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;SchildiChat&#x2F;schildichat-android-next&#x2F;blob&#x2F;main&#x2F;FEATURES.md&quot;&gt;here&lt;&#x2F;a&gt;.
Some highlights of what has been done so far, apart from some mandatory theme and design changes to better match our taste:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Floating date header while scrolling messages&lt;&#x2F;li&gt;
&lt;li&gt;Sort room list by unread rooms first&lt;&#x2F;li&gt;
&lt;li&gt;Render media captions in accordance to &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2530&quot;&gt;MSC2530&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Render server-reported unread counts, including support for &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2654&quot;&gt;MSC2654&lt;&#x2F;a&gt; (if both your homeserver and your sliding-sync proxy support this MSC)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Furthermore, I&#x27;m currently working on filtering the room list by spaces, since this feature has become a must-have for me, but upstream space support is not expected to land soon.
I already added some basic implementation for hierarchical space filtering as experimental feature in current test builds.
However, there&#x27;s still work remaining, like properly reporting the filtered room list to the sliding window for sliding sync, respecting the user-chosen space sort order, and fixing &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;SchildiChat&#x2F;schildichat-android-next&#x2F;issues&#x2F;4&quot;&gt;remaining bugs&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;If you already want to try out SchildiChat Next before it&#x27;s ready for a stable release, it&#x27;s currently available in my &lt;a href=&quot;https:&#x2F;&#x2F;s2.spiritcroc.de&#x2F;testing&#x2F;fdroid&#x2F;repo&#x2F;&quot;&gt;F-Droid testing repository&lt;&#x2F;a&gt;.
For discussion, you can visit our matrix room at &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#android:schildi.chat&quot;&gt;#android:schildi.chat&lt;&#x2F;a&gt; .
&lt;img src=&quot;&#x2F;blog&#x2F;img&#x2F;NBYAUpxlauPpxooEBNVRPCor.png&quot; alt=&quot;&quot; &#x2F;&gt;
&lt;img src=&quot;&#x2F;blog&#x2F;img&#x2F;NXLBTXdPxiHZhdoJMkzKgWqC.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;fractal-website&quot;&gt;Fractal (&lt;a href=&quot;https:&#x2F;&#x2F;gitlab.gnome.org&#x2F;World&#x2F;fractal&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;Matrix messaging app for GNOME written in Rust.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@zecakeh:tedomum.net&quot;&gt;Kévin Commaille&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Fractal 6 is up and ready! &lt;&#x2F;p&gt;
&lt;p&gt;That&#x27;s right, barely 2 months after Fractal 5, we feel there have been enough improvements to grant a new stable release. You have probably noticed that we have adopted a version scheme similar to GNOME and will bump the major version with each new release.&lt;&#x2F;p&gt;
&lt;p&gt;The list of goodies:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Fractal can open Matrix URIs, it is even registered as a handler for the &lt;code&gt;matrix&lt;&#x2F;code&gt; scheme&lt;&#x2F;li&gt;
&lt;li&gt;The verification flow was rewritten, hopefully solving most verification issues&lt;&#x2F;li&gt;
&lt;li&gt;Room members can be kicked, banned or ignored from their profile&lt;&#x2F;li&gt;
&lt;li&gt;More notifications settings, global or per-room, were added&lt;&#x2F;li&gt;
&lt;li&gt;Times follow the format (12h or 24h) from the system settings&lt;&#x2F;li&gt;
&lt;li&gt;Tab auto-completion also works for mentioning public rooms, just start your query with &lt;code&gt;#&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;It is available right now on &lt;a href=&quot;https:&#x2F;&#x2F;flathub.org&#x2F;apps&#x2F;org.gnome.Fractal&quot;&gt;Flathub&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;This version is fully translated into 6 languages 🙌️ and we hope to get even more 📈 for the next one! Head over to &lt;a href=&quot;https:&#x2F;&#x2F;l10n.gnome.org&#x2F;module&#x2F;fractal&#x2F;&quot;&gt;Damned Lies&lt;&#x2F;a&gt; if you want to give a hand.&lt;&#x2F;p&gt;
&lt;p&gt;We would also like to thank our new and returning contributors and our upstream projects.&lt;&#x2F;p&gt;
&lt;p&gt;For our next iteration, we already have a bunch of accessibility improvements waiting, and we plan to continue improving the room settings and the moderation features. Any extra work &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.gnome.org&#x2F;GNOME&#x2F;fractal&#x2F;-&#x2F;issues&#x2F;?label_name%5B%5D=4.%20Newcomers&quot;&gt;from you 🫵️&lt;&#x2F;a&gt; will be highly valued!&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;blog&#x2F;img&#x2F;7386389379feef250a2fd74bf892217d743b48bc1748042859015045120.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;element-x-android-website&quot;&gt;Element X Android (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;vector-im&#x2F;element-x-android&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;Android Matrix messenger application using the Matrix Rust Sdk and Jetpack Compose &lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@benoit.marty:matrix.org&quot;&gt;benoit&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;We have released the version 0.4.1, more details about what&#x27;s new in the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;element-x-android&#x2F;releases&#x2F;tag&#x2F;v0.4.1&quot;&gt;release notes&lt;&#x2F;a&gt;. Will be in production next week.&lt;&#x2F;li&gt;
&lt;li&gt;Also working to publish the application to F-Droid, with support for push with UnifiedPush.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-sdks-and-frameworks&quot;&gt;Dept of SDKs and Frameworks 🧰&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;matrix-rust-sdk&quot;&gt;Matrix Rust SDK&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@bnjbvr:delire.party&quot;&gt;bnjbvr&lt;&#x2F;a&gt; reports&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Support for notifications in invited rooms has been added, thanks to zecakeh.&lt;&#x2F;li&gt;
&lt;li&gt;Failing to toggle a reaction will now properly report the error to the caller.&lt;&#x2F;li&gt;
&lt;li&gt;Many fixes and improvements in the crypto crates, notably for better Web support with indexeddb.&lt;&#x2F;li&gt;
&lt;li&gt;Read statuses for rooms are now properly computed client-side, giving better counts than homeservers can compute, viz. for encrypted rooms.&lt;&#x2F;li&gt;
&lt;li&gt;New commit and pull requests guidelines have been added to the contribution guidelines.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;matrix-nio&quot;&gt;matrix-nio&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@me:shahpaarth.com&quot;&gt;Paarth Shah&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;New release of &lt;code&gt;matrix-nio&lt;&#x2F;code&gt;! Most notable change is that some minimum dependencies have been bumped (for compatibility&#x2F;security purposes), and as a result &lt;code&gt;python3.12&lt;&#x2F;code&gt; is now fully supported and tested!
Full changelog &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;poljar&#x2F;matrix-nio&#x2F;blob&#x2F;main&#x2F;CHANGELOG.md#0240---2024-01-18&quot;&gt;here&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;trixnity-website&quot;&gt;Trixnity (&lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;trixnity&#x2F;trixnity&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;Multiplatform Kotlin SDK for Matrix&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@benedict:imbitbu.de&quot;&gt;Benedict&lt;&#x2F;a&gt; reports&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Trixnity v4.2.0 has been released with some polishing.&lt;&#x2F;p&gt;
&lt;p&gt;features&#x2F;improvements:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;loginWith&lt;&#x2F;code&gt; automatically gets profile information, which makes custom login easier&lt;&#x2F;li&gt;
&lt;li&gt;allow gracefully stopping ongoing sync request&lt;&#x2F;li&gt;
&lt;li&gt;BREAKING: cleaner hierarchy of &lt;code&gt;RoomMessageEventContent&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;introduced &lt;code&gt;FileBasedInfo&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;ActiveVerifications&lt;&#x2F;code&gt; as interface to allow mocking&lt;&#x2F;li&gt;
&lt;li&gt;don&#x27;t force type in MessageBuilder extensions&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-ops&quot;&gt;Dept of Ops 🛠&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;dendrite-admin-interface-website&quot;&gt;Dendrite-Admin-Interface (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;jjj333-p&#x2F;dendrite-admin-interface&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@jjj333:pain.agency&quot;&gt;jjj333_p (any pronouns)&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Dendrite-Admin-Interface&lt;&#x2F;strong&gt; is in its third release, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;jjj333-p&#x2F;dendrite-admin-interface&#x2F;releases&#x2F;tag&#x2F;v0.0.3&quot;&gt;v0.0.3&lt;&#x2F;a&gt;, and what I consider &lt;em&gt;useful&lt;&#x2F;em&gt; to some public&#x2F;group instances of Dendrite.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;What this includes&lt;&#x2F;strong&gt;: Along with the evacuate user&#x2F;room command previously announced, there is now a convenient reset password command as well as a deactivate user command. The deactivate user command is particularly useful as this feature does not exist natively in the Dendrite admin api, and it is able to set the user display name and profile image to something sanatized and indicative of a deactivated user for clarity--on par with industry standard chat platforms. Oh and I finally wrote up proper documentation for setting it up lol.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;What is to come?&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Media moderation - audo deletion, as well as manual deletion of users. when added to deactivate user command, this should comply with as close to a gdpr delete as we will get on the matrix platform. &lt;&#x2F;li&gt;
&lt;li&gt;Regex based user listing and deactivation - as per popular demand, one of the soon coming features for the interface to be able to fetch active users from the database (read only) and then perform mass actions on those, useful in situations such as spam bot attacks.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Remember to drop by our &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;jjj333-p&#x2F;dendrite-admin-interface&quot;&gt;Github&lt;&#x2F;a&gt; and throw your feature requests into an issue!&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;matrix-docker-ansible-deploy-website&quot;&gt;matrix-docker-ansible-deploy (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;spantaleev&#x2F;matrix-docker-ansible-deploy&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;Matrix server setup using Ansible and Docker&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@slavi:devture.com&quot;&gt;Slavi&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;After an insane amount of work, which we had been procrastinating on since &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;spantaleev&#x2F;matrix-docker-ansible-deploy&quot;&gt;matrix-docker-ansible-deploy&lt;&#x2F;a&gt;&#x27;s initial &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;spantaleev&#x2F;matrix-docker-ansible-deploy&#x2F;blob&#x2F;dbebe7c59825ad439ccf0939acf94bd01efbedbc&#x2F;CHANGELOG.md#traefik-is-the-default-reverse-proxy-now&quot;&gt;migration to Traefik&lt;&#x2F;a&gt; last year, we&#x27;re finally &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;spantaleev&#x2F;matrix-docker-ansible-deploy&#x2F;blob&#x2F;dbebe7c59825ad439ccf0939acf94bd01efbedbc&#x2F;CHANGELOG.md#goodbye-matrix-nginx-proxy-&quot;&gt;saying goodbye to the &lt;code&gt;matrix-nginx-proxy&lt;&#x2F;code&gt; component&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;This change represents a huge refactoring, not only in how services get exposed publicly (reverse-proxy-wise), but also in cross-container networking, Prometheus-metrics exposure, and other areas.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;matrix-nginx-proxy&lt;&#x2F;code&gt; has been very central to the Ansible playbook during its 7 years of life, performing at least 7 different roles and thus going against the &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Unix_philosophy&quot;&gt;UNIX philosophy&lt;&#x2F;a&gt; of &amp;quot;doing one thing and doing it well&amp;quot;. We&#x27;re happy to have untangled that whole mess and to finally see it gone! May it rest in peace! 🪦&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-bots-robot-face&quot;&gt;Dept of Bots 🤖&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;draupnir-website&quot;&gt;Draupnir (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;the-draupnir-project&#x2F;Draupnir&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@gnu_ponut:matrix.org&quot;&gt;Gnuxie 💜🐝&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;the-draupnir-project&#x2F;Draupnir&quot;&gt;Draupnir&lt;&#x2F;a&gt;, which is a moderation bot
that Matrix communities use to collaboratively protect each other,
is now licensed under the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;the-draupnir-project&#x2F;Draupnir&#x2F;blob&#x2F;main&#x2F;LICENSE&quot;&gt;AFL-3.0&lt;&#x2F;a&gt;
which is an OSI approved license.
Previously Draupnir was licensed under the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;the-draupnir-project&#x2F;Draupnir&#x2F;blob&#x2F;e4c02b96cdde2059abf907bdb486246f70357cf0&#x2F;LICENSE&quot;&gt;Cooperative Software License&lt;&#x2F;a&gt;,
details for the license change can be found &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;the-draupnir-project&#x2F;Draupnir&#x2F;issues&#x2F;176&quot;&gt;here&lt;&#x2F;a&gt;.
Docker images are now built with Node 20, though using Draupnir with Node 18 from source is still supported
and will be for the foreseeable future.
Both these changes come with the release of Draupnir 1.86.0, the full details of which can be found
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;the-draupnir-project&#x2F;Draupnir&#x2F;releases&#x2F;tag&#x2F;v1.86.0&quot;&gt;here&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;You have probably noticed that it has been three months since the last release, and this is because
I have been extracting and rearchitecting the core of Draupnir (and Mjolnir) into a TypeScript library
which Draupnir will depend upon in an upcoming release.
This library is called the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;Gnuxie&#x2F;matrix-protection-suite&quot;&gt;matrix-protection-suite&lt;&#x2F;a&gt;
and is being developed specifically to express Draupnir&#x27;s core concepts concisely.
In my view, it has become necessary to create this library because it has been very difficult to
maintain or consider adding features which lay on a foundation that is limiting,
and it is simpler to attempt to remedy that before addressing the bigger issues that Draupnir and
Mjolnir have. Each change to Draupnir can (and often does) exacerbate or complicate existing issues,
and this is mostly natural to software as it ages.&lt;&#x2F;p&gt;
&lt;p&gt;With that, you can come find us in &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#draupnir:matrix.org&quot;&gt;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#draupnir:matrix.org&lt;&#x2F;a&gt;.
I also want to thank everyone who has been providing support for others using Draupnir both
within &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#draupnir:matrix.org&quot;&gt;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#draupnir:matrix.org&lt;&#x2F;a&gt; and elsewhere.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-events-and-talks&quot;&gt;Dept of Events and Talks 🗣️&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@kim:sosnowkadub.de&quot;&gt;HarHarLinks&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;It is This Week in Matrix 2024-01-19, and that means it is only 2 more TWIMs until FOSDEM 2024!&lt;&#x2F;p&gt;
&lt;p&gt;This is a reminder that on Friday (2024-02-02) afternoon leading up to FOSDEM, the Matrix Foundation and Community will host a &lt;a href=&quot;https:&#x2F;&#x2F;fosdem.org&#x2F;2024&#x2F;fringe&#x2F;&quot;&gt;FOSDEM Fringe&lt;&#x2F;a&gt; event called &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#fosdem2024-foundation-community-meetup:matrix.org&quot;&gt;#fosdem2024-foundation-community-meetup:matrix.org&lt;&#x2F;a&gt; at and with the support of &lt;a href=&quot;https:&#x2F;&#x2F;hsbxl.be&#x2F;enter&#x2F;&quot;&gt;Hackerspace Brussels&lt;&#x2F;a&gt;!&lt;&#x2F;p&gt;
&lt;p&gt;Further, there will be a booth on the floor and a main track talk on Sunday morning followed by a whole afternoon of Matrix presentations in the &lt;a href=&quot;https:&#x2F;&#x2F;fosdem.org&#x2F;2024&#x2F;schedule&#x2F;track&#x2F;matrix&#x2F;&quot;&gt;Matrix devroom&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;So, in case you haven&#x27;t yet, this is your reminder to book your journey and accommodation, and meet you in Brussels!&lt;&#x2F;p&gt;
&lt;p&gt;Read Thib&#x27;s blog post for all the details at &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2024&#x2F;01&#x2F;matrix-presence-fosdem&#x2F;&quot;&gt;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2024&#x2F;01&#x2F;matrix-presence-fosdem&#x2F;&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-guides&quot;&gt;Dept of Guides 🧭&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;matrix-client-tutorial&quot;&gt;Matrix Client Tutorial&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@hubert:uhoreg.ca&quot;&gt;uhoreg&lt;&#x2F;a&gt; reports&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;I&#x27;ve completed the initial draft of the &lt;a href=&quot;https:&#x2F;&#x2F;uhoreg.gitlab.io&#x2F;matrix-tutorial&#x2F;tying_together_megolm.html#encrypting-room-events&quot;&gt;Megolm encryption section&lt;&#x2F;a&gt; of my client tutorial.  In contrast to the previous section I wrote on Megolm encryption, this section is higher-level, and shows how outbound Megolm sessions are managed and sent.  Up next will be a section on properly handling &lt;code&gt;m.room.encryption&lt;&#x2F;code&gt; events, and a simple example bot that handles encryption.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;matrix-federation-stats&quot;&gt;Matrix Federation Stats&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@aine:etke.cc&quot;&gt;Aine&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;collected by &lt;a href=&quot;https:&#x2F;&#x2F;matrixrooms.info&quot;&gt;MatrixRooms.info&lt;&#x2F;a&gt; - an &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;mrs&#x2F;api&quot;&gt;MRS&lt;&#x2F;a&gt; instance by &lt;a href=&quot;https:&#x2F;&#x2F;etke.cc?utm_source=twim&amp;amp;utm_medium=matrix&amp;amp;utm_campaign=federation-stats&quot;&gt;etke.cc&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;As of today, &lt;code&gt;8492&lt;&#x2F;code&gt; Matrix federateable servers have been discovered by matrixrooms.info, &lt;code&gt;2323&lt;&#x2F;code&gt; (&lt;code&gt;27.4%&lt;&#x2F;code&gt;) of them are publishing their rooms directory over federation.
The published directories contain &lt;code&gt;167178&lt;&#x2F;code&gt; rooms.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;mrs&#x2F;api&#x2F;-&#x2F;blob&#x2F;main&#x2F;docs&#x2F;indexing.md&quot;&gt;How to add your server&lt;&#x2F;a&gt; | &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;mrs&#x2F;api&#x2F;-&#x2F;blob&#x2F;main&#x2F;docs&#x2F;deindexing.md&quot;&gt;How to remove your server&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-ping&quot;&gt;Dept of Ping&lt;&#x2F;h2&gt;
&lt;p&gt;Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;maubot&#x2F;echo&quot;&gt;pingbot&lt;&#x2F;a&gt;, a &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;maubot&#x2F;maubot&quot;&gt;maubot&lt;&#x2F;a&gt; that you can host on your own server.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;ping-maunium-net&quot;&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ping:maunium.net&quot;&gt;#ping:maunium.net&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;Join &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ping:maunium.net&quot;&gt;#ping:maunium.net&lt;&#x2F;a&gt; to experience the fun live, and to find out how to add YOUR server to the game.&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align: center&quot;&gt;Rank&lt;&#x2F;th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Hostname&lt;&#x2F;th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Median MS&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;1&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;envs.net&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;221.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;2&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;nerdhouse.io&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;294&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;3&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;plocki.org&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;324&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;4&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;fostered.uk&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;348&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;5&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;ilmari.org&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;514.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;6&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;sulian.eu&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;543&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;7&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;shema.lv&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;752&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;8&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;matrix.sp-codes.de&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;802&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;9&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;rom4nik.pl&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;922&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;10&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;herkinf.de&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;932&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h3 id=&quot;ping-no-synapse-maunium-net&quot;&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ping-no-synapse:maunium.net&quot;&gt;#ping-no-synapse:maunium.net&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;Join &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ping-no-synapse:maunium.net&quot;&gt;#ping-no-synapse:maunium.net&lt;&#x2F;a&gt; to experience the fun live, and to find out how to add YOUR server to the game.&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align: center&quot;&gt;Rank&lt;&#x2F;th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Hostname&lt;&#x2F;th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Median MS&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;1&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;nerdhouse.io&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;127.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;2&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;dendrite.s3cr3t.me&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;159&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;3&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;matrix.its-tps.fr&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;182&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;4&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;matrix.maymundere.org&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;219&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;5&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;dendrite.matrix.org&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;305.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;6&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;inu.is&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;310&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;7&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;neshweb.chat&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;324&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;8&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;darkness.services&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;531&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;9&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;herkinf.de&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;936.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;10&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;jpeg.city&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;1011.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h2 id=&quot;that-s-all-i-know&quot;&gt;That&#x27;s all I know&lt;&#x2F;h2&gt;
&lt;p&gt;See you next week, and be sure to stop by &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#twim:matrix.org&quot;&gt;#twim:matrix.org&lt;&#x2F;a&gt; with your updates!&lt;&#x2F;p&gt;
</content>
</entry>

    
    
<entry xml:lang="en">
    <title>This Week in Matrix 2024-01-12</title>
    <published>2024-01-12T00:00:00+00:00</published>
    <updated>2024-01-12T00:00:00+00:00</updated>
    <author>
      <name>
            Thib
          </name>
    </author>
    <link rel="alternate" href="https://f297f985.matrix-website.pages.dev/blog/2024/01/12/this-week-in-matrix-2024-01-12/" type="text/html"/>
    <id>https://f297f985.matrix-website.pages.dev/blog/2024/01/12/this-week-in-matrix-2024-01-12/</id>
    <content type="html">&lt;h2 id=&quot;matrix-live&quot;&gt;Matrix Live&lt;&#x2F;h2&gt;
&lt;p&gt;No Matrix Live this week, but &lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;playlist?list=PLl5dnxRMP1hXHswESs8M9mJFgPjclhQDp&quot;&gt;a YouTube playlist of the Matrix talks given at FrOSCon&lt;&#x2F;a&gt;!&lt;&#x2F;p&gt;
&lt;h2 id=&quot;dept-of-spec-scroll&quot;&gt;Dept of Spec 📜&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@andrewm:element.io&quot;&gt;Andrew Morgan (anoa)&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Here&#x27;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 &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;proposals&quot;&gt;https:&#x2F;&#x2F;spec.matrix.org&#x2F;proposals&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;msc-status&quot;&gt;MSC Status&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;New MSCs:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;There were no new MSCs this week.&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;MSCs in Final Comment Period:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3981&quot;&gt;MSC3981: &lt;code&gt;&#x2F;relations&lt;&#x2F;code&gt; recursion&lt;&#x2F;a&gt; (merge)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Accepted MSCs:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;No MSCs were accepted this week.&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Closed MSCs:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;No MSCs were closed&#x2F;rejected this week.&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;spec-update&quot;&gt;Spec Update&lt;&#x2F;h3&gt;
&lt;p&gt;For those familiar with Travis&#x27; weekly task lists of MSCs for the Spec Core Team to review in the &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#sct-office:matrix.org&quot;&gt;Office of the Matrix Spec Core Team room&lt;&#x2F;a&gt;, a new weekly list is now being posted in the &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;!KzgjYxOASBbBMrtCXC:matrix.org&#x2F;$QqpbS4hdFuxy6vPIz80eeGjnGXwJWJInMJFlNqG7y98?via=matrix.org&amp;amp;via=element.io&amp;amp;via=envs.net&quot;&gt;Matrix Spec &amp;amp; Docs Authoring room&lt;&#x2F;a&gt;. This list is aimed at technical writers who can help by converting MSC authors&#x27; words into PRs against the spec text itself.&lt;&#x2F;p&gt;
&lt;p&gt;This is the final step for getting an MSC integrated into a new release of the Matrix spec, and anyone can try their hand at it! It would also very much help the Spec Core Team by freeing up more bandwidth for review of the MSC backlog, as well as push forward the protocol itself. Thank you!&lt;&#x2F;p&gt;
&lt;p&gt;If you have any questions, feel free to ask them in the relevant Matrix rooms.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;random-msc-of-the-week&quot;&gt;Random MSC of the Week&lt;&#x2F;h3&gt;
&lt;p&gt;The random MSC of the week is... &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4003&quot;&gt;MSC4003: Semantic table attributes&lt;&#x2F;a&gt;!&lt;&#x2F;p&gt;
&lt;p&gt;This MSC proposes expanding the set of suggested, interpreted HTML tags in Matrix clients to include additional tags related to tables. With them, more control over table rendering is possible. The proposal itself includes one such (albeit fairly arbitrary) example&lt;&#x2F;p&gt;
&lt;p&gt;The proposal is well-written and straight-forward, so do feel free to have a look if the subject interests you!&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;h2 id=&quot;dept-of-servers-europea&quot;&gt;Dept of Servers 🏢&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;synapse-website&quot;&gt;Synapse (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;synapse&#x2F;&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;Synapse is a Matrix homeserver implementation developed by Element&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@erikj:jki.re&quot;&gt;Erik&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;This week the Synapse team has released &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;synapse&#x2F;releases&#x2F;tag&#x2F;v1.99.0rc1&quot;&gt;v1.99.0rc1&lt;&#x2F;a&gt;! This is the first release under the new AGPL3 license (see the &lt;a href=&quot;https:&#x2F;&#x2F;element.io&#x2F;blog&#x2F;synapse-now-lives-at-github-com-element-hq-synapse&#x2F;&quot;&gt;blog post &lt;&#x2F;a&gt; if you haven&#x27;t already). The new release is mostly bugfixes and minor performance improvements, but also include some new configuration options.&lt;&#x2F;p&gt;
&lt;p&gt;Thanks to &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;zeeshanrafiqrana&quot;&gt;@zeeshanrafiqrana&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;Dmytro27Ind&quot;&gt;@Dmytro27Ind&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;loelkes&quot;&gt;@loelkes&lt;&#x2F;a&gt; for their contributions to this release!&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-clients-iphone&quot;&gt;Dept of Clients 📱&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;quaternion-website&quot;&gt;Quaternion (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;quotient-im&#x2F;Quaternion&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;A Qt5-based IM client for Matrix&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@kitsune:matrix.org&quot;&gt;kitsune&lt;&#x2F;a&gt; reports&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;h3 id=&quot;quaternion-0-0-96&quot;&gt;Quaternion 0.0.96&lt;&#x2F;h3&gt;
&lt;p&gt;After another two-year wait, the new claimed-stable version of Quaternion is out! Although &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;quotient-im&#x2F;Quaternion&#x2F;releases&#x2F;tag&#x2F;0.0.96&quot;&gt;release notes&lt;&#x2F;a&gt; put beta E2EE support as the biggest thing, in fact the biggest thing is that stable Quaternion is finally on par with NeoChat in running on the most recent libQuotient (0.8.x, that is). Packagers who were sitting back waiting for this to happen (yes, Debian) - it&#x27;s now time to really get to work and update both libQuotient and Quaternion.
Otherwise, it&#x27;s pretty much the same minimalistic and fast desktop client as it used to be. Packages for Windows and macOS are next to release notes, Flatpaks have been published a few minutes ago - go and grab it!&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;nheko-website&quot;&gt;Nheko (&lt;a href=&quot;https:&#x2F;&#x2F;nheko-reborn.github.io&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;Desktop client for Matrix using Qt and C++17.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@deepbluev7:neko.dev&quot;&gt;Nico&lt;&#x2F;a&gt; reports&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Well, this week I should have really been doing other stuff, but I did not!&lt;&#x2F;p&gt;
&lt;p&gt;First of all we sent out a call to update the translations. Apparently that was quite successful, there are like 20 commits with translation updates from the last 2 days now... If you find your language to be out of date, don&#x27;t hesitate to jump on &lt;a href=&quot;https:&#x2F;&#x2F;weblate.nheko.im&#x2F;projects&#x2F;nheko&#x2F;nheko-master&#x2F;&quot;&gt;https:&#x2F;&#x2F;weblate.nheko.im&#x2F;projects&#x2F;nheko&#x2F;nheko-master&#x2F;&lt;&#x2F;a&gt; to fix it.&lt;&#x2F;p&gt;
&lt;p&gt;Because telling other people what to do is quite exhausting, I needed some time to relax. So I spent all night optimizing the room switching logic. Specifically because of how ListView works in Qml, the timeline used to render about 100 messages when switching a room, when instead only 10 or so can be visible at one. This is for the simple fact, that an incomplete message has a size of 0, so the ListView tries to fill the timeline with more messages. That can easily be worked around by setting an incomplete message size to something reasonable like 100. In most cases they do need more space than that and if they don&#x27;t, the ListView will quickly notice. As a result switching rooms is now about 10 times faster.&lt;&#x2F;p&gt;
&lt;p&gt;Another fun thing slowing down room switching were video messages. Obviously those take a long time to display, I thought, it is a video after all. But do you know why that is slow? Well, it takes about 5ms to load the video and 500ms to find the audio output... So that is clearly stupid, why would we spend 100 times as much time on looking for an audio output, when the user isn&#x27;t even playing the video yet? So we now only initialize the audio output, when a user clicks the play button, which makes scrolling much smoother. If only I had investigated that years ago instead of just brushing it off as &amp;quot;probably normal&amp;quot;... We now also show you if the video is already downloaded instead of making you click the download button first just to immediately ask you to click play.&lt;&#x2F;p&gt;
&lt;p&gt;Another thing that has been bugging me endlessly... you couldn&#x27;t really use the arrow keys in most cases on macOS. This meant &amp;quot;up&amp;quot; to edit, &amp;quot;Ctrl+up&amp;quot; to switch rooms, etc didn&#x27;t work. Turns out macOS keys are just weird. They actually send &amp;quot;Num+up&amp;quot; when you press up, making Nheko think you are using the numpad. Anyway, after years this is fixed now.&lt;&#x2F;p&gt;
&lt;p&gt;Annoyed by always mistyping the password on the Steam Deck, Bubu added a button to show you the text you just entered. Meanwhile q234rty improved our hack to make the color palette work in windows in cases where the window pointer gets reused. We also now have arm flatpaks again for the nightlies. Since my new arm board never arrived (because communication is hard!), we now spend 3h cross-compiling it... Duam also added a toggle to disable swipe gestures. You can also now delete image packs (thanks to Emma) and there is a &#x2F;command to ignore people now and a button on invites thanks to NepNep!&lt;&#x2F;p&gt;
&lt;p&gt;That&#x27;s all, I now really need to work on the things that have been piling up... otoh, look, shiny food!&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;element-x-ios-website&quot;&gt;Element X iOS (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;vector-im&#x2F;element-x-ios&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@stefan.ceriu:matrix.org&quot;&gt;Ștefan&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;We&#x27;re ramping back up after the holidays and first on our list are whatever bugs didn&#x27;t want to stay in 2023.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;element-x-ios&#x2F;pull&#x2F;2295&quot;&gt;Fixed issues around timeline items flickering&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Improved text handling on the message composer in &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;element-x-ios&#x2F;pull&#x2F;2297&quot;&gt;1&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;element-x-ios&#x2F;pull&#x2F;2327&quot;&gt;2&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-rich-text-editor&#x2F;pull&#x2F;922&quot;&gt;dictation on iOS 17+&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;element-x-ios&#x2F;pull&#x2F;2307&quot;&gt;Fixed the reporting screen not being displayed&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;element-x-ios&#x2F;pull&#x2F;2323&quot;&gt;Fixed draft composed messages being lost unexpectedly&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;element-x-ios&#x2F;pull&#x2F;2298&quot;&gt;Completed our monthly notification placeholder rotation dance&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;element-x-ios&#x2F;pull&#x2F;2324&quot;&gt;The app is now faster in loading member profiles&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;and we might even have a &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;element-x-ios&#x2F;pull&#x2F;2301&quot;&gt;workaround for one of our biggest crashers&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Note: none of the items above are available in a release build yet. Please see our &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;element-x-ios&#x2F;releases&quot;&gt;releases page&lt;&#x2F;a&gt; for details.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-sdks-and-frameworks&quot;&gt;Dept of SDKs and Frameworks 🧰&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;rory-libmatrix-net-8-matrix-bot-client-library-sdk-website&quot;&gt;Rory&amp;amp;::LibMatrix (.NET 8 matrix bot&#x2F;client library&#x2F;SDK) (&lt;a href=&quot;https:&#x2F;&#x2F;cgit.rory.gay&#x2F;matrix&#x2F;LibMatrix.git&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@emma:conduit.rory.gay&quot;&gt;Emma [it&#x2F;its] ⚡️&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Any help I can get is super appreciated!&lt;&#x2F;p&gt;
&lt;h2 id=&quot;changes&quot;&gt;Changes&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;RemoteHomeserver now has a way to &lt;em&gt;attempt&lt;&#x2F;em&gt; to create an instance without throwing if it fails&lt;&#x2F;li&gt;
&lt;li&gt;Initial sync detection is more reliable now and requires less retries&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;new-features&quot;&gt;New features&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Messages can now be dynamically built (see &lt;code&gt;MessageBuilder&lt;&#x2F;code&gt;, the message factory implementation), maybe I&#x27;ll be using it to post these next time?&lt;&#x2F;li&gt;
&lt;li&gt;Some event types now have User-Interface-friendly names (mainly policy types)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;And, as always:&lt;&#x2F;strong&gt;&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;The code is available at &lt;a href=&quot;https:&#x2F;&#x2F;cgit.rory.gay&#x2F;matrix&#x2F;LibMatrix.git&quot;&gt;cgit.rory.gay&lt;&#x2F;a&gt;!
&lt;ul&gt;
&lt;li&gt;All contributions are more than welcome, be it documentation, code, anything! Perhaps, example usecases, bots, ...?&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Discussion, suggestions and ideas are welcome in &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#libmatrix:rory.gay&quot;&gt;#libmatrix:rory.gay&lt;&#x2F;a&gt; (Space: &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#mru-space:rory.gay&quot;&gt;#mru-space:rory.gay&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Got a cool project that you&#x27;re working on and want to share, using LibMatrix? Be sure to let me know, I&#x27;d love to hear all about it!&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;elm-matrix-sdk-website&quot;&gt;elm-matrix-sdk (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;noordstar&#x2F;elm-matrix-sdk-beta&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@bram:matrix.directory&quot;&gt;Bram&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;This week has a relatively small update: a &lt;a href=&quot;https:&#x2F;&#x2F;package.elm-lang.org&#x2F;packages&#x2F;noordstar&#x2F;elm-matrix-sdk-beta&#x2F;2.1.1&#x2F;&quot;&gt;patch update 2.1.1&lt;&#x2F;a&gt; that, given Elm&#x27;s enforced semantic versioning, means there&#x27;s no API changes! Only internal ones.&lt;&#x2F;p&gt;
&lt;p&gt;The main development is taking place in a separate branch, which creates the timeline. ⏲️ This is quite a difficult part of the SDK which takes some serious architecture to figure out! If you&#x27;re curious, then &lt;a href=&quot;https:&#x2F;&#x2F;blog.neko.dev&#x2F;posts&#x2F;nhekos-event-store-v2.html&quot;&gt;Nico&#x27;s blog post&lt;&#x2F;a&gt; is a good example of a timeline design and the complexity that it requires.&lt;&#x2F;p&gt;
&lt;p&gt;If you would like to see more about the timeline design, join the conversation at &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#elm-sdk:matrix.org&quot;&gt;#elm-sdk:matrix.org&lt;&#x2F;a&gt; and feel free to offer help and&#x2F;or tips about how to design the timeline.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;matrix-rust-sdk-website&quot;&gt;matrix-rust-sdk (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-rust-sdk&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;Next-gen crypto-included SDK for developing Clients, Bots and Appservices; written in Rust with bindings for Node, Swift and WASM&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@bnjbvr:delire.party&quot;&gt;bnjbvr&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;A few days late, we&#x27;re happy to announce that we&#x27;ve shipped the 0.7.0 release of the Matrix Rust SDK 🥳 As a reminder, this SDK powers next generation Matrix clients, like &lt;a href=&quot;https:&#x2F;&#x2F;wiki.gnome.org&#x2F;Apps&#x2F;Fractal&quot;&gt;Fractal&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;ulyssa&#x2F;iamb&quot;&gt;iamb&lt;&#x2F;a&gt; or the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;vector-im&#x2F;element-x-android&#x2F;&quot;&gt;Element X&lt;&#x2F;a&gt; &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;vector-im&#x2F;element-x-ios&#x2F;&quot;&gt;apps&lt;&#x2F;a&gt;, among others.&lt;&#x2F;p&gt;
&lt;p&gt;This has been the first release for a long long time (the last one was around mid October 2022), so there are plenty of new features including, but not limited to:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;added sqlite as a storage backend, that becomes the new default over &lt;code&gt;sled&lt;&#x2F;code&gt; (which has been removed),&lt;&#x2F;li&gt;
&lt;li&gt;support for authentication via OpenID Connect (aka OIDC), allowing simplified sign-in management when running along the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-authentication-service&quot;&gt;Matrix Authentication Service&lt;&#x2F;a&gt;,&lt;&#x2F;li&gt;
&lt;li&gt;client support for the unreasonably fast &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3575&quot;&gt;MSC3575 aka Sliding Sync&lt;&#x2F;a&gt;, for instant room list synchronization (*requires a server supporting it),&lt;&#x2F;li&gt;
&lt;li&gt;many new cryptography features, including secret storage, initial support for dehydrated devices, key backup support, automatic cross-device signing setup, and so on and so forth, as well as many bugfixes and performance improvements&lt;&#x2F;li&gt;
&lt;li&gt;an exciting new crate implementing opinionated high-level features making it easier to build clients: the &lt;a href=&quot;https:&#x2F;&#x2F;docs.rs&#x2F;matrix-sdk-ui&#x2F;latest&#x2F;matrix_sdk_ui&#x2F;index.html&quot;&gt;matrix-sdk-ui&lt;&#x2F;a&gt;. Use the new &lt;code&gt;RoomListService&lt;&#x2F;code&gt; and &lt;code&gt;EncryptionService&lt;&#x2F;code&gt;, and get a fully functional, high performance client using Sliding Sync by default in no time!&lt;&#x2F;li&gt;
&lt;li&gt;work on FFI bindings for the Rust SDK to be used in Swift and Kotlin code bases,&lt;&#x2F;li&gt;
&lt;li&gt;generally more support for client-server APIs: notification settings, read receipts and markers, and so on.&lt;&#x2F;li&gt;
&lt;li&gt;and your usual load of numerous simplifications of the existing public APIs, refactorings, performance improvements, etc.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;The rest of our changelog contains more details for each crate: &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-rust-sdk&#x2F;blob&#x2F;main&#x2F;crates&#x2F;matrix-sdk&#x2F;CHANGELOG.md#070&quot;&gt;matrix-sdk&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-rust-sdk&#x2F;blob&#x2F;main&#x2F;crates&#x2F;matrix-sdk-base&#x2F;CHANGELOG.md&quot;&gt;matrix-sdk-base&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-rust-sdk&#x2F;blob&#x2F;main&#x2F;crates&#x2F;matrix-sdk-crypto&#x2F;CHANGELOG.md&quot;&gt;matrix-sdk-crypto&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Thanks to all the contributors of this release ❤️
Happy hacking! 🦀&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-bots-robot-face&quot;&gt;Dept of Bots 🤖&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;spam-police-website&quot;&gt;Spam Police (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;jjj333-p&#x2F;spam-police&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@jjj333:pain.agency&quot;&gt;jjj333_p (any pronouns)&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Meet Spam Police, the moderation bot that is new to the scene, now in its first stable release! It has been a long time coming (~2 years), but in my defense I (the main and pretty much only dev) am a full time college student and this has been a project that I hack away at during vacation.&lt;&#x2F;p&gt;
&lt;p&gt;Spam Police began because about 2 years ago the Matrix platform began experiencing the growing pain of becoming somewhat mainstream of being periodically flooded with scam posts. As someone who has fought scammers since my early teens, I was driven to get to work on a bot that would detect these scams in abandoned rooms and post a warning, as well as logging these posts to a room so that the moderation groups I was apart of could add the scam accounts to their banlists. As I left those groups for various personal reasons I made the decision to turn &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#jjj-tg-scams:matrix.org&quot;&gt;#jjj-tg-scams:matrix.org&lt;&#x2F;a&gt; into a Mjolnir compatible banlist, however during my time in said moderation communities I learned about a lot of the drawbacks of Mjolnir&#x2F;Drapunir and made the decision to make my own attempt at a true moderation bot.&lt;&#x2F;p&gt;
&lt;p&gt;Spam police is aimed to be a Mjolnir replacement for small communities or ones migrating from other platforms and don’t want to selfhost. Currently the only noteworthy features of Spam Police is Mjolnir-type banlist writing and following, and automatic maintenance of &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#jjj-tg-scams:matrix.org&quot;&gt;#jjj-tg-scams:matrix.org&lt;&#x2F;a&gt;, however a lot of the work that has been put into Spam Police has been into making it very easily extensible, so there is more to come! Spam Police can be selfhosted as it is AGPLv3 (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;jjj333-p&#x2F;spam-police&quot;&gt;https:&#x2F;&#x2F;github.com&#x2F;jjj333-p&#x2F;spam-police&lt;&#x2F;a&gt;), however it is intended to be run in a more centralized manner, filling the gaps that Drapunir leaves for those not wishing to selfhost, or looking for an experience more familiar to the moderation bots on Discord. With this first release I &lt;del&gt;hope&lt;&#x2F;del&gt; expect that while Spam Police is still somewhat limited in features it is prepared for general public use in it’s designed use-case.&lt;&#x2F;p&gt;
&lt;p&gt;If you have any questions feel free to join &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#anti-scam-support:matrix.org&quot;&gt;#anti-scam-support:matrix.org&lt;&#x2F;a&gt; and feel free to lurk in &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#jjj-tg-scams:matrix.org&quot;&gt;#jjj-tg-scams:matrix.org&lt;&#x2F;a&gt; and watch its scam detection process in action! And don’t forget to check out our github &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;jjj333-p&#x2F;spam-police&quot;&gt;https:&#x2F;&#x2F;github.com&#x2F;jjj333-p&#x2F;spam-police&lt;&#x2F;a&gt; for more information and a command&#x2F;usage guide.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;matrix-reminder-bot-website&quot;&gt;Matrix Reminder Bot (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;anoadragon453&#x2F;matrix-reminder-bot&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@kim:sosnowkadub.de&quot;&gt;HarHarLinks&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Matrix Reminder Bot is a small standalone bot with which you can set and receive reminders for yourself or your rooms over Matrix written in Python using &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;poljar&#x2F;matrix-nio&#x2F;&quot;&gt;matrix-nio&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;If you have attended  Matrix (community) events in the past &lt;a href=&quot;https:&#x2F;&#x2F;cfp.summit2022.matrixmeetup.de&#x2F;matrix-summit-conference-2022&#x2F;talk&#x2F;WTWWZ8&#x2F;&quot;&gt;you might have&lt;&#x2F;a&gt; heard me &lt;del&gt;ranting&lt;&#x2F;del&gt; &lt;a href=&quot;https:&#x2F;&#x2F;programm.froscon.org&#x2F;2023&#x2F;events&#x2F;2985.html&quot;&gt;talking about&lt;&#x2F;a&gt; it &lt;a href=&quot;https:&#x2F;&#x2F;summit2023.matrixmeetup.de&#x2F;conference&#x2F;talk&#x2F;DUK9YE&#x2F;&quot;&gt;before&lt;&#x2F;a&gt;, among other similar small tools.&lt;&#x2F;p&gt;
&lt;p&gt;I still use it quite a lot, despite not too much activity on the codebase with the last release dating back to July 2021.
Anoa, the original author, recently granted me maintainership on the repo, which is why I am happy to share some news about it with you today:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;We have released &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;anoadragon453&#x2F;matrix-reminder-bot&#x2F;releases&#x2F;tag&#x2F;v0.3.0&quot;&gt;v0.3.0&lt;&#x2F;a&gt; of Matrix Reminder Bot!&lt;&#x2F;strong&gt;
You can find the release artifacts in the usual places: &lt;a href=&quot;https:&#x2F;&#x2F;pypi.org&#x2F;project&#x2F;matrix-reminder-bot&#x2F;&quot;&gt;PyPI&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;hub.docker.com&#x2F;r&#x2F;anoa&#x2F;matrix-reminder-bot&quot;&gt;Docker Hub&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;anoadragon453&#x2F;matrix-reminder-bot&#x2F;pkgs&#x2F;container&#x2F;matrix-reminder-bot&quot;&gt;GHCR&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;In December, reminder bot received a very notable contribution from &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;svierne&quot;&gt;@svierne&lt;&#x2F;a&gt;: It is now possible to configure who may or may not interact with your instance of the bot!
This change will mandate that you update your bot&#x27;s configuration once you update, because we deem it important for administrators to manage the access to their services. The provided example configuration file has been updated to reflect this and defaults to the previous setting, but we suggest you consider limiting access.&lt;&#x2F;p&gt;
&lt;p&gt;A key functionality that allows the bot to work, is sending notifications to specific people. This was historically done by literally mentioning their name, which lead to some grief when unintentionally mentioning people. MSC3952: Intentional Mentions tries to address this issue and was included in Matrix Spec v1.7. Again thanks to &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;svierne&quot;&gt;@svierne&lt;&#x2F;a&gt;, reminders will now use this new field correctly to notify you of your reminders!&lt;&#x2F;p&gt;
&lt;p&gt;Beyond that, I started to remove the cobwebs of 2 years inactivity by updating dependencies, adding CI, etc. Notably, that makes pre-built docker images available not only on &lt;a href=&quot;https:&#x2F;&#x2F;hub.docker.com&#x2F;r&#x2F;anoa&#x2F;matrix-reminder-bot&quot;&gt;Docker Hub&lt;&#x2F;a&gt; like they always were, but also on &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;anoadragon453&#x2F;matrix-reminder-bot&#x2F;pkgs&#x2F;container&#x2F;matrix-reminder-bot&quot;&gt;GHCR&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;If you have any questions or want to follow the project, you can find the repo &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;anoadragon453&#x2F;matrix-reminder-bot&quot;&gt;here&lt;&#x2F;a&gt; and a dedicated room at &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#matrix-reminder-bot:matrix.org&quot;&gt;#matrix-reminder-bot:matrix.org&lt;&#x2F;a&gt; (we also have a Hookshot for it now!).&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-events-and-talks&quot;&gt;Dept of Events and Talks 🗣️&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;fosdem-2024-website&quot;&gt;FOSDEM 2024 (&lt;a href=&quot;https:&#x2F;&#x2F;fosdem.org&#x2F;2024&#x2F;&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@thib:ergaster.org&quot;&gt;Thib&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Matrix Foundation and Community will be at FOSDEM in Brussels between February 2 and 4, with a main track talk, a devroom and a booth! Find all the details &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2024&#x2F;01&#x2F;matrix-presence-fosdem&#x2F;&quot;&gt;on our blog&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;matrix-salon-podcast-english-episode&quot;&gt;Matrix Salon Podcast (English episode)&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@jaller94:matrix.org&quot;&gt;Christian Paul (jaller94)&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Meet Bram, who has many Matrix projects like the Matrix Event Directory, various games and the &amp;quot;tomato video&amp;quot;.&lt;&#x2F;p&gt;
&lt;p&gt;Episode: &lt;a href=&quot;https:&#x2F;&#x2F;podcasters.spotify.com&#x2F;pod&#x2F;show&#x2F;matrix-podcast0&#x2F;episodes&#x2F;Bram-English-episode---Matrix-Community-Summit-2023-e2ebuk3&quot;&gt;https:&#x2F;&#x2F;podcasters.spotify.com&#x2F;pod&#x2F;show&#x2F;matrix-podcast0&#x2F;episodes&#x2F;Bram-English-episode---Matrix-Community-Summit-2023-e2ebuk3&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;RSS feed: &lt;a href=&quot;https:&#x2F;&#x2F;anchor.fm&#x2F;s&#x2F;cdb34188&#x2F;podcast&#x2F;rss&quot;&gt;https:&#x2F;&#x2F;anchor.fm&#x2F;s&#x2F;cdb34188&#x2F;podcast&#x2F;rss&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Fediverse post: &lt;a href=&quot;https:&#x2F;&#x2F;mastodontech.de&#x2F;@jaller94&#x2F;111743486844936832&quot;&gt;https:&#x2F;&#x2F;mastodontech.de&#x2F;@jaller94&#x2F;111743486844936832&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;matrix-federation-stats&quot;&gt;Matrix Federation Stats&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@aine:etke.cc&quot;&gt;Aine&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;collected by &lt;a href=&quot;https:&#x2F;&#x2F;matrixrooms.info&quot;&gt;MatrixRooms.info&lt;&#x2F;a&gt; - an &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;mrs&#x2F;api&quot;&gt;MRS&lt;&#x2F;a&gt; instance by &lt;a href=&quot;https:&#x2F;&#x2F;etke.cc?utm_source=twim&amp;amp;utm_medium=matrix&amp;amp;utm_campaign=federation-stats&quot;&gt;etke.cc&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;As of today, &lt;code&gt;8438&lt;&#x2F;code&gt; Matrix federateable servers have been discovered by matrixrooms.info, &lt;code&gt;2307&lt;&#x2F;code&gt; (&lt;code&gt;27.3%&lt;&#x2F;code&gt;) of them are publishing their rooms directory over federation.
The published directories contain &lt;code&gt;168930&lt;&#x2F;code&gt; rooms.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;mrs&#x2F;api&#x2F;-&#x2F;blob&#x2F;main&#x2F;docs&#x2F;indexing.md&quot;&gt;How to add your server&lt;&#x2F;a&gt; | &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;mrs&#x2F;api&#x2F;-&#x2F;blob&#x2F;main&#x2F;docs&#x2F;deindexing.md&quot;&gt;How to remove your server&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-ping&quot;&gt;Dept of Ping&lt;&#x2F;h2&gt;
&lt;p&gt;Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;maubot&#x2F;echo&quot;&gt;pingbot&lt;&#x2F;a&gt;, a &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;maubot&#x2F;maubot&quot;&gt;maubot&lt;&#x2F;a&gt; that you can host on your own server.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;ping-maunium-net&quot;&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ping:maunium.net&quot;&gt;#ping:maunium.net&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;Join &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ping:maunium.net&quot;&gt;#ping:maunium.net&lt;&#x2F;a&gt; to experience the fun live, and to find out how to add YOUR server to the game.&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align: center&quot;&gt;Rank&lt;&#x2F;th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Hostname&lt;&#x2F;th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Median MS&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;1&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;envs.net&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;236&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;2&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;icbm.codes&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;284.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;3&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;ailuro.space&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;294&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;4&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;nerdhouse.io&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;302&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;5&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;fostered.uk&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;373&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;6&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;benstokman.me&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;439&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;7&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;sulian.eu&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;721&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;8&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;casavant.org&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;910&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;9&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;aguiarvieira.pt&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;1102.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;10&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;matrix.org&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;1165.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h3 id=&quot;ping-no-synapse-maunium-net&quot;&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ping-no-synapse:maunium.net&quot;&gt;#ping-no-synapse:maunium.net&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;Join &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ping-no-synapse:maunium.net&quot;&gt;#ping-no-synapse:maunium.net&lt;&#x2F;a&gt; to experience the fun live, and to find out how to add YOUR server to the game.&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align: center&quot;&gt;Rank&lt;&#x2F;th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Hostname&lt;&#x2F;th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Median MS&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;1&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;matrix.its-tps.fr&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;180&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;2&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;fostered.uk&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;197.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;3&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;matrix.maymundere.org&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;212&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;4&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;nerdhouse.io&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;217&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;5&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;matrix.org&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;301&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;6&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;inu.is&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;311.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;7&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;herkinf.de&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;401.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;8&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;shiftsystems.net&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;998.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;9&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;puppygock.gay&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;1922&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;10&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;darkness.services&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;4189&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h2 id=&quot;that-s-all-i-know&quot;&gt;That&#x27;s all I know&lt;&#x2F;h2&gt;
&lt;p&gt;See you next week, and be sure to stop by &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#twim:matrix.org&quot;&gt;#twim:matrix.org&lt;&#x2F;a&gt; with your updates!&lt;&#x2F;p&gt;
</content>
</entry>

    
    
<entry xml:lang="en">
    <title>Meet us at FOSDEM</title>
    <published>2024-01-11T00:00:00+00:00</published>
    <updated>2024-01-11T00:00:00+00:00</updated>
    <author>
      <name>
            Thib
          </name>
    </author>
    <link rel="alternate" href="https://f297f985.matrix-website.pages.dev/blog/2024/01/matrix-presence-fosdem/" type="text/html"/>
    <id>https://f297f985.matrix-website.pages.dev/blog/2024/01/matrix-presence-fosdem/</id>
    <content type="html">&lt;p&gt;This year again the Matrix Foundation and Community will have &lt;em&gt;plenty&lt;&#x2F;em&gt; of opportunities to meet at FOSDEM! Together with our awesome community, we’re organising a FOSDEM Fringe Event before FOSDEM itself, we will have a booth to meet everyone and spread the word about Matrix, and a devroom to go more in depth on Matrix topics.&lt;&#x2F;p&gt;
&lt;noscript&gt;Today&#x27;s Matrix Live: &lt;a href=&quot;https:&#x2F;&#x2F;youtube.com&#x2F;watch?v=5F2V-7bQHaM&quot;&gt;https:&#x2F;&#x2F;youtube.com&#x2F;watch?v=5F2V-7bQHaM&lt;&#x2F;a&gt;&lt;&#x2F;noscript&gt;
&lt;youtube-player video-id=&quot;5F2V-7bQHaM&quot;&gt;&lt;&#x2F;youtube-player&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;h2 id=&quot;fringe-event&quot;&gt;Fringe Event&lt;&#x2F;h2&gt;
&lt;p&gt;The fantastic folks of &lt;a href=&quot;https:&#x2F;&#x2F;hsbxl.be&#x2F;&quot;&gt;HSBXL&lt;&#x2F;a&gt; accepted to &lt;a href=&quot;https:&#x2F;&#x2F;hsbxl.be&#x2F;events&#x2F;byteweek&#x2F;2024&#x2F;matrix-community-meetup&#x2F;&quot;&gt;host us this year again&lt;&#x2F;a&gt; for a community “&lt;a href=&quot;https:&#x2F;&#x2F;fosdem.org&#x2F;2024&#x2F;fringe&#x2F;&quot;&gt;Fringe&lt;&#x2F;a&gt;” event the day before FOSDEM. We will meet on Friday 2, starting at 13:00 CET for a &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;BarCamp&quot;&gt;BarCamp&lt;&#x2F;a&gt;. It’s a sort of informal conference where people can meet, talk, and decide informally of an agenda for the afternoon. There are excellent illustrated directions on &lt;a href=&quot;https:&#x2F;&#x2F;hsbxl.be&#x2F;enter&#x2F;&quot;&gt;hsbxl.be&#x2F;enter&lt;&#x2F;a&gt; to be sure you find the way to HSBXL, situated at Rue de la Petite Île 1, 1070 Anderlecht, Brussels. You can join us already in the &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#fosdem2024-foundation-community-meetup:matrix.org&quot;&gt;#fosdem2024-foundation-community-meetup&lt;&#x2F;a&gt; room to talk about practical matters, or chat early.&lt;&#x2F;p&gt;
&lt;p&gt;We will likely do a &lt;em&gt;Matrix Live Live&lt;&#x2F;em&gt;, live streamed from the hackerspace The format is not set in stone (it’s a BarCamp!) but it will very probably contain a presentation about the future of the Foundation, and potentially demos and more speakers from the audience. We’re looking forward to meeting you there and I’m sure we will have &lt;em&gt;plenty&lt;&#x2F;em&gt; of great conversations given how vibrant the ecosystem is.&lt;&#x2F;p&gt;
&lt;p&gt;A warm thank you to &lt;a href=&quot;https:&#x2F;&#x2F;nordeck.net&#x2F;&quot;&gt;Nordeck&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;futo.org&#x2F;&quot;&gt;FUTO&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;www.famedly.com&#x2F;&quot;&gt;Famedly&lt;&#x2F;a&gt; who are sponsoring this event, allowing us to offer free drinks and pizzas to the audience! Massive thanks to the HSBXL gang, and to Kim and Yan who coordinated the organisation of the fringe event!&lt;&#x2F;p&gt;
&lt;h2 id=&quot;booth-at-fosdem&quot;&gt;Booth at FOSDEM&lt;&#x2F;h2&gt;
&lt;p&gt;We were granted a booth for Saturday 3 &amp;amp; Sunday 4 at FOSDEM, covering the whole conference. With a dozen volunteers on a stand from several organisations working on the Matrix ecosystem, we are more than ready to welcome you for a chat, to show you what cool things Matrix can do, or to help you around with Matrix. Come by our stand for a nice talk, or to buy some merch!&lt;&#x2F;p&gt;
&lt;p&gt;You will be able to meet us, learn more about Matrix, or even talk about your projects with us in building K, level 2. The full list of stands is &lt;a href=&quot;https:&#x2F;&#x2F;fosdem.org&#x2F;2024&#x2F;stands&#x2F;&quot;&gt;published on FOSDEM’s website&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;devroom-at-fosdem&quot;&gt;Devroom at FOSDEM&lt;&#x2F;h2&gt;
&lt;p&gt;Finally, in addition to the BarCamp and the booth, we have a devroom on Sunday 4 afternoon, starting at 13:00 CET. State of Matrix, Matrix as a potential answer to Digital Market Act, widgets, moving communities, and more: we have a full schedule covering all the hot Matrix topics!&lt;&#x2F;p&gt;
&lt;p&gt;You can find the &lt;a href=&quot;https:&#x2F;&#x2F;fosdem.org&#x2F;2024&#x2F;schedule&#x2F;track&#x2F;matrix&#x2F;&quot;&gt;full schedule of the Matrix devroom on FOSDEM’s website&lt;&#x2F;a&gt;, and you can add it to your calendar automatically &lt;a href=&quot;https:&#x2F;&#x2F;fosdem.org&#x2F;2024&#x2F;schedule&#x2F;track&#x2F;matrix.ics&quot;&gt;with this ics&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;main-track-talk&quot;&gt;Main track talk&lt;&#x2F;h2&gt;
&lt;p&gt;Finally, Matthew submitted a talk to the main track with his Spec Core Team lead hat on, and it was accepted! On Sunday 5, at 10:00 in Janson you will be able to hear him talk about how Matrix is “Opening up communication silos with Matrix 2.0 and the EU Digital Markets Act”&lt;&#x2F;p&gt;
&lt;p&gt;The team is looking forward to seeing you in Brussels!&lt;&#x2F;p&gt;
</content>
</entry>

    
    
<entry xml:lang="en">
    <title>This Week in Matrix 2024-01-05</title>
    <published>2024-01-05T00:00:00+00:00</published>
    <updated>2024-01-05T00:00:00+00:00</updated>
    <author>
      <name>
            Thib
          </name>
    </author>
    <link rel="alternate" href="https://f297f985.matrix-website.pages.dev/blog/2024/01/05/this-week-in-matrix-2024-01-05/" type="text/html"/>
    <id>https://f297f985.matrix-website.pages.dev/blog/2024/01/05/this-week-in-matrix-2024-01-05/</id>
    <content type="html">&lt;h2 id=&quot;dept-of-status-of-matrix-face-with-th&quot;&gt;Dept of &lt;em&gt;Status of Matrix&lt;&#x2F;em&gt; 🌡️&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@josh:josh.tel&quot;&gt;Josh Simmons&lt;&#x2F;a&gt; reports&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;We’re excited to announce the timeline for our first ever elections as we take the next big step in open governance for Matrix. We’re also introducing two new membership tiers to increase community representation by including open source projects and foundations on the Governing Board.&lt;&#x2F;p&gt;
&lt;p&gt;Read about this and more in &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2023&#x2F;12&#x2F;electing-our-first-governing-board&#x2F;&quot;&gt;our latest blog post&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-spec-scroll&quot;&gt;Dept of Spec 📜&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@matthew:matrix.org&quot;&gt;Matthew&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;I dusted off &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4016&quot;&gt;MSC4016&lt;&#x2F;a&gt; (Streaming and resumable E2EE file transfers) over the holidays and turned it from a WIP into a full MSC, complete with draft proof-of-concept clientside implementations for the streaming attachment fileformat (hypothetical &#x27;v3 attachments&#x27;) at &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-encrypt-attachment&#x2F;pull&#x2F;26&quot;&gt;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-encrypt-attachment&#x2F;pull&#x2F;26&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;streaming-files-test&quot;&gt;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;streaming-files-test&lt;&#x2F;a&gt;.  Some of the benefits this would bring include:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;zero-latency file transfer (receiver can start decrypting &amp;amp; playing the download as soon as the upload begins)&lt;&#x2F;li&gt;
&lt;li&gt;halving file-transfer duration (as you don&#x27;t need to wait for the upload to finish before you start to download it)&lt;&#x2F;li&gt;
&lt;li&gt;resumble uploads via &lt;a href=&quot;https:&#x2F;&#x2F;tus.io&#x2F;protocols&#x2F;resumable-upload&quot;&gt;tus&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;unlimited file transfer size, given it&#x27;s streamed - no longer limited to ~1GB to fit inside v8&#x27;s 1.4GB heap on Web.&lt;&#x2F;li&gt;
&lt;li&gt;O(1) memory usage for sending files, given it&#x27;s streamed (great for share extensions)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;It works by switching from AES-CTR to splitting the file into blocks, and encrypting each one as AES-GCM, muxing into a very simple file format which provides basic headers to allow framing for incremental decryption and random access.  Given this changes the security model of attachments significantly, and given the fileformat is homemade, this MSC is now blocked on needing some serious cryptographic review before it proceeds any further :)&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;blog&#x2F;img&#x2F;ETVZoJSgRuvaWwaKkdmRtBpA.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@matthew:matrix.org&quot;&gt;Matthew&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;I just came across &lt;a href=&quot;https:&#x2F;&#x2F;benstokman.me&#x2F;blog&#x2F;my-thoughts-on-msc-4080&#x2F;&quot;&gt;https:&#x2F;&#x2F;benstokman.me&#x2F;blog&#x2F;my-thoughts-on-msc-4080&#x2F;&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;benstokman.me&#x2F;blog&#x2F;my-new-thoughts-on-msc-4080&quot;&gt;https:&#x2F;&#x2F;benstokman.me&#x2F;blog&#x2F;my-new-thoughts-on-msc-4080&lt;&#x2F;a&gt; - an interesting discussion on the design of CryptoIDs (Client-Owned Identities - MSC4080); the cornerstone of mainstream account portability in Matrix. (Account Portability work is currently paused for a bit, but it shall return...)&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@andrewm:element.io&quot;&gt;Andrew Morgan (anoa)&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Here&#x27;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 &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;proposals&quot;&gt;https:&#x2F;&#x2F;spec.matrix.org&#x2F;proposals&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;msc-status&quot;&gt;MSC Status&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;New MSCs:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;There were no new MSCs this week.&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;MSCs in Final Comment Period:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;No MSCs are in FCP.&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Accepted MSCs:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;No MSCs were accepted this week.&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Closed MSCs:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;No MSCs were closed&#x2F;rejected this week.&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;spec-updates&quot;&gt;Spec Updates&lt;&#x2F;h3&gt;
&lt;p&gt;It&#x27;s been a quite week from the perspective of the MSC Status list, but there has definitely been activity across various MSCs (at least according to my inbox). &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3981&quot;&gt;MSC3981&lt;&#x2F;a&gt; has seen discussion, as has &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4041&quot;&gt;MSC4041&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2448&quot;&gt;MSC2448&lt;&#x2F;a&gt; (we&#x27;re considering switching the proposal to Thumbhashes).&lt;&#x2F;p&gt;
&lt;p&gt;More to come next week I suspect!&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-servers-europea&quot;&gt;Dept of Servers 🏢&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;synapse-website&quot;&gt;Synapse (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;synapse&#x2F;&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;Synapse is a Matrix homeserver implementation developed by the matrix.org core team&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@andrewm:element.io&quot;&gt;Andrew Morgan (anoa)&lt;&#x2F;a&gt; reports&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Happy New Year!&lt;&#x2F;p&gt;
&lt;p&gt;Following on from the release of v1.98.0 (the final release of 2023), as well as seasonal holidays, we expect to return to our usual 2-week release schedule. Starting with a release candidate on Tuesday, January 9th.&lt;&#x2F;p&gt;
&lt;p&gt;As a reminder, Element is switching its development on Synapse to be AGPLv3 at https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;synapse, and development from Element&#x27;s side now continues there (see the &lt;a href=&quot;https:&#x2F;&#x2F;element.io&#x2F;blog&#x2F;synapse-now-lives-at-github-com-element-hq-synapse&#x2F;&quot;&gt;blog post&lt;&#x2F;a&gt; if you haven&#x27;t already). We have done our best to migrate issues from the now-archived &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;synapse&#x2F;&quot;&gt;matrix-org&#x2F;synapse&lt;&#x2F;a&gt; repo over, as well as preserving issue and PR numbers. PRs were not migrated, and their PR number has been reserved by a stub issue instead. Huge thanks to Erik and WillL for figuring out the plan there and implementing it (and working with GitHub&#x27;s heavy rate limits on issue creation!). As well as fixing up CI, packaging, etc. etc.&lt;&#x2F;p&gt;
&lt;p&gt;As things have been a bit topsy-turvy with the migration (and of course the holidays), there&#x27;s not a huge list of changes to report from the development side. But we did have a few excellent community contributions.&lt;&#x2F;p&gt;
&lt;p&gt;Thanks to &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;dklimpel&quot;&gt;@dklimpel&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;loelkes&quot;&gt;@loelkes&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;lanker&quot;&gt;@lanker&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;FadhlanR&quot;&gt;@FadhlanR&lt;&#x2F;a&gt;, and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;adamjedrzejewski&quot;&gt;@adamjedrzejewski&lt;&#x2F;a&gt; for their PRs!&lt;&#x2F;p&gt;
&lt;p&gt;Expect an increased pace of developer pick right back up from next week, as folks return from holidays.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-bridges-bridge-at-night&quot;&gt;Dept of Bridges 🌉&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;matrix-hookshot-website&quot;&gt;matrix-hookshot (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;Half-Shot&#x2F;matrix-hookshot&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;A multi purpose multi platform bridge, formerly known as matrix-github&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@Half-Shot:half-shot.uk&quot;&gt;Half-Shot&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;h3 id=&quot;matrix-hookshot-5-1-1&quot;&gt;matrix-hookshot 5.1.1!&lt;&#x2F;h3&gt;
&lt;p&gt;Hello wonderful people. I hope you all are having&#x2F;had a good break. Over in bridge towers we&#x27;ve been working on a few holiday treats in the shape of hookshot improvements. Let me lay them down for you:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;dark mode&lt;&#x2F;strong&gt; 🌗 is now a thing! We&#x27;ve moved the majority of the components used in the widget to use &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;compound-web&quot;&gt;Compound&lt;&#x2F;a&gt;, which means a more coherent style and light&#x2F;dark support. It&#x27;s still early days so please log bugs as you find them. Also, the dark mode is triggered by whatever the browser believes is your operating systems preference, so currently we don&#x27;t match any overrides your Matrix client might be setting.&lt;&#x2F;li&gt;
&lt;li&gt;Lots of bug fixes around bits of widget interface not updating properly, particularly around feeds.&lt;&#x2F;li&gt;
&lt;li&gt;Node 18 support has been dropped, as it&#x27;s not long for this world and we would like to focus on Node 20&#x2F;21 support.&lt;&#x2F;li&gt;
&lt;li&gt;We have added a &lt;code&gt;list&lt;&#x2F;code&gt; and &lt;code&gt;remove&lt;&#x2F;code&gt; command for webhooks.&lt;&#x2F;li&gt;
&lt;li&gt;We now tell you if your bot doesn&#x27;t have enough PL to speak, meaning you don&#x27;t need me to confirm it for you :)&lt;&#x2F;li&gt;
&lt;li&gt;The GoNEB migrator has been removed, though you can still migrate in a prior release and upgrade.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;You can grab the release from &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-hookshot&#x2F;releases&#x2F;tag&#x2F;5.1.1&quot;&gt;here&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-clients-iphone&quot;&gt;Dept of Clients 📱&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;moment-website&quot;&gt;Moment (&lt;a href=&quot;https:&#x2F;&#x2F;mx-moment.xyz&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;A Matrix client; forked from Mirage.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@maze:mazie.rocks&quot;&gt;Maze&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;mx-moment.xyz&quot;&gt;Moment&lt;&#x2F;a&gt; release 0.7.4&lt;&#x2F;p&gt;
&lt;p&gt;I bet no one was expecting this! After 2 years, finally &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;mx-moment&#x2F;moment&#x2F;-&#x2F;releases&#x2F;v0.7.4&quot;&gt;another release of Moment&lt;&#x2F;a&gt; (fork of the old client Mirage)!&lt;&#x2F;p&gt;
&lt;p&gt;Not much has changed. Mostly we&#x27;re just keeping up to date with dependencies. But you will notice a couple differences:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;👍 Emoji reactions to messages are now displayed (previously not visible)&lt;&#x2F;li&gt;
&lt;li&gt;🖉 Edited messages are displayed properly (previously only fallback text)&lt;&#x2F;li&gt;
&lt;li&gt;🚀 Almost all UI animations were removed, to fit the &amp;quot;snappy powerclient&amp;quot; idea&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;fractal-website&quot;&gt;Fractal (&lt;a href=&quot;https:&#x2F;&#x2F;gitlab.gnome.org&#x2F;GNOME&#x2F;fractal&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;Matrix messaging app for GNOME written in Rust.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@zecakeh:tedomum.net&quot;&gt;Kévin Commaille&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;It is a new year 🎆️, and what better way to celebrate this than to release Fractal 6.rc? It has been only 2 weeks since our latest beta release, but we have been hard at work during the holidays.&lt;&#x2F;p&gt;
&lt;p&gt;Here is an excerpt:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Matrix URIs can be opened with Fractal, it is even registered as a handler for the &lt;code&gt;matrix&lt;&#x2F;code&gt; scheme&lt;&#x2F;li&gt;
&lt;li&gt;Our Join Room dialog now shows some room details as a preview upon entering an identifier or URI&lt;&#x2F;li&gt;
&lt;li&gt;The verification flow was rewritten to rely more on the Matrix Rust SDK, hopefully solving most issues that occurred before&lt;&#x2F;li&gt;
&lt;li&gt;Room members now have a profile page that allows, among other things, to kick, ban or ignore them&lt;&#x2F;li&gt;
&lt;li&gt;Speaking of ignoring users, the list can be managed from the account settings &lt;&#x2F;li&gt;
&lt;li&gt;The dialog to view an event’s source was reworked to show more details about the event&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;… and a lot of other improvements, fixes and new translations thanks to all our contributors, and our upstream projects.&lt;&#x2F;p&gt;
&lt;p&gt;It is available to install via Flathub Beta, see the &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.gnome.org&#x2F;GNOME&#x2F;fractal#installation-instructions&quot;&gt;instructions in our README&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;As the version implies, it should be mostly stable and we expect to only include minor improvements until the release of Fractal 6.&lt;&#x2F;p&gt;
&lt;p&gt;If one of your New Year’s resolutions is to contribute to an open source project, take your pick amongst our &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.gnome.org&#x2F;GNOME&#x2F;fractal&#x2F;-&#x2F;issues&quot;&gt;issues&lt;&#x2F;a&gt;. Any help is very welcome!&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;blog&#x2F;img&#x2F;94355d383b03230da6cc579dcb17c78bf527beee1742946430667980800.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;blog&#x2F;img&#x2F;559f899a22195db1c284e32044066a7362f456571742946522787479552.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;element-x-android-website&quot;&gt;Element X Android (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;vector-im&#x2F;element-x-android&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;Android Matrix messenger application using the Matrix Rust Sdk and Jetpack Compose &lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@benoit.marty:matrix.org&quot;&gt;benoit&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Version 0.4.0 of Element X Android is live on the PlayStore. It includes new features like Read Receipt, Chat backup and Mentions, and lots of other features and bugfixes. Full details here: https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;element-x-android&#x2F;releases&#x2F;tag&#x2F;v0.4.0.
We are now focusing on performance, testing and stabilizing the application, in particular around the Rich Text Editor.&lt;&#x2F;p&gt;
&lt;p&gt;Lots of new features are planned for 2024, stay tuned!&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;element-web-desktop-website&quot;&gt;Element Web&#x2F;Desktop (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;vector-im&#x2F;element-web&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;Secure and independent communication, connected via Matrix. Come talk with us in &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#element-web:matrix.org&quot;&gt;#element-web:matrix.org&lt;&#x2F;a&gt;!&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@fheese:element.io&quot;&gt;Florian Heese&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;h2 id=&quot;video-rooms-jitsi-backend-deprecation&quot;&gt;Video rooms Jitsi backend deprecation&lt;&#x2F;h2&gt;
&lt;p&gt;Hello from the VoIP team,&lt;&#x2F;p&gt;
&lt;p&gt;In the past months we&#x27;ve had a lot of &lt;a href=&quot;https:&#x2F;&#x2F;element.io&#x2F;blog&#x2F;element-x-now-with-embedded-voip&#x2F;&quot;&gt;progress&lt;&#x2F;a&gt; on Element Call our
scalable video and voice conferencing solution with calling built natively on Matrix and so benefitting from Matrix’s end-to-end encryption. Now is the time to slowly convert the existing video solutions to default to Element Call. We are &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;element-web&#x2F;pull&#x2F;26819&quot;&gt;starting&lt;&#x2F;a&gt; with video rooms, which will be using the Element Call stack by default in the near future. If you (still) have a Jitsi video room, you will need to re-create it to make use of Element Call.&lt;&#x2F;p&gt;
&lt;p&gt;Stay tuned&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-sdks-and-frameworks&quot;&gt;Dept of SDKs and Frameworks 🧰&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;rory-libmatrix-net-8-matrix-bot-client-library&quot;&gt;Rory&amp;amp;::LibMatrix (.NET 8 matrix bot&#x2F;client library)&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@emma:conduit.rory.gay&quot;&gt;Emma [it&#x2F;its] ⚡️&lt;&#x2F;a&gt; reports&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Happy 2024!
It&#x27;s been a while since I last posted a TWIM update...
Any help I can get is super appreciated!&lt;&#x2F;p&gt;
&lt;h2 id=&quot;changes&quot;&gt;Changes&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Lots and lots of code cleanup&lt;&#x2F;li&gt;
&lt;li&gt;Sync deserialisation uses a compiled model now (still slow, but turns out this only affects debug builds)&lt;&#x2F;li&gt;
&lt;li&gt;Floating point numbers are now sent as strings (since matrix doesnt like floats)&lt;&#x2F;li&gt;
&lt;li&gt;Some internal fields were renamed to be more clear&lt;&#x2F;li&gt;
&lt;li&gt;Join rules are now mapped&lt;&#x2F;li&gt;
&lt;li&gt;Added utility function to get a room&#x27;s avatar url as a resolved URI&lt;&#x2F;li&gt;
&lt;li&gt;Added support for setting identity assertion on client instances (for appservices)&lt;&#x2F;li&gt;
&lt;li&gt;Added overload to get member list as a list instead of an async enumerable&lt;&#x2F;li&gt;
&lt;li&gt;Added GetAsObject and GetAsJson to MatrixException, to allow serialization&lt;&#x2F;li&gt;
&lt;li&gt;Hot paths no longer use typed event content, due to the overhead of deserializing it&lt;&#x2F;li&gt;
&lt;li&gt;Rewrote initialization of a client instance to be cleaner&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;And, as always:&lt;&#x2F;strong&gt;&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;The code is available at &lt;a href=&quot;https:&#x2F;&#x2F;cgit.rory.gay&#x2F;matrix&#x2F;LibMatrix.git&quot;&gt;cgit.rory.gay&lt;&#x2F;a&gt;
&lt;ul&gt;
&lt;li&gt;All contributions are more than welcome, be it documentation, code, anything! Perhaps, example usecases, bots, ...?&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Discussion, suggestions and ideas are welcome in &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#libmatrix:rory.gay&quot;&gt;#libmatrix:rory.gay&lt;&#x2F;a&gt; (Space: &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#mru-space:rory.gay&quot;&gt;#mru-space:rory.gay&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;elm-matrix-sdk&quot;&gt;elm-matrix-sdk&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@bram:matrix.directory&quot;&gt;Bram&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;This week, &lt;a href=&quot;https:&#x2F;&#x2F;package.elm-lang.org&#x2F;packages&#x2F;noordstar&#x2F;elm-matrix-sdk-beta&#x2F;2.1.0&#x2F;&quot;&gt;beta version 2.1.0&lt;&#x2F;a&gt; of the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;noordstar&#x2F;elm-matrix-sdk-beta&quot;&gt;Elm SDK&lt;&#x2F;a&gt; has been published!&lt;&#x2F;p&gt;
&lt;p&gt;The minor update is similar to version 2.0.0, where it introduces a new module &lt;code&gt;Matrix.Event&lt;&#x2F;code&gt; but offers no major functionality at the time. The API interactions are planned to come after implementing an exposed &lt;code&gt;Matrix.Room&lt;&#x2F;code&gt; module for interactions with Matrix rooms.&lt;&#x2F;p&gt;
&lt;p&gt;This week, I would love it if you take a look at the &lt;code&gt;Matrix.Event&lt;&#x2F;code&gt; module, and let me know if the documentation is sufficient and meets your requirements. I&#x27;d love to hear your feedback in the Matrix room &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#elm-sdk:matrix.org&quot;&gt;#elm-sdk:matrix.org&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-events-and-talks&quot;&gt;Dept of Events and Talks 🗣️&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;the-matrix-community-met-at-the-37th-chaos-communication-congress&quot;&gt;The Matrix Community met at the 37th Chaos Communication Congress&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@erebion:erebion.eu&quot;&gt;erebion 🏳️‍🌈♾ ☎️ 2142&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;The 37th Chaos Communication Congress, sort of a school reunion of hackers, recently ended. From the 27th to the 30th of December 2023, a bunch of nerdy people met up in Hamburg (northern Germany) to discuss all the cool stuff they had been up to. Topics ranged as wide as technology, society, politics and even food hacking as well as a whole lot of other interesting things (talks can by the way be found at https:&#x2F;&#x2F;media.ccc.de&#x2F; and most are already uploaded, wow!). We had a Matrix Community Assembly there. An assembly is basically an area for like-minded people to meet up and talk about their topics, in this case Matrix.&lt;&#x2F;p&gt;
&lt;p&gt;We answered questions, sold merch, talked about Matrix-related projects, had workshops about topics like setting up Hookshot, took group photos, tapped beer via Matrix, handed out a bunch of cool new Matrix Community stickers and even fixed some Matrix servers. And Nico bridged the whole Eventphone network to his Matrix account while tinkering and got very confused.&lt;&#x2F;p&gt;
&lt;p&gt;If you have said hello at the event, then also say hello at &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#chaosevents:matrix.org&quot;&gt;#chaosevents:matrix.org&lt;&#x2F;a&gt;!&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;blog&#x2F;img&#x2F;LOiRsomzjHNynWhbKdabYqZT.jpg&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-interesting-projects&quot;&gt;Dept of Interesting Projects 🛰️&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;matrix-site&quot;&gt;matrix-site&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@ugp:matrix.org&quot;&gt;urp&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;An &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;ugrp&#x2F;tests&#x2F;matrix-site&quot;&gt;example minimal website&lt;&#x2F;a&gt;, dynamically sourcing its content from a public matrix room that anyone can read and publish to.&lt;&#x2F;p&gt;
&lt;p&gt;It uses a custom event &lt;code&gt;io.gitlab.ugrp.post&lt;&#x2F;code&gt; (with two keys, &lt;code&gt;title&lt;&#x2F;code&gt; and &lt;code&gt;text&lt;&#x2F;code&gt;) and provide an interface for guest and registered users to create a new &lt;code&gt;post&lt;&#x2F;code&gt; (cannot edit yet, tbd).&lt;&#x2F;p&gt;
&lt;p&gt;The site is built in vanilla HTML, CSS and Javascript, using the &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;sctlib&#x2F;mwc&quot;&gt;@sctlib&#x2F;mwc&lt;&#x2F;a&gt; library of web-components (the new version &lt;code&gt;v0.2.1&lt;&#x2F;code&gt; allows to register a &lt;code&gt;formTemplate&lt;&#x2F;code&gt; and &lt;code&gt;displayTemplate&lt;&#x2F;code&gt; to be able to display and create and custom event in a room).&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;This is all prototypes (and examples), experimenting using public matrix data outside of traditional chat clients (see also &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;matrix-static&quot;&gt;matrix-static&lt;&#x2F;a&gt;). The objectives are to allow users to manage and display their data in environments they control, and subscribe to event feeds from sources they chose.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-guides&quot;&gt;Dept of Guides 🧭&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@josh:josh.tel&quot;&gt;Josh Simmons&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;New year, new homeserver! I completed a migration from managed Matrix with EMS to self-hosting using the matrix-docker-ansible-deploy project. It was a bit tricky as someone new to self-hosting Matrix, but a lot of folks helped along the way and the matrix-docker-ansible-deploy project greatly simplified the process.&lt;&#x2F;p&gt;
&lt;p&gt;I wrote up &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2024&#x2F;01&#x2F;migrating-from-ems-to-selfhosted-matrix&#x2F;&quot;&gt;my notes in the Foundation blog&lt;&#x2F;a&gt; in hopes that they&#x27;ll be helpful, especially for other folks like me who were on small EMS plans that are being discontinued.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;matrix-federation-stats&quot;&gt;Matrix Federation Stats&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@aine:etke.cc&quot;&gt;Aine&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;collected by &lt;a href=&quot;https:&#x2F;&#x2F;matrixrooms.info&#x2F;&quot;&gt;MatrixRooms.info&lt;&#x2F;a&gt; - an &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;mrs&#x2F;api&quot;&gt;MRS&lt;&#x2F;a&gt; instance by &lt;a href=&quot;https:&#x2F;&#x2F;etke.cc&#x2F;?utm_source=twim&amp;amp;utm_medium=matrix&amp;amp;utm_campaign=federation-stats&quot;&gt;etke.cc&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;As of today, &lt;code&gt;8389&lt;&#x2F;code&gt; Matrix federateable servers have been discovered by matrixrooms.info, &lt;code&gt;2269&lt;&#x2F;code&gt; (&lt;code&gt;27.0%&lt;&#x2F;code&gt;) of them are publishing their rooms directory over federation.
The published directories contain &lt;code&gt;168449&lt;&#x2F;code&gt; rooms.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;mrs&#x2F;api&#x2F;-&#x2F;blob&#x2F;main&#x2F;docs&#x2F;indexing.md&quot;&gt;How to add your server&lt;&#x2F;a&gt; | &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;mrs&#x2F;api&#x2F;-&#x2F;blob&#x2F;main&#x2F;docs&#x2F;deindexing.md&quot;&gt;How to remove your server&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-ping&quot;&gt;Dept of Ping&lt;&#x2F;h2&gt;
&lt;p&gt;Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;maubot&#x2F;echo&quot;&gt;pingbot&lt;&#x2F;a&gt;, a &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;maubot&#x2F;maubot&quot;&gt;maubot&lt;&#x2F;a&gt; that you can host on your own server.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;ping-maunium-net&quot;&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ping:maunium.net&quot;&gt;#ping:maunium.net&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;Join &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ping:maunium.net&quot;&gt;#ping:maunium.net&lt;&#x2F;a&gt; to experience the fun live, and to find out how to add YOUR server to the game.&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align: center&quot;&gt;Rank&lt;&#x2F;th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Hostname&lt;&#x2F;th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Median MS&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;1&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;rom4nik.pl&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;263&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;2&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;utzutzutz.net&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;265.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;3&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;nerdhouse.io&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;297&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;4&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;maunium.net&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;299&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;5&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;fostered.uk&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;373&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;6&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;matrix.org&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;454.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;7&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;matrix.its-tps.fr&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;503&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;8&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;mailstation.de&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;957&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;9&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;mtrx.fail&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;1544.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;10&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;littlevortex.net&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;2006&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h3 id=&quot;ping-no-synapse-maunium-net&quot;&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ping-no-synapse:maunium.net&quot;&gt;#ping-no-synapse:maunium.net&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;Join &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ping-no-synapse:maunium.net&quot;&gt;#ping-no-synapse:maunium.net&lt;&#x2F;a&gt; to experience the fun live, and to find out how to add YOUR server to the game.&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align: center&quot;&gt;Rank&lt;&#x2F;th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Hostname&lt;&#x2F;th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Median MS&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;1&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;inu.is&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;144&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;2&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;nerdhouse.io&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;158&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;3&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;matrix.its-tps.fr&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;160&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;4&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;spqr2gang.com&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;163&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;5&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;frei.chat&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;170&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;6&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;matrix.org&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;316&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;7&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;matrix.maymundere.org&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;897&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;8&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;littlevortex.net&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;1479.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;9&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;shiftsystems.net&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;24439.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;10&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;chat.eutampieri.eu&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;88738&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h2 id=&quot;that-s-all-i-know&quot;&gt;That&#x27;s all I know&lt;&#x2F;h2&gt;
&lt;p&gt;See you next week, and be sure to stop by &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#twim:matrix.org&quot;&gt;#twim:matrix.org&lt;&#x2F;a&gt; with your updates!&lt;&#x2F;p&gt;
</content>
</entry>

    
    
<entry xml:lang="en">
    <title>Migrating from EMS to self-hosted Matrix</title>
    <published>2024-01-04T17:00:00+00:00</published>
    <updated>2024-01-04T17:00:00+00:00</updated>
    <author>
      <name>
            Josh Simmons
          </name>
    </author>
    <link rel="alternate" href="https://f297f985.matrix-website.pages.dev/blog/2024/01/migrating-from-ems-to-selfhosted-matrix/" type="text/html"/>
    <id>https://f297f985.matrix-website.pages.dev/blog/2024/01/migrating-from-ems-to-selfhosted-matrix/</id>
    <content type="html">&lt;h2 id=&quot;running-my-own-matrix-homeserver&quot;&gt;Running my own Matrix homeserver&lt;&#x2F;h2&gt;
&lt;p&gt;I confess I&#x27;m awfully chuffed with myself as we return from the holiday break. I just completed a successful migration of my main Matrix account from managed hosting to a homeserver that I run for myself on a virtual private server (VPS).&lt;&#x2F;p&gt;
&lt;p&gt;The whole experience has been illuminating, and there are some specific details that are timely for people like me who needed to migrate off of Element Matrix Services (EMS) as they pivot to focus on enterprise. &lt;&#x2F;p&gt;
&lt;p&gt;Thus, this blog post. I&#x27;m going to share my experience in hopes that it&#x27;ll help some folks with that migration!&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;h2 id=&quot;beware-the-gotchas&quot;&gt;Beware the gotchas&lt;&#x2F;h2&gt;
&lt;p&gt;Homeserver migration is a high stakes process, as there&#x27;s a point past which mistakes will permanently wreck your ability to communicate with other people on the open federation. At that point, the resolution is to create a new account!&lt;&#x2F;p&gt;
&lt;p&gt;The reason it&#x27;s high stakes is that we&#x27;re talking about a secure, decentralized system which requires encryption keys to be exchanged, keys which change over time. That, combined with the fact that an EMS homeserver will resume running after it completes your export, means you have to take specific measures to disable interactions with all the accounts on your homeserver during the migration. I&#x27;ve consulted some of the brightest people in the Matrix ecosystem to account for this in my process, so &lt;strong&gt;if you&#x27;re using this blog post to navigate your own EMS migration, &lt;em&gt;read very carefully&lt;&#x2F;em&gt;.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Migration is typically not this tricky, and the initial setup of a fresh homeserver can be a breeze with the right tools!&lt;&#x2F;p&gt;
&lt;p&gt;The other thing you need to know before you take any of my advice: I&#x27;m not a Matrix developer or expert, just a vintage web developer who likes to host some of my own infrastructure for reasons of privacy and flexibility ... and to keep my skills sharp. &lt;strong&gt;This guidance does &lt;em&gt;not&lt;&#x2F;em&gt; stand alone, it only makes sense if you&#x27;ve done your homework and read the documentation of the relevant projects.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;get-yourself-prepared&quot;&gt;Get yourself prepared&lt;&#x2F;h2&gt;
&lt;p&gt;The specific path to migration I&#x27;m following today is moving from EMS to self-hosting with the matrix-docker-ansible-deploy project (which I&#x27;ll refer to as the &amp;quot;MDAD project&amp;quot; going forward). I found myself reading lots of docs but the two critical starting points are &lt;a href=&quot;https:&#x2F;&#x2F;ems-docs.element.io&#x2F;books&#x2F;element-cloud-documentation&#x2F;page&#x2F;migrate-from-ems-to-self-hosted&quot;&gt;Element&#x27;s own migration docs&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;spantaleev&#x2F;matrix-docker-ansible-deploy&#x2F;blob&#x2F;master&#x2F;docs&#x2F;README.md&quot;&gt;the MDAD project docs&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;I found it very helpful to play with the MDAD project on a fresh machine and an unused domain name. That got me to read the docs and get a feel for things before layering in the complexity of a migration.&lt;&#x2F;p&gt;
&lt;p&gt;I deployed my new Matrix homeserver on a VPS running Ubuntu 22.04, which I was already using to host some other things. All my local work was done by command line on my MacBook. This meant I already had a server with most of the dependencies already in place, and I could readily SSH into it. It also means that I&#x27;ve already got Nginx listening on ports 80 and 443, so I had to get a little creative and dig deeper into the docs to set up &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;spantaleev&#x2F;matrix-docker-ansible-deploy&#x2F;blob&#x2F;master&#x2F;examples&#x2F;nginx&#x2F;README.md&quot;&gt;Nginx as a reverse proxy in front of Traefik&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;A few more important facts: EMS runs the Synapse homeserver alongside the matrix-media-repo (MMR) project, I&#x27;m doing the same to make this migration possible. And EMS, when I did my export, ran Synapse v1.97 whereas the latest release is v1.98. I confirmed there were no database schema changes between those two versions, so the difference in version number was immaterial, but typically your migration target should be the same version as your export.&lt;&#x2F;p&gt;
&lt;p&gt;This migration will involve some downtime, and a period of low performance. Messages sent in encrypted rooms during that downtime will likely be unreadable, even if you do everything right. Having an alternate account can be useful, or just ask people to resend important messages. In my specific case, with a single-user homeserver that had been active for 13 months, I started my migration at 10am and by 12:30pm I could log back in but things weren&#x27;t really usable until evening. To be on the safe side, plan for it to take longer.&lt;&#x2F;p&gt;
&lt;p&gt;Since this is a high stakes migration, let&#x27;s also be clear on the order of operations before we begin. I cannot stress enough how important this is – &lt;em&gt;read carefully, do not cut corners&lt;&#x2F;em&gt;.&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Every user account on your homeserver needs to dedicate a little time to these steps, to ensure their accounts remain usable after the migration:
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;ems-docs.element.io&#x2F;books&#x2F;element-cloud-documentation&#x2F;page&#x2F;set-up-cross-signing&quot;&gt;Export a Recovery Key&lt;&#x2F;a&gt; so they can log back in without cross-verifying a device.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;ems-docs.element.io&#x2F;books&#x2F;element-cloud-documentation&#x2F;page&#x2F;export-and-import-e2e-room-keys&quot;&gt;Export E2E room keys&lt;&#x2F;a&gt; from every client they have logged in.&lt;&#x2F;li&gt;
&lt;li&gt;Use a client they can access to sign out of sessions on devices they don&#x27;t have access to, and any bridges that are registered in the sessions list.&lt;&#x2F;li&gt;
&lt;li&gt;Log out of all the remaining clients. This reduces risk of things changing or becoming undecryptable after the migration is complete.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;After all users have completed those steps, cut over your DNS and .well-known files. This stops traffic from being directed to your EMS host.&lt;&#x2F;li&gt;
&lt;li&gt;Wait twice as long as your old DNS TTL values were set to, to allow for propagation with a fudge factor.&lt;&#x2F;li&gt;
&lt;li&gt;Request a backup from EMS. It took about 2 hours from the time I requested my export for the database export to be ready, and 2.5 hours for the media repo export to be ready.&lt;&#x2F;li&gt;
&lt;li&gt;Import key configuration values, do initial setup of your homeserver, and import your database. Do not start Synapse until the database is imported! &lt;strong&gt;The &amp;quot;set up your homeserver&amp;quot; instructions below are primarily focused on this step.&lt;&#x2F;strong&gt;
&lt;ol&gt;
&lt;li&gt;If this goes badly wrong, restore DNS and fix.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Turn your Synapse on. It&#x27;ll roar to life and eat a bunch of CPU as it catches up, but that&#x27;s fine.&lt;&#x2F;li&gt;
&lt;li&gt;Wait for things to catch up. In this time, ask your key contacts to re-send any messages they may have sent while you&#x27;ve been offline.&lt;&#x2F;li&gt;
&lt;li&gt;Also while waiting, import your media.&lt;&#x2F;li&gt;
&lt;li&gt;If things look good after about 2-4 hours, cancel and delete your EMS homeserver (it&#x27;ll now be too far behind to roll back to).&lt;&#x2F;li&gt;
&lt;li&gt;Rotate your signing key at your convenience.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h2 id=&quot;set-up-your-homeserver&quot;&gt;Set up your homeserver&lt;&#x2F;h2&gt;
&lt;p&gt;These instructions are focused on setting up your homeserver, importing your database, and importing your media. Here are some assumptions I&#x27;m making in what I&#x27;ve written:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Dependencies are already addressed locally and remotely.&lt;&#x2F;li&gt;
&lt;li&gt;You don&#x27;t have any bridges setup on EMS. (Their &lt;a href=&quot;https:&#x2F;&#x2F;ems-docs.element.io&#x2F;books&#x2F;element-cloud-documentation&#x2F;page&#x2F;migrate-from-ems-to-self-hosted&quot;&gt;docs&lt;&#x2F;a&gt; cover what to do if you do have bridges.)&lt;&#x2F;li&gt;
&lt;li&gt;You&#x27;ve cloned the MDAD project locally and configured your playbook.
&lt;ul&gt;
&lt;li&gt;You&#x27;re using the default profile (Synapse, Element, Postgres, Coturn, Traefik, Let&#x27;s Encrypt, and Exim) and, of the optional services, have opted to use matrix-media-repo (MMR).&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;You&#x27;ve already set your target host in the MDAD project.&lt;&#x2F;li&gt;
&lt;li&gt;You&#x27;ve already put the &lt;code&gt;macaroon&lt;&#x2F;code&gt; and &lt;code&gt;pepper&lt;&#x2F;code&gt; keys from your EMS export into the MDAD project&#x27;s &lt;code&gt;vars.yml&lt;&#x2F;code&gt;, under &lt;code&gt;matrix_synapse_macaroon_secret_key&lt;&#x2F;code&gt; and &lt;code&gt;matrix_synapse_password_config_pepper&lt;&#x2F;code&gt; respectively.&lt;&#x2F;li&gt;
&lt;li&gt;You&#x27;re using a bare domain for your account handles (as in, not using a subdomain).&lt;&#x2F;li&gt;
&lt;li&gt;You&#x27;ve already handled the SSL certificates and prepared your DNS.&lt;&#x2F;li&gt;
&lt;li&gt;You&#x27;ll store your EMS exports locally at &lt;code&gt;~&#x2F;dev&#x2F;migration&lt;&#x2F;code&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;You&#x27;ve got a directory setup on the host server at &lt;code&gt;&#x2F;root&#x2F;migration&lt;&#x2F;code&gt; – and you run commands on the host as root.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;OK, with all that scene setting done, let&#x27;s walk through the steps you&#x27;ll need to take to set up your homeserver and import your data!&lt;&#x2F;p&gt;
&lt;h3 id=&quot;run-your-ansible-playbook&quot;&gt;Run your Ansible playbook&lt;&#x2F;h3&gt;
&lt;p&gt;From your local machine, run the Ansible playbook. All of the commands we run from the local machine are within the base directory of the MDAD project. Critically, we&#x27;re only installing things – not starting any services yet.&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#1e1e1e;color:#dcdcdc;&quot;&gt;&lt;code&gt;&lt;span&gt;&amp;gt; just roles
&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt; ansible-playbook -i inventory&#x2F;hosts setup.yml --tags=install-all
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;import-your-signing-key&quot;&gt;Import your signing key&lt;&#x2F;h3&gt;
&lt;p&gt;On your remote host, edit &lt;code&gt;&#x2F;matrix&#x2F;synapse&#x2F;config&#x2F;matrix.DOMAIN.signing.key&lt;&#x2F;code&gt; and replace the autogenerated signing key with the one from your EMS export.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;upload-your-exports&quot;&gt;Upload your exports&lt;&#x2F;h3&gt;
&lt;p&gt;Upload your database and media exports to your remote host by running these commands on your local machine.&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#1e1e1e;color:#dcdcdc;&quot;&gt;&lt;code&gt;&lt;span&gt;&amp;gt; rsync -Pav ~&#x2F;dev&#x2F;migration&#x2F;DOMAIN-synapse-database.zip root@REMOTEHOST:&#x2F;root&#x2F;migration&#x2F;
&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt; rsync -Pav ~&#x2F;dev&#x2F;migration&#x2F;DOMAIN-media-DOMAIN.zip root@REMOTEHOST:&#x2F;root&#x2F;migration&#x2F;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;prepare-your-database-for-import&quot;&gt;Prepare your database for import&lt;&#x2F;h3&gt;
&lt;p&gt;On your remote host, run the following sequence of commands. These will convert the EMS database export to the format that the MDAD project supports importing, and prepares Postgres for the import.&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#1e1e1e;color:#dcdcdc;&quot;&gt;&lt;code&gt;&lt;span&gt;&amp;gt; cd ~&#x2F;migration
&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt; unzip DOMAIN-synapse-database.zip
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Take note of the name of the directory that&#x27;s extracted from the archive. It will be of the format &lt;code&gt;UNIQUEID-live-DOMAIN-synapse-database.dir&lt;&#x2F;code&gt; and that unique ID will be something we need to refer back to several times.&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#1e1e1e;color:#dcdcdc;&quot;&gt;&lt;code&gt;&lt;span&gt;&amp;gt; rm DOMAIN-synapse-database.zip
&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt; pg_restore –file=ems-export.sql UNIQUEID-live-DOMAIN-synapse-database.dir&#x2F;
&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt; rm -fr UNIQUEID-live-DOMAIN-synapse-database.dir&#x2F;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Now that you&#x27;ve converted the EMS database export, let&#x27;s prepare Postgres for some of the minor differences it will encounter when we run the import.&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#1e1e1e;color:#dcdcdc;&quot;&gt;&lt;code&gt;&lt;span&gt;&amp;gt; systemctl start matrix-postgres
&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt; &#x2F;matrix&#x2F;postgres&#x2F;bin&#x2F;cli
&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt; &amp;gt; CREATE ROLE rdsadmin;
&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt; &amp;gt; CREATE ROLE UNIQUEID;
&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt; &amp;gt; \q
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;import-your-database&quot;&gt;Import your database&lt;&#x2F;h3&gt;
&lt;p&gt;On your local machine, run this command to begin the import process on your remote host:&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#1e1e1e;color:#dcdcdc;&quot;&gt;&lt;code&gt;&lt;span&gt;&amp;gt; just run-tags import-postgres --extra-vars=server_path_postgres_dump=&#x2F;root&#x2F;migration&#x2F;ems-export.sql --extra-vars=postgres_default_import_database=synapse
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Now, going back to the remote machine, let&#x27;s make one change to the database to make sure the imported data is owned by the correct user:&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#1e1e1e;color:#dcdcdc;&quot;&gt;&lt;code&gt;&lt;span&gt;&amp;gt; &#x2F;matrix&#x2F;postgres&#x2F;bin&#x2F;cli
&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt; &amp;gt; \c synapse
&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt; &amp;gt; REASSIGN OWNED BY UNIQUEID TO synapse;
&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt; &amp;gt; \q
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Then you&#x27;re done importing the database!&lt;&#x2F;p&gt;
&lt;h3 id=&quot;import-your-media&quot;&gt;Import your media&lt;&#x2F;h3&gt;
&lt;p&gt;You can afford to delay the media import if that&#x27;s convenient for you, but people might notice some missing images so I recommend doing it promptly. All of these commands should be run on the remote host.&lt;&#x2F;p&gt;
&lt;p&gt;This step differs in key ways from the database import. The database import we did from our local machine, by telling the remote host to import a database file that was stored on the remote host outside of the Docker container that the database runs in. In this case, we are running these commands on the remote host and we are placing the media archive in a place that is mounted into the Docker container that matrix-media-repo is running in.&lt;&#x2F;p&gt;
&lt;p&gt;Here we go:&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#1e1e1e;color:#dcdcdc;&quot;&gt;&lt;code&gt;&lt;span&gt;&amp;gt; mv ~&#x2F;migration&#x2F;DOMAIN-media-DOMAIN.zip &#x2F;matrix&#x2F;matrix-media-repo&#x2F;data&#x2F;
&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt; cd &#x2F;matrix&#x2F;matrix-media-repo&#x2F;data&#x2F;
&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt; unzip DOMAIN-media-DOMAIN.zip
&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt; chown -R matrix:matrix *
&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt; rm DOMAIN-media-DOMAIN.zip
&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt; systemctl start matrix-media-repo
&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt; docker exec -it matrix-media-repo &#x2F;usr&#x2F;local&#x2F;bin&#x2F;gdpr_import -directory &#x2F;data&#x2F;UNIQUEID-live-DOMAIN-media-DOMAIN
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;The import process will ask for a Machine ID. As it suggests, you can just enter 1.&lt;&#x2F;p&gt;
&lt;p&gt;To test if the import was successful, run the following command:&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#1e1e1e;color:#dcdcdc;&quot;&gt;&lt;code&gt;&lt;span&gt;&amp;gt; docker exec -it matrix-media-repo &#x2F;usr&#x2F;local&#x2F;bin&#x2F;gdpr_import -directory &#x2F;data&#x2F;UNIQUEID-live-DOMAIN-media-DOMAIN -verify
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;rotate-your-signing-key&quot;&gt;Rotate your signing key&lt;&#x2F;h3&gt;
&lt;p&gt;This is not a step I&#x27;ve taken myself, but you may be keen to do this. The high level guidance I was given is as follows:&lt;&#x2F;p&gt;
&lt;p&gt;First, create a new key with the &lt;code&gt;generate_signing_key.py&lt;&#x2F;code&gt; script that comes with Synapse.&lt;&#x2F;p&gt;
&lt;p&gt;Then, list your old public key under &lt;code&gt;old_signing_keys&lt;&#x2F;code&gt; in your &lt;code&gt;homeserver.yaml&lt;&#x2F;code&gt; file (&lt;a href=&quot;https:&#x2F;&#x2F;element-hq.github.io&#x2F;synapse&#x2F;latest&#x2F;usage&#x2F;configuration&#x2F;config_documentation.html?highlight=old_signing_key#old_signing_keys&quot;&gt;docs&lt;&#x2F;a&gt;). If you&#x27;re using the MDAD project as I am, you&#x27;ll want to make this change using the &lt;code&gt;matrix_synapse_configuration_extension_yaml&lt;&#x2F;code&gt; variable locally in the &lt;code&gt;vars.yml&lt;&#x2F;code&gt; file.&lt;&#x2F;p&gt;
&lt;p&gt;Lastly, replace the contents of the &lt;code&gt;&#x2F;matrix&#x2F;synapse&#x2F;config&#x2F;matrix.DOMAIN.signing.key&lt;&#x2F;code&gt; file on your remote host with your new key.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;fire-things-up&quot;&gt;Fire things up&lt;&#x2F;h3&gt;
&lt;p&gt;If your database and media imports have gone over successfully, you can safely start your homeserver! If not, you&#x27;ll need to do some troubleshooting.&lt;&#x2F;p&gt;
&lt;p&gt;Here&#x27;s the command to start your homeserver, which is meant to be run from your local machine:&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#1e1e1e;color:#dcdcdc;&quot;&gt;&lt;code&gt;&lt;span&gt;&amp;gt; ansible-playbook -i inventory&#x2F;hosts setup.yml --tags=start
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;have-fun&quot;&gt;Have fun!&lt;&#x2F;h2&gt;
&lt;p&gt;In my case, I had a pretty vanilla setup on EMS – no bridges or anything. But since migrating, I&#x27;ve started customizing things! There&#x27;s a lot you can do with Matrix and the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;spantaleev&#x2F;matrix-docker-ansible-deploy&#x2F;tree&#x2F;master&quot;&gt;MDAD project&lt;&#x2F;a&gt; makes it fairly painless to experiment.&lt;&#x2F;p&gt;
&lt;p&gt;Here are a few of the additional things I&#x27;ve set up alongside my Synapse homeserver:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Etherpad&lt;&#x2F;li&gt;
&lt;li&gt;Synapse Admin&lt;&#x2F;li&gt;
&lt;li&gt;Sliding Sync Proxy&lt;&#x2F;li&gt;
&lt;li&gt;Synapse Auto Compressor&lt;&#x2F;li&gt;
&lt;li&gt;Shared Secret Auth&lt;&#x2F;li&gt;
&lt;li&gt;Prometheus and Grafana&lt;&#x2F;li&gt;
&lt;li&gt;Hookshot&lt;&#x2F;li&gt;
&lt;li&gt;Bridges for IRC, Discord, LinkedIn, Facebook, and Instagram&lt;&#x2F;li&gt;
&lt;li&gt;Matrix Reminder Bot&lt;&#x2F;li&gt;
&lt;li&gt;Maubot&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;I&#x27;ve also found the need to do some performance tuning – while the out-of-the-box setup on my homeserver could handle most rooms, it could not handle resource intensive rooms like Matrix HQ.&lt;&#x2F;p&gt;
&lt;p&gt;However, I&#x27;m still working this out for myself. Performance tuning, such as enabling and tuning workers, is a topic for another day and another blog post. I&#x27;ll be collaborating with Tom Foster on such a post in the near future!&lt;&#x2F;p&gt;
&lt;h2 id=&quot;acknowledgements&quot;&gt;Acknowledgements&lt;&#x2F;h2&gt;
&lt;p&gt;It took quite a lot of help for me to puzzle out this process. I am endlessly grateful to Travis Ralston, Tom Foster, Slavi Pantaleev, Cat, Richard van der Hoff, and many others for their support.&lt;&#x2F;p&gt;
&lt;p&gt;As you embark on your own journey, I highly recommend reading the docs before you take any actions, and joining these rooms for peer support:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#matrix-docker-ansible-deploy:devture.com&quot;&gt;Docker + Ansible = Matrix&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ems:matrix.org&quot;&gt;EMS (Element Matrix Services)&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#synapse:matrix.org&quot;&gt;Synapse Admins&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#synapse-extreme-tuning:fostered.uk&quot;&gt;Synapse Extreme Tuning&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Onwards and upwards!&lt;&#x2F;p&gt;
</content>
</entry>

    
    
<entry xml:lang="en">
    <title>The Matrix Holiday Update 2023</title>
    <published>2023-12-25T00:00:00+00:00</published>
    <updated>2023-12-25T00:00:00+00:00</updated>
    <author>
      <name>
            Matthew Hodgson
          </name>
    </author>
    <link rel="alternate" href="https://f297f985.matrix-website.pages.dev/blog/2023/12/25/the-matrix-holiday-update-2023/" type="text/html"/>
    <id>https://f297f985.matrix-website.pages.dev/blog/2023/12/25/the-matrix-holiday-update-2023/</id>
    <content type="html">&lt;p&gt;Hi all,&lt;&#x2F;p&gt;
&lt;p&gt;2023 has been a pivotal year for Matrix, with huge changes landing both organisationally and technically to prepare the protocol for future generations.  The ecosystem has once again gone from strength to strength, with active users (based on Synapse opt-in phone-home reporting) doubling across the public network, and more projects building on Matrix than we can count (look out for the “This Year in Matrix” community wrap-up blog post) - and more organisations than we can track joining Matrix for all their secure decentralised communication needs.&lt;&#x2F;p&gt;
&lt;p&gt;On the governance side, we are in an incredibly exciting new era with &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2023&#x2F;10&#x2F;26&#x2F;hello-world&#x2F;&quot;&gt;Josh joining the Matrix.org Foundation&lt;&#x2F;a&gt; as its first ever Managing Director (and employee!), with a mandate to cement sustainable funding for Matrix as an independent foundation, governed by the forthcoming elected &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2023&#x2F;12&#x2F;electing-our-first-governing-board&#x2F;&quot;&gt;open Governance Board&lt;&#x2F;a&gt;.  Now, &lt;strong&gt;Matrix needs funding more than ever&lt;&#x2F;strong&gt; - but rather than turning the entirety of this post into a plea for donations, I’m going to let Josh fly the flag in the coming weeks. Meanwhile, if you want Matrix to keep existing (especially if you’re an organisation who builds on Matrix) &lt;strong&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;membership&#x2F;&quot;&gt;please join the Foundation&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;support&quot;&gt;donate&lt;&#x2F;a&gt;.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;On the technical side: the theme of the year has been one of focus: extreme, overdue, focus.&lt;&#x2F;p&gt;
&lt;p&gt;Over the years, it’s fair to say that the core team has tried to strike a balance between building the core foundational technology of Matrix (the spec, a stable server implementation, client SDKs, end-to-end encryption, VoIP, etc)... and long-term forward-looking projects designed to futureproof Matrix (e.g. Account Portability, P2P Matrix, Dendrite, Hydrogen) and&#x2F;or inspire developers to build on Matrix for more than just chat (e.g. Third Room, Applications Beyond Chat).  In retrospect, this was wildly optimistic: we underestimated the amount of remaining work needed to polish the foundational tech to mainstream quality - and despite Matrix uptake going through the roof, this hasn’t translated into sufficient funding to have the luxury to support folks to proactively work on next-gen projects (or foundational projects, for that matter).&lt;&#x2F;p&gt;
&lt;p&gt;So, this year, we’ve ended up focused on one thing: getting the foundational Matrix featureset to better-than-mainstream quality, performance and stability.  We’ve dubbed the overall initiative Matrix 2.0, and kicked it off at &lt;a href=&quot;https:&#x2F;&#x2F;archive.fosdem.org&#x2F;2023&#x2F;schedule&#x2F;event&#x2F;matrix20&#x2F;&quot;&gt;FOSDEM 2023&lt;&#x2F;a&gt; with our &lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=eUPJ9zFV5IE&quot;&gt;Matrix 2.0: How we’re making Matrix go vooooom&lt;&#x2F;a&gt; main-stage talk.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;the-road-to-matrix-2-0&quot;&gt;The Road to Matrix 2.0&lt;&#x2F;h3&gt;
&lt;p&gt;Matrix 2.0 isn’t (yet) an actual versioned release of the Matrix specification - instead, it describes the various foundational projects needed to get quality, performance and stability up to and beyond that of today’s mainstream messaging apps.  These projects are:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Sliding Sync (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3575&quot;&gt;MSC3575&lt;&#x2F;a&gt;)&lt;&#x2F;strong&gt;: the ability to instantly log in, launch and sync Matrix clients no matter how large or busy the account.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Native E2EE Group VoIP (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3898&quot;&gt;MSC3898&lt;&#x2F;a&gt; + TBA)&lt;&#x2F;strong&gt;: scalable video and voice conferencing and calling built natively on Matrix and so benefiting from Matrix’s end-to-end encryption.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Native OIDC (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3861&quot;&gt;MSC3861&lt;&#x2F;a&gt;)&lt;&#x2F;strong&gt;: replacing Matrix’s historical authentication mechanisms with industry-standard Open ID Connect (giving us two factor authentication, multi-factor auth, passkeys, and radically simplifying auth implementations for both client and server developers).&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Faster Remote Room Joins (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3902&quot;&gt;MSC3902&lt;&#x2F;a&gt;&lt;&#x2F;strong&gt;): letting servers rapidly join rooms on other servers by incrementally participating in the room.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Over the course of the year Matrix 2.0 has gone from the initial demo on stage at FOSDEM to concrete implementations which users can play with today as announced in our &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2023&#x2F;09&#x2F;matrix-2-0&#x2F;&quot;&gt;Matrix 2.0: The Future of Matrix&lt;&#x2F;a&gt; post in September.  Since then, we’ve been busy polishing away.  On Sliding Sync, the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;sliding-sync&quot;&gt;proxy&lt;&#x2F;a&gt; has pretty much stabilised - although the protocol itself can and should be simplified before we think seriously about native implementations (in practice, having the server track room list ordering gets very fiddly when only clients can really determine the final ordering, due to E2EE).  &lt;a href=&quot;https:&#x2F;&#x2F;element.io&#x2F;blog&#x2F;element-x-ignition&#x2F;&quot;&gt;Element X&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-rust-sdk&quot;&gt;matrix-rust-sdk&lt;&#x2F;a&gt; has been the main implementation driving forwards Sliding Sync and much of the other Matrix 2.0 work, for those itching to play with it.&lt;&#x2F;p&gt;
&lt;p&gt;On Native Group VoIP: we’ve gone through many iterations over the year - starting off with Full Mesh calling (good for ~7 users per call); then switching to the experimental &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;waterfall&quot;&gt;waterfall&lt;&#x2F;a&gt; Selective Forwarding Unit (SFU) to provide scalable but not-E2EE conferencing; and then switching to a hybrid solution using LiveKit to provide an E2EE-capable scalable SFU, but with the signalling and encryption all handled by Matrix.  Element Call is the main implementation driving forwards the underlying Matrix work here, and &lt;a href=&quot;https:&#x2F;&#x2F;element.io&#x2F;blog&#x2F;element-call-beta-3&#x2F;&quot;&gt;Element Call Beta 3&lt;&#x2F;a&gt; showed off the new LiveKit based implementation in July - which was then &lt;a href=&quot;https:&#x2F;&#x2F;element.io&#x2F;blog&#x2F;element-x-now-with-embedded-voip&#x2F;&quot;&gt;integrated with Element X&lt;&#x2F;a&gt; complete with end-to-end encryption in November.  There’s still some polishing remaining here, with a new layout engine in the wings for Element Call, and enabling full encrypted-per-sender conferencing by default in both Element Web and Element X, but it really feels like the hardest work is behind us now: the core team has been successfully doing all of its collaboration on &lt;a href=&quot;https:&#x2F;&#x2F;call.element.io&quot;&gt;Element Call&lt;&#x2F;a&gt; for months now, like so:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;img&#x2F;20230921-element-call.png&quot; alt=&quot;E2EE scalable Element Call&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;On Open ID Connect: things are also shaping up well. This will be the first time that we’ve replaced a large chunk of the Matrix spec with something else, and in order to manage your account in Matrix 2.0-native clients like Element X homeserver admins will need to migrate their authentication to the new OIDC World using &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-authentication-service&quot;&gt;matrix-authentication-service&lt;&#x2F;a&gt; (MAS).  There’s a great &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2023&#x2F;09&#x2F;better-auth&#x2F;&quot;&gt;blog post&lt;&#x2F;a&gt; from September which explains what this will entail - and since then, we even have the beginnings of &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-authentication-service&#x2F;tree&#x2F;main&#x2F;tools&#x2F;syn2mas&quot;&gt;syn2mas&lt;&#x2F;a&gt;: a migration script to migrate from Synapse-managed accounts to MAS-managed accounts (warning: still experimental).  The Matrix.org homeserver hasn’t been migrated yet (as we need to support social login first), but an increasing number of standalone Matrix servers are going OIDC-native, so arguably the migration has already begun!  We’ll keep &lt;a href=&quot;https:&#x2F;&#x2F;areweoidcyet.com&quot;&gt;https:&#x2F;&#x2F;areweoidcyet.com&lt;&#x2F;a&gt; updated as the project progresses.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, the core of Faster Remote Room Joins (FRRJ) shipped in Synapse back in February. There’s still some major speedups that FRRJ could unlock, but the other tracks of Matrix 2.0 have been taking priority.&lt;&#x2F;p&gt;
&lt;p&gt;So: Matrix 2.0 is palpably on the horizon - all that remains is polish on the example clients (Element X &amp;amp; Element Call), full support for migrating to OIDC, and landing the MSCs into the spec. For instance, Element X just added read receipts and (early) E2EE backup support in the last few days - the gap is closing! It’s worth noting that significant amounts of this work has been funded by BWI for &lt;a href=&quot;https:&#x2F;&#x2F;messenger.bwi.de&#x2F;&quot;&gt;BwMessenger&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;messenger.bwi.de&#x2F;bundesmessenger&quot;&gt;BundesMessenger&lt;&#x2F;a&gt;: huge thanks to BWI for supporting core Matrix development by contracting Element.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;levelling-up-on-encryption&quot;&gt;Levelling up on Encryption&lt;&#x2F;h3&gt;
&lt;p&gt;Encryption stability received a huge amount of attention this year. It turns out that reliable end-to-end encryption is surprisingly tricky in a decentralised environment, and historically we’ve been playing on hard mode by implementing three entirely separate implementations of the Matrix layer of encryption between matrix-js-sdk, matrix-ios-sdk and matrix-android-sdk2, each with their own bugs - more than tripling the costs of development, audits, and maintenance by the Foundation (quite ignoring the independent implementations from the community in mtxclient, libquotient, matrix-dart-sdk, trixnity etc).&lt;&#x2F;p&gt;
&lt;p&gt;So a huge project has been underway to converge on a single auditable codebase for the core team’s E2EE implementation so that any bugs or future features can be resolved in a single place. That codebase is matrix-rust-sdk’s &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-rust-sdk&#x2F;tree&#x2F;main&#x2F;crates&#x2F;matrix-sdk-crypto&quot;&gt;matrix-sdk-crypto&lt;&#x2F;a&gt; crate (and our underlying &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;vodozemac&quot;&gt;vodozemac&lt;&#x2F;a&gt; double ratchet implementation) - and we’re proud to say that we are using it for encryption in matrix-rust-sdk itself (as showcased by Element X and Fractal 5), matrix-ios-sdk and matrix-android-sdk2 (as used in the old Element iOS &amp;amp; Android apps), and have now merged it in matrix-js-sdk too (available for new logins on &lt;a href=&quot;https:&#x2F;&#x2F;f297f985.matrix-website.pages.dev&#x2F;blog&#x2F;2023&#x2F;12&#x2F;25&#x2F;the-matrix-holiday-update-2023&#x2F;develop.element.io&quot;&gt;develop.element.io&lt;&#x2F;a&gt;).  The process of rustifying the encryption in Element Web and the old iOS &amp;amp; Android apps has been nicknamed “Element R”.&lt;&#x2F;p&gt;
&lt;p&gt;The process of switching matrix-js-sdk to use Rust encryption has been particularly gruelling, requiring compiling matrix-sdk-crypto down to WASM as &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-rust-sdk-crypto-wasm&quot;&gt;matrix-rust-sdk-crypto-wasm&lt;&#x2F;a&gt; and then doing heart surgery to replace the old JS crypto implementation… while also needing to extensively loop from WASM back into the browser to use IndexedDB for storage, all while outperforming the old implementation.  It’s tantalisingly close now: while &lt;a href=&quot;https:&#x2F;&#x2F;f297f985.matrix-website.pages.dev&#x2F;blog&#x2F;2023&#x2F;12&#x2F;25&#x2F;the-matrix-holiday-update-2023&#x2F;develop.element.io&quot;&gt;develop.element.io&lt;&#x2F;a&gt; has it turned on by default for new logins, there are still a few remaining performance edge cases to be chased down related to online backup before we migrate everyone to it. The remaining &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;element-hq&#x2F;element-web&#x2F;issues?q=is%3Aissue+is%3Aopen+label%3AZ-Element-R-Blocker&quot;&gt;blocking issues&lt;&#x2F;a&gt; can be found on GitHub for those interested in tracking progress.&lt;&#x2F;p&gt;
&lt;p&gt;matrix-crypto-sdk is already manifestly more reliable than the old implementations (in terms of the chances of hitting infamous Unable To Decrypt errors) - and now that we are so close to converging on it everywhere, the race is on to ensure that any remaining defects get flushed out for once and for all.  One of the new initiatives here is called &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;complement-crypto&quot;&gt;complement-crypto&lt;&#x2F;a&gt; - a full end-to-end torture testing suite specifically for matrix-crypto-sdk.  You can read all about it in &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2023&#x2F;12&#x2F;01&#x2F;this-week-in-matrix-2023-12-01&#x2F;#complement-website&quot;&gt;the announcement post&lt;&#x2F;a&gt; a few weeks ago, but suffice it to say it’s a super exciting project which stress-tests both matrix-rust-sdk and matrix-js-sdk (with the new rust crypto implementation) against federated Synapse containers in order to test E2EE under the most horrible failure modes imaginable.  It’s already picked up some elusive bugs which have plagued us for literally years, and it looks set to be the main framework by which we will hunt down and kill any remaining issues.  See the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;complement-crypto&#x2F;?tab=readme-ov-file#test-hitlist&quot;&gt;Test hitlist&lt;&#x2F;a&gt; for the full scope we’re targeting.&lt;&#x2F;p&gt;
&lt;p&gt;Now that everyone’s (almost) converged on matrix-sdk-crypto, the next big project for the Crypto Team is going to be improving the E2EE usability (at last!).  The big news here is that we’re shifting to Trust On First Use (TOFU) for user trust.  Specifically: this means that we will only encrypt messages to devices whose owner has explicitly cross-signed them (essentially trusting the owner by default).  You will still be able to explicitly verify that other users are not being impersonated (via QR scan or emoji comparison), but this should improve the default behaviour to be much more secure.  Alongside TOFU will come other radical simplifications of the E2EE UX (both around login, self-verification, cross-verification and backup), so watch this space: the game is afoot to finally fix Matrix’s E2EE usability, now we can make all the changes in one place!&lt;&#x2F;p&gt;
&lt;p&gt;Finally, work continues to progress at &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.matrix.org&#x2F;uhoreg&#x2F;matrix-dmls&quot;&gt;matrix-dmls&lt;&#x2F;a&gt; on supporting a decentralised dialect of Messaging Layer Security (MLS, &lt;a href=&quot;https:&#x2F;&#x2F;datatracker.ietf.org&#x2F;doc&#x2F;rfc9420&#x2F;&quot;&gt;RFC9420&lt;&#x2F;a&gt;) on top of Matrix as an alternative to our normal Olm&#x2F;Megolm encryption, with recent work focused on making it play nice with matrix-sdk-crypto. &lt;a href=&quot;https:&#x2F;&#x2F;arewemlsyet.com&quot;&gt;https:&#x2F;&#x2F;arewemlsyet.com&lt;&#x2F;a&gt; is the place to track updates (although it’s a bit overdue for an update).&lt;&#x2F;p&gt;
&lt;h3 id=&quot;in-other-news&quot;&gt;In other news&lt;&#x2F;h3&gt;
&lt;p&gt;Faced with limited funding and the decision to focus exclusively on stability, reliability and performance, there have inevitably been some major changes impacting the core team.&lt;&#x2F;p&gt;
&lt;p&gt;One of the biggest changes is that Element (the company formed by the core Matrix team back in 2017 to try to fund our work on Matrix) can no longer financially afford to donate its work on Synapse and other server components to the Matrix Foundation under the permissive Apache licence. Instead, Element is continuing development under the copyleft AGPLv3 licence at &lt;a href=&quot;https:&#x2F;&#x2F;f297f985.matrix-website.pages.dev&#x2F;blog&#x2F;2023&#x2F;12&#x2F;25&#x2F;the-matrix-holiday-update-2023&#x2F;github.com&#x2F;element-hq&#x2F;synapse&quot;&gt;github.com&#x2F;element-hq&#x2F;synapse&lt;&#x2F;a&gt; going forwards. This is to let Element sell AGPL exceptions to commercial Matrix vendors in order to fund their underlying Matrix development: you can read more about it at &lt;a href=&quot;https:&#x2F;&#x2F;element.io&#x2F;blog&#x2F;synapse-now-lives-at-github-com-element-hq-synapse&#x2F;&quot;&gt;Element’s announcement&lt;&#x2F;a&gt; - or you can listen to this week’s Matrix Live for a firsthand explanation:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;noscript&gt;Matrix Live S09E13: &lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;embed&#x2F;ejpjTZhL8MA&quot;&gt;https:&#x2F;&#x2F;www.youtube.com&#x2F;embed&#x2F;ejpjTZhL8MA&lt;&#x2F;a&gt;&lt;&#x2F;noscript&gt;
&lt;youtube-player video-id=&quot;ejpjTZhL8MA&quot;&gt;&lt;&#x2F;youtube-player&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The other major change is that we’ve had no choice but pause development on the majority of the core team’s next-generation Matrix projects.  We had high hopes of being able to secure dedicated funding for &lt;a href=&quot;https:&#x2F;&#x2F;f297f985.matrix-website.pages.dev&#x2F;blog&#x2F;2023&#x2F;12&#x2F;25&#x2F;the-matrix-holiday-update-2023&#x2F;thirdroom.io&quot;&gt;Third Room&lt;&#x2F;a&gt; (especially after the awesome &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2023&#x2F;06&#x2F;07&#x2F;introducing-third-room-tp-2-the-creator-update&#x2F;&quot;&gt;Tech Preview 2: Creator Update&lt;&#x2F;a&gt; in June), but the interested parties did not come through, and the team has now disbanded.  Meanwhile, P2P Matrix and Low Bandwidth Matrix is on hiatus until there’s dedicated funding - and Account Portability work is also temporarily paused in favour of commercial Element work, despite the fantastic progress made recently with Pseudo IDs (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4014&quot;&gt;MSC4014&lt;&#x2F;a&gt;) and Cryptographic identifiers (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4080&quot;&gt;MSC4080&lt;&#x2F;a&gt;).  Given P2P Matrix and Account Portability were the main projects driving Dendrite development recently, this may also cause a slow-down in Dendrite development, although Dendrite itself will still be maintained.&lt;&#x2F;p&gt;
&lt;p&gt;Needless to say, this is far from an ideal situation: we sent up distress flares loud and clear at the beginning of &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2022&#x2F;12&#x2F;25&#x2F;the-matrix-holiday-update-2022&#x2F;&quot;&gt;last year’s holiday update&lt;&#x2F;a&gt;; and we’ve now had to shrink to focus exclusively on the core projects.  However, we’re optimistic that the tighter focus in the medium term will help us get back to the point where we can resume the longer-term projects - assuming that organisations (and individuals) dependent on Matrix &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;support&quot;&gt;sign up to support the project.&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;conclusion&quot;&gt;Conclusion&lt;&#x2F;h3&gt;
&lt;p&gt;Despite the downsides of 2023, right now we’re feeling distinctly optimistic: Matrix 2.0 clients like Element X already outperform the best proprietary mainstream options by many metrics - and focusing purely on improving the foundations is only going to improve that. We may not have taken the most direct route to get to where we are today, but it genuinely feels like 2024 will be the year where Matrix overtakes the incumbents.&lt;&#x2F;p&gt;
&lt;p&gt;Talking of which, there’s just one last thing to mention: amidst the economic challenges of 2023, one future-facing core team Matrix project has survived: our work around the EU Digital Markets Act (DMA).  The DMA is leading antitrust legislation from the European Commission, which aims to stop big centralised tech companies (so called ‘gatekeepers’) from carelessly suppressing innovation, competition and consumer choice by trapping users inside their walled gardens.&lt;&#x2F;p&gt;
&lt;p&gt;Needless to say, we’ve been tracking the DMA closely throughout its gestation, and we’re now in the final sprint: in March 2024, messaging services which have been identified as gatekeepers will have to open their networks to allow interoperability with requesting messaging services (while preserving E2EE, if they’re encrypted).  So far, only WhatsApp and Facebook Messenger have been identified as gatekeeper services (Apple is doing everything they can to &lt;a href=&quot;https:&#x2F;&#x2F;appleinsider.com&#x2F;articles&#x2F;23&#x2F;12&#x2F;06&#x2F;apple-may-yet-prevail-in-eu-imessage-antitrust-investigation&quot;&gt;wriggle out of it&lt;&#x2F;a&gt;).  However, it looks like WhatsApp is &lt;a href=&quot;https:&#x2F;&#x2F;www.theverge.com&#x2F;2023&#x2F;9&#x2F;10&#x2F;23866912&#x2F;whatsapp-cross-platform-messaging-eu-dma-meta&quot;&gt;taking it seriously&lt;&#x2F;a&gt;, which could prove very interesting indeed.&lt;&#x2F;p&gt;
&lt;p&gt;As Matrix, we’ve taken a two-pronged approach: on one side, showcasing how Matrix as it stands today can already bridge existing chat systems together as a highest-common-denominator protocol (including preserving E2EE, if they happen to already use the Double Ratchet).  On the other side, we’ve also been contributing significantly to &lt;a href=&quot;https:&#x2F;&#x2F;datatracker.ietf.org&#x2F;group&#x2F;mimi&#x2F;about&#x2F;&quot;&gt;MIMI&lt;&#x2F;a&gt;, the IETF Working Group dedicated to standardising a lowest-common-denominator protocol specifically for DMA interoperability.&lt;&#x2F;p&gt;
&lt;p&gt;2023 has involved a lot of work on MIMI, participating in the Design Team alongside Phoenix, Wire, Cisco, Google and Wickr - and at IETF 118 in Prague in November we collectively proposed the first &lt;a href=&quot;https:&#x2F;&#x2F;datatracker.ietf.org&#x2F;doc&#x2F;html&#x2F;draft-ralston-mimi-protocol-01&quot;&gt;draft of the protocol&lt;&#x2F;a&gt; (see also the &lt;a href=&quot;https:&#x2F;&#x2F;datatracker.ietf.org&#x2F;meeting&#x2F;118&#x2F;materials&#x2F;slides-118-mimi-mimi-architecture-00&quot;&gt;architecture presentation&lt;&#x2F;a&gt; for context). MIMI has ended up taking some inspiration from Matrix (and &lt;a href=&quot;https:&#x2F;&#x2F;datatracker.ietf.org&#x2F;doc&#x2F;draft-ralston-mimi-linearized-matrix&#x2F;&quot;&gt;Linearized Matrix&lt;&#x2F;a&gt;, a simplified dialect we proposed which does away with full-mesh decentralisation), while focusing very tightly on the specific problems of server-to-server interop between existing communication services - leaning on MLS (where available) for synchronising state across the services, while also leaving the door open for using the Double Ratchet to provide an on-ramp for pragmatic bridging to today’s services (including Matrix!).&lt;&#x2F;p&gt;
&lt;p&gt;MIMI’s tight focus means that it doesn’t currently provide conversation history, arbitrary state events, or decentralised conversations - and is focused purely on server-server communication.  However, there’s certainly a world where Matrix could evolve to be compatible with MIMI - such a hypothetical Matrix 3.0 would effectively layer Matrix’s richer existing semantics (decentralised conversations, extensible state events, state resolution, group VoIP etc) on top of MIMI’s subset of functionality.  It’ll be interesting to see how this plays out.  Meanwhile, we’ll continue to provide both Matrix for pragmatic DMA interoperability for today - and participate in MIMI for IETF-track interoperability.&lt;&#x2F;p&gt;
&lt;p&gt;Anyhow: hopefully it’s clear that 2024 is going to be a super interesting year for Matrix - whether that’s simply by nailing Matrix 2.0, or whatever excitements DMA interoperability brings. And if you’re relying on Matrix: &lt;strong&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;support&quot;&gt;please donate&lt;&#x2F;a&gt;.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Meanwhile - have a fantastic end of the year; and thanks once again for flying Matrix.&lt;&#x2F;p&gt;
&lt;p&gt;- Matthew, Amandine, Josh &amp;amp; the whole team.&lt;&#x2F;p&gt;
</content>
</entry>

    
    
<entry xml:lang="en">
    <title>This Week in Matrix 2023-12-22</title>
    <published>2023-12-22T00:00:00+00:00</published>
    <updated>2023-12-22T00:00:00+00:00</updated>
    <author>
      <name>
            Thib
          </name>
    </author>
    <link rel="alternate" href="https://f297f985.matrix-website.pages.dev/blog/2023/12/2/this-week-in-matrix-2023-12-22/" type="text/html"/>
    <id>https://f297f985.matrix-website.pages.dev/blog/2023/12/2/this-week-in-matrix-2023-12-22/</id>
    <content type="html">&lt;h2 id=&quot;matrix-live&quot;&gt;Matrix Live&lt;&#x2F;h2&gt;
&lt;noscript&gt;Today&#x27;s Matrix Live: &lt;a href=&quot;https:&#x2F;&#x2F;youtube.com&#x2F;watch?v=ejpjTZhL8MA&quot;&gt;https:&#x2F;&#x2F;youtube.com&#x2F;watch?v=ejpjTZhL8MA&lt;&#x2F;a&gt;&lt;&#x2F;noscript&gt;
&lt;youtube-player video-id=&quot;ejpjTZhL8MA&quot;&gt;&lt;&#x2F;youtube-player&gt;
&lt;h2 id=&quot;dept-of-status-of-matrix-face-with-th&quot;&gt;Dept of &lt;em&gt;Status of Matrix&lt;&#x2F;em&gt; 🌡️&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;matrix-community-year-in-review-2023&quot;&gt;Matrix Community Year In Review 2023&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@deepbluev7:neko.dev&quot;&gt;Nico&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;(Please ignore, that I never know, what year number to attach to such a &amp;quot;Year In&amp;quot;)&lt;&#x2F;p&gt;
&lt;p&gt;You may remember I organized a small blog post last year to collect stories from the different community projects and what they did in the year and maybe some sneak peaks at the next year. If not, you can find it &lt;a href=&quot;https:&#x2F;&#x2F;blog.neko.dev&#x2F;posts&#x2F;matrix-year-in-review-2022.html&quot;&gt;here&lt;&#x2F;a&gt; or on the Matrix.org blog.&lt;&#x2F;p&gt;
&lt;p&gt;Anyway, enough about 2022, I now encourage you to talk about 2023 and beyond! If you have interesting stuff to report about your projects or projects you have been involved in in 2023, feel free to join &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#year-in-2023:neko.dev&quot;&gt;#year-in-2023:neko.dev&lt;&#x2F;a&gt; and talk about it! The usual TWIM rules apply there, just that we talk about a whole year and it may involve lots of manual editing on my side, so don&#x27;t try to break it. Also please be positive in your news and lets try to end 2023 with a bang!&lt;&#x2F;p&gt;
&lt;p&gt;And please share this with projects you want to hear about. :)&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;h2 id=&quot;dept-of-spec-scroll&quot;&gt;Dept of Spec 📜&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@travis:t2l.io&quot;&gt;TravisR&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Here&#x27;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:&#x2F;&#x2F;spec.matrix.org&#x2F;proposals.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;msc-status&quot;&gt;MSC Status&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;New MSCs:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4085&quot;&gt;MSC4085: Improved CS-API Errors&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4084&quot;&gt;MSC4084: Improving security of MSC2244 (Mass redactions)&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4083&quot;&gt;MSC4083: Delta-compressed E2EE file transfers&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;MSCs in Final Comment Period:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;No MSCs are in FCP.&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Accepted MSCs:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;No MSCs were accepted this week.&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Closed MSCs:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2700&quot;&gt;MSC2700: Thumbnail requirements for the media repo&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2704&quot;&gt;MSC2704: Explicitly allow alternative origins in MXC URIs and specify deduplication requirements on uploads&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;spec-updates&quot;&gt;Spec Updates&lt;&#x2F;h2&gt;
&lt;p&gt;There hasn&#x27;t been a whole lot of spec progress this month due to holidays and other time constraints, but we have been hard at work preparing for the new year&#x27;s first release: Matrix 1.10. Expected sometime late February to March 2024, Matrix 1.10 will hopefully bring a lot of forward movement on major projects like Extensible Events, Custom Stickers &amp;amp; Emoji, and Authenticated Media.&lt;&#x2F;p&gt;
&lt;p&gt;Our plan is published &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;!ewdjhNcPcEmYNKzlWp:t2l.io&#x2F;$ehaO0pEGmC-zpWTItLRyuRvJBIMLSDOrl9uwSrv6cc0?via=matrix.org&amp;amp;via=element.io&amp;amp;via=envs.net&quot;&gt;here&lt;&#x2F;a&gt;, and is open for comment until about January 10th, 2024 - let us know if we missed anything, or if there&#x27;s something unexpected there!&lt;&#x2F;p&gt;
&lt;p&gt;As always, if you have an MSC which is ready for FCP and &lt;em&gt;not&lt;&#x2F;em&gt; on the plan, let us know in &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#sct-office:matrix.org&quot;&gt;#sct-office:matrix.org&lt;&#x2F;a&gt; - we&#x27;ll aim to get it included.&lt;&#x2F;p&gt;
&lt;p&gt;Thanks, and see you all in January :)&lt;&#x2F;p&gt;
&lt;p&gt;(P.S.: no random MSC of the week because I can&#x27;t get the script to run - sorry)&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-clients-iphone&quot;&gt;Dept of Clients 📱&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;nheko-website&quot;&gt;Nheko (&lt;a href=&quot;https:&#x2F;&#x2F;nheko-reborn.github.io&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;Desktop client for Matrix using Qt and C++17.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@deepbluev7:neko.dev&quot;&gt;Nico&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Hey there! I was basically blown away the last few days (because of the weather though), but maybe these small changes will have the same effect for you!&lt;&#x2F;p&gt;
&lt;p&gt;Emma (not that Emma, the other one!) enabled deletion of sticker and emoji packs in Nheko. I never thought about it, but some people might genuinely want to remove an old pack from a room! I guess that is the kind of polish, that a feature needs, once people have used it for a while and that is easy to miss at the start. Thanks a lot!&lt;&#x2F;p&gt;
&lt;p&gt;On the other hand q234rty modified our workaround to palette switching to have less of a performance impact on KDE6. If you were using the development versions of KDE6 (like plasma 6 or just its themes), it might have taken up to 7 seconds to open a new window. Now it should be less than one. Sadly the workaround itself is still needed, but we might figure out how to fix it properly some day.&lt;&#x2F;p&gt;
&lt;p&gt;Apart from that we finally figured out how to make our appinstaller work properly. Turns out you really need range requests in your file store! And Microsoft documentation is as good as ever! If you want to install the latest Nheko Nightly on windows, you can now just click &lt;a href=&quot;https:&#x2F;&#x2F;nheko-reborn.pages.nheko.im&#x2F;nheko&#x2F;NhekoNightly.appinstaller&quot;&gt;here&lt;&#x2F;a&gt;. Note that the icon still has a blue background there. Microsoft requires us to add 2 more app icons to allow us to make the background transparent and I really am not motivated to do that at this point in time... But installing Nheko that way will automatically check for updates one a week. Of course that means you will ping our servers once a week, so if you want to avoid that, please install the msix directly instead of going through the appinstaller.&lt;&#x2F;p&gt;
&lt;p&gt;That&#x27;s everything for this year, see you in the next one! 🎉&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;fractal-website&quot;&gt;Fractal (&lt;a href=&quot;https:&#x2F;&#x2F;gitlab.gnome.org&#x2F;GNOME&#x2F;fractal&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;Matrix messaging app for GNOME written in Rust.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@zecakeh:tedomum.net&quot;&gt;Kévin Commaille&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Let&#x27;s celebrate the winter (or summer) solstice with a new Fractal beta release! Even though Fractal 5 was released only 1 month ago, development has been going at a steady pace with a few new contributors, so we want our users to benefit from our progress.&lt;&#x2F;p&gt;
&lt;p&gt;The staff&#x27;s picks:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;gitlab.gnome.org&#x2F;GNOME&#x2F;fractal&#x2F;-&#x2F;issues&#x2F;1324&quot;&gt;Restoring sessions from Secret Services other than GNOME Keyring has been fixed&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;gitlab.gnome.org&#x2F;GNOME&#x2F;fractal&#x2F;-&#x2F;issues&#x2F;1262&quot;&gt;Times follow the format (12h or 24h) from the system settings&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;gitlab.gnome.org&#x2F;GNOME&#x2F;fractal&#x2F;-&#x2F;issues&#x2F;1322&quot;&gt;Media history works in encrypted rooms&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;gitlab.gnome.org&#x2F;GNOME&#x2F;fractal&#x2F;-&#x2F;merge_requests&#x2F;1491&quot;&gt;The accessibility of the sidebar was improved&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;More notifications settings were added, you can now set &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.gnome.org&#x2F;GNOME&#x2F;fractal&#x2F;-&#x2F;merge_requests&#x2F;1496&quot;&gt;global&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.gnome.org&#x2F;GNOME&#x2F;fractal&#x2F;-&#x2F;merge_requests&#x2F;1502&quot;&gt;per-room&lt;&#x2F;a&gt; behavior and even manage your keywords&lt;&#x2F;li&gt;
&lt;li&gt;A bunch of refactoring, notably &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.gnome.org&#x2F;GNOME&#x2F;fractal&#x2F;-&#x2F;merge_requests?scope=all&amp;amp;state=merged&amp;amp;search=glib+properties+macro&quot;&gt;the port to the &lt;code&gt;glib::Properties&lt;&#x2F;code&gt; macro from gtk-rs&lt;&#x2F;a&gt; that helped us removed almost &lt;strong&gt;3000&lt;&#x2F;strong&gt; lines of code!&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;As usual, this release includes other improvements, fixes and new translations thanks to all our contributors, and our upstream projects.&lt;&#x2F;p&gt;
&lt;p&gt;It is available to install via Flathub Beta, see the &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.gnome.org&#x2F;GNOME&#x2F;fractal#installation-instructions&quot;&gt;instructions in our README&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;As the version implies, there might be a slight risk of regressions, but it should be mostly stable. If all goes well the next step is the release candidate!&lt;&#x2F;p&gt;
&lt;p&gt;If you find yourself with time to spare during these end-of-year holidays, you can always try to fix one of our &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.gnome.org&#x2F;GNOME&#x2F;fractal&#x2F;-&#x2F;issues&quot;&gt;issues&lt;&#x2F;a&gt;. Any help is greatly appreciated!
&lt;img src=&quot;&#x2F;blog&#x2F;img&#x2F;08fd1c7f43f8e6b62f23e1dd49bf4da6a068e9bc1737895709337714688.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-non-chat-clients-control-knobs&quot;&gt;Dept of Non Chat Clients 🎛️&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;circles-website&quot;&gt;Circles (&lt;a href=&quot;https:&#x2F;&#x2F;www.kombuchaprivacy.com&#x2F;circles&#x2F;&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;E2E encrypted social networking built on Matrix. Safe, private sharing for your friends, family, and community.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@cvwright:futo.org&quot;&gt;cvwright&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Circles is an encrypted social networking app for families and friends.  It is currently in open beta testing and will be launching early in 2024.&lt;&#x2F;p&gt;
&lt;p&gt;This week we released our biggest beta update yet on iOS.  Circles iOS v0.9.0 (27) is available now on &lt;a href=&quot;https:&#x2F;&#x2F;testflight.apple.com&#x2F;join&#x2F;Hvj9S0SX&quot;&gt;TestFlight&lt;&#x2F;a&gt; and includes a long list of new features and UI improvements, including:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Better navigation with less wasted space on iPhone&lt;&#x2F;li&gt;
&lt;li&gt;New &amp;quot;pull down to refresh&amp;quot; on most screens&lt;&#x2F;li&gt;
&lt;li&gt;More responsive UI for invitations&lt;&#x2F;li&gt;
&lt;li&gt;Show search suggestions when inviting friends to a new circle or group&lt;&#x2F;li&gt;
&lt;li&gt;Better UI for finding friends of your friends and inviting them to follow you&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Source code and more information are available from the &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.futo.org&#x2F;circles&#x2F;circles-ios&#x2F;-&#x2F;releases&#x2F;v0.9.0&quot;&gt;FUTO Gitlab&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-sdks-and-frameworks&quot;&gt;Dept of SDKs and Frameworks 🧰&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;elm-matrix-sdk&quot;&gt;elm-matrix-sdk&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@bram:matrix.directory&quot;&gt;Bram&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;This week, &lt;a href=&quot;https:&#x2F;&#x2F;package.elm-lang.org&#x2F;packages&#x2F;noordstar&#x2F;elm-matrix-sdk-beta&#x2F;2.0.0&#x2F;&quot;&gt;beta version 2.0.0&lt;&#x2F;a&gt; of the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;noordstar&#x2F;elm-matrix-sdk-beta&quot;&gt;Elm SDK&lt;&#x2F;a&gt; has been published!&lt;&#x2F;p&gt;
&lt;p&gt;That might sound a bit quick since beta version 1.0.0 was released last week - but in Elm, the compiler decides the version bump, not the marketing team. If you&#x27;re curious what exactly happened that forced this major version bump, feel free to join the conversation at &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#elm-sdk:matrix.org&quot;&gt;#elm-sdk:matrix.org&lt;&#x2F;a&gt;!&lt;&#x2F;p&gt;
&lt;p&gt;This week, I would love to get your feedback on customizability. 🎚️ We released a &lt;code&gt;Matrix.Settings&lt;&#x2F;code&gt; module which allows you to configure the &lt;code&gt;Vault&lt;&#x2F;code&gt; with certain variables. Take a look at &lt;a href=&quot;https:&#x2F;&#x2F;package.elm-lang.org&#x2F;packages&#x2F;noordstar&#x2F;elm-matrix-sdk-beta&#x2F;2.0.0&#x2F;Matrix-Settings&quot;&gt;the current two settings&lt;&#x2F;a&gt; and please let me know what else you&#x27;d like to configure in an SDK before it starts talking to your homeserver.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;trixnity-website&quot;&gt;Trixnity (&lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;trixnity&#x2F;trixnity&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;Multiplatform Kotlin SDK for Matrix&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@benedict:imbitbu.de&quot;&gt;Benedict&lt;&#x2F;a&gt; announces&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;I introduced a bot mode in Trixnity v4.1.1. It disables many features of the &lt;code&gt;MatrixClient&lt;&#x2F;code&gt; and speeds it up significantly. It can be used for E2EE-enabled event processing. First integration tests showed a processing time of less than 1 ms per encrypted event in a sync (on my notebook).&lt;&#x2F;p&gt;
&lt;p&gt;features&#x2F;improvements:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;introduce bot mode&lt;&#x2F;li&gt;
&lt;li&gt;add Kotlin&#x2F;JS &lt;code&gt;ByteArrayFlow&lt;&#x2F;code&gt; helpers for &lt;code&gt;Stream&lt;&#x2F;code&gt;s&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;bugfixes:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;fix decrypt olm bug: &lt;code&gt;device_one_time_keys_count&lt;&#x2F;code&gt; has been processed before decryption -&amp;gt; one time keys were removed and could not be used for decryption&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;matrix-rust-sdk-website&quot;&gt;matrix-rust-sdk (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-rust-sdk&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;Next-gen crypto-included SDK for developing Clients, Bots and Appservices; written in Rust with bindings for Node, Swift and WASM&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@jplatte:flipdot.org&quot;&gt;Jonas Platte&lt;&#x2F;a&gt; reports&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-rust-sdk&#x2F;pull&#x2F;2953&quot;&gt;Process rooms&#x27; read status client-side&lt;&#x2F;a&gt; (to be able to tell whether &#x2F; how many unread messages a room has, whether there are mentions and such)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-rust-sdk&#x2F;pull&#x2F;2925&quot;&gt;Allow creating encrypted DMs&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-rust-sdk&#x2F;pull&#x2F;2939&quot;&gt;Maybe trigger backup at end of sync&lt;&#x2F;a&gt; (upload keys to backup incrementally &#x2F; automatically)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-rust-sdk&#x2F;pull&#x2F;2961&quot;&gt;Fix regenerate_olm_machine losing backup state&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-rust-sdk&#x2F;pull&#x2F;2957&quot;&gt;Fix a bug where the same keys would keep getting re-uploaded to backup&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-rust-sdk&#x2F;pull&#x2F;2968&quot;&gt;Fix: don&#x27;t update a &lt;code&gt;RoomInfo&lt;&#x2F;code&gt; if the read receipts haven&#x27;t changed&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-rust-sdk&#x2F;pull&#x2F;2975&quot;&gt;Fix: revert notification count change from read receipts PR&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;An internal but noteworthy development regarding the FFI crates: We are slowly making the necessary changes to enable UniFFI multi-crate builds where some parts of the bindings are generated from annotations in the regular Rust crates that non-FFI consumers use as well. Those annotations are by far the lightest-weight binding solution in terms of maintenance since there&#x27;s a lot less boilerplate involved compared to the previous approach where every FFI function needs to be defined as its own Rust function (that oftentimes just calls a function from of the same name from another crate).&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;matrix-dart-sdk-website&quot;&gt;Matrix Dart SDK (&lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;famedly&#x2F;company&#x2F;frontend&#x2F;famedlysdk&quot;&gt;website&lt;&#x2F;a&gt;)&lt;&#x2F;h3&gt;
&lt;p&gt;Matrix SDK written in pure Dart.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@td:technodisaster.com&quot;&gt;td&lt;&#x2F;a&gt; reports&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;h3 id=&quot;matrix-dart-sdk-website-1&quot;&gt;Matrix Dart SDK &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;famedly&#x2F;matrix-dart-sdk&quot;&gt;website&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;Nothing exciting this week as everyone glides into vacation mode, but we had a (very small) breaking change so here I am :D&lt;&#x2F;p&gt;
&lt;h4 id=&quot;v0-25-0&quot;&gt;v0.25.0&lt;&#x2F;h4&gt;
&lt;p&gt;If you used any of the &lt;code&gt;Timeouts&lt;&#x2F;code&gt; values from the sdk in your client, they are now renamed to something a bit more sensible (&lt;code&gt;CallTimeouts&lt;&#x2F;code&gt;).&lt;&#x2F;p&gt;
&lt;p&gt;otoh we had some sweet internal changes like finally having tests for calls in the sdk! Here&#x27;s the whole &lt;a href=&quot;https:&#x2F;&#x2F;pub.dev&#x2F;packages&#x2F;matrix&#x2F;changelog#0250---21st-december-2023&quot;&gt;changelog&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-ops&quot;&gt;Dept of Ops 🛠&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;dendrite-admin-interface&quot;&gt;Dendrite-Admin-Interface&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@jjj333_p_1325:envs.net&quot;&gt;jjj333_p [envs variant]&lt;&#x2F;a&gt; reports&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;A project has been begun to make interfacing with Dendrite&#x27;s admin endpoints easier has been begun. Currently administration of a Dendrite server requires interfacing with http endpoints (using curl or similar), and it is still essential to read directly from PostgreSQL in order to fetch some of the information necessary to properly maintain a public homeserver. The goal of Dendrite Admin Interface is to simplify this and add functionality by allowing admins to interface with these endpoints and read only operations of the database using simple bot commands in a dedicated administration room. &lt;&#x2F;p&gt;
&lt;p&gt;This project is still in the baby stages, and only the evacuateRoom endpoint has been implemented, however most of the base code has been begun and development is picking up speed. If you are interested in contributing or learning more please visit our GitHub: https:&#x2F;&#x2F;github.com&#x2F;jjj333-p&#x2F;dendrite-admin-interface&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-bots-robot-face&quot;&gt;Dept of Bots 🤖&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;openai-translate-maubot-plugin&quot;&gt;OpenAI Translate Maubot Plugin&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@tom:fostered.uk&quot;&gt;Tom Foster&lt;&#x2F;a&gt; reports&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;h4 id=&quot;v0-3-0&quot;&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;tcpipuk&#x2F;maubot-openai-translate&#x2F;releases&quot;&gt;v0.3.0&lt;&#x2F;a&gt;&lt;&#x2F;h4&gt;
&lt;p&gt;This is a simple GPT-based alternative to &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;maubot&#x2F;maubot&quot;&gt;Maubot&lt;&#x2F;a&gt;&#x27;s Google Translate plugin to help people understand each other. 🤝&lt;&#x2F;p&gt;
&lt;p&gt;As we connect across different cultures and languages, understanding each other is crucial, and this bot is designed to help cross those barriers, making it possible to understand even very technical or nuanced messages in other languages.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;ve configured over 200 language codes so far, including extended IETF codes like &lt;code&gt;en-gb&lt;&#x2F;code&gt;, &lt;code&gt;fr-ca&lt;&#x2F;code&gt;, &lt;code&gt;pt-br&lt;&#x2F;code&gt;, even &lt;code&gt;nds&lt;&#x2F;code&gt; for Low German (Plattdütsch), and so far the results are noticeably more natural and fluent than the Google equivalent, so I&#x27;m excited to see what the community does with it. 🚀&lt;&#x2F;p&gt;
&lt;p&gt;Considering the API has a cost, I&#x27;ve optimised the default prompt to minimise token usage, and added rate-limiting options so you can limit the requests each user can make over a given period of time to minimise abuse.&lt;&#x2F;p&gt;
&lt;p&gt;Through actual usage across several public rooms this week, I&#x27;ve observed an average of only about 45 input tokens and 15 output tokens per request. In real terms, that&#x27;s just over 133 translations for $0.01 using the &lt;code&gt;gpt-3.5-turbo&lt;&#x2F;code&gt; model, making it a very cost-effective solution for communities of almost any size! 💸👍&lt;&#x2F;p&gt;
&lt;p&gt;You can add your own custom language codes (it comes with &lt;code&gt;en-cockney&lt;&#x2F;code&gt; and &lt;code&gt;lotr-sindarin&lt;&#x2F;code&gt; as examples) and even use an alternative API if you have an OpenAI-compatible endpoint to use.&lt;&#x2F;p&gt;
&lt;p&gt;Visit the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;tcpipuk&#x2F;maubot-openai-translate&#x2F;releases&quot;&gt;releases&lt;&#x2F;a&gt; page to give it a whirl, contribute, or drop some feedback - I&#x27;m eager to make this as easy and flexible as possible, so would love to hear your suggestions! 🔧&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;matrix-federation-stats&quot;&gt;Matrix Federation Stats&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;@aine:etke.cc&quot;&gt;Aine&lt;&#x2F;a&gt; says&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;collected by &lt;a href=&quot;https:&#x2F;&#x2F;matrixrooms.info&quot;&gt;MatrixRooms.info&lt;&#x2F;a&gt; - an &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;mrs&#x2F;api&quot;&gt;MRS&lt;&#x2F;a&gt; instance by &lt;a href=&quot;https:&#x2F;&#x2F;etke.cc?utm_source=twim&amp;amp;utm_medium=matrix&amp;amp;utm_campaign=federation-stats&quot;&gt;etke.cc&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;As of today, &lt;code&gt;8423&lt;&#x2F;code&gt; Matrix federateable servers have been discovered by matrixrooms.info, &lt;code&gt;2241&lt;&#x2F;code&gt; (&lt;code&gt;26.6%&lt;&#x2F;code&gt;) of them are publishing their rooms directory over federation.
The published directories contain &lt;code&gt;168349&lt;&#x2F;code&gt; rooms (such difference with previous week is due to the enabled automatic retention policy in MRS for unpublished&#x2F;removed rooms)&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;mrs&#x2F;api&#x2F;-&#x2F;blob&#x2F;main&#x2F;docs&#x2F;indexing.md&quot;&gt;How to add your server&lt;&#x2F;a&gt; | &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;etke.cc&#x2F;mrs&#x2F;api&#x2F;-&#x2F;blob&#x2F;main&#x2F;docs&#x2F;deindexing.md&quot;&gt;How to remove your server&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dept-of-ping&quot;&gt;Dept of Ping&lt;&#x2F;h2&gt;
&lt;p&gt;Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;maubot&#x2F;echo&quot;&gt;pingbot&lt;&#x2F;a&gt;, a &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;maubot&#x2F;maubot&quot;&gt;maubot&lt;&#x2F;a&gt; that you can host on your own server.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;ping-maunium-net&quot;&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ping:maunium.net&quot;&gt;#ping:maunium.net&lt;&#x2F;a&gt;&lt;&#x2F;h4&gt;
&lt;p&gt;Join &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ping:maunium.net&quot;&gt;#ping:maunium.net&lt;&#x2F;a&gt; to experience the fun live, and to find out how to add YOUR server to the game.&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align: center&quot;&gt;Rank&lt;&#x2F;th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Hostname&lt;&#x2F;th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Median MS&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;1&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;maunium.net&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;294&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;2&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;nerdhouse.io&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;334&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;3&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;plocki.org&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;343&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;4&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;fostered.uk&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;364&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;5&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;grmml.de&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;407.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;6&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;matrix.its-tps.fr&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;693&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;7&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;intelfx.name&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;996&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;8&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;matrix.sp-codes.de&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;1261&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;9&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;mailstation.de&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;1277&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;10&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;norrland.xyz&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;1583&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h3 id=&quot;ping-no-synapse-maunium-net&quot;&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ping-no-synapse:maunium.net&quot;&gt;#ping-no-synapse:maunium.net&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;Join &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#ping-no-synapse:maunium.net&quot;&gt;#ping-no-synapse:maunium.net&lt;&#x2F;a&gt; to experience the fun live, and to find out how to add YOUR server to the game.&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align: center&quot;&gt;Rank&lt;&#x2F;th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Hostname&lt;&#x2F;th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Median MS&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;1&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;nerdhouse.io&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;163&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;2&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;spqr2gang.com&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;171.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;3&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;dendrite.matrix.org&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;198&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;4&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;dendrite.s3cr3t.me&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;226&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;5&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;matrix.its-tps.fr&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;240.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;6&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;fostered.uk&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;287&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;7&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;kanp.ai&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;631&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;8&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;conduit.grich.sk&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;776.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;9&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;darkness.services&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;1251&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;10&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;l1qu1d.net&lt;&#x2F;td&gt;&lt;td style=&quot;text-align: center&quot;&gt;2138.5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h2 id=&quot;that-s-all-i-know&quot;&gt;That&#x27;s all I know&lt;&#x2F;h2&gt;
&lt;p&gt;See you next week, and be sure to stop by &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#twim:matrix.org&quot;&gt;#twim:matrix.org&lt;&#x2F;a&gt; with your updates!&lt;&#x2F;p&gt;
</content>
</entry>

    
    
<entry xml:lang="en">
    <title>The Governing Board, our next big step in open governance</title>
    <published>2023-12-19T18:00:00+00:00</published>
    <updated>2023-12-19T18:00:00+00:00</updated>
    <author>
      <name>
            Josh Simmons
          </name>
    </author>
    <link rel="alternate" href="https://f297f985.matrix-website.pages.dev/blog/2023/12/electing-our-first-governing-board/" type="text/html"/>
    <id>https://f297f985.matrix-website.pages.dev/blog/2023/12/electing-our-first-governing-board/</id>
    <content type="html">&lt;h2 id=&quot;forging-our-future-with-matrix&quot;&gt;Forging our future with Matrix&lt;&#x2F;h2&gt;
&lt;p&gt;As 2023 winds down and I find myself in the thick of planning for 2024, I’d like to start preparing all of us in the Matrix ecosystem for what is to come.&lt;&#x2F;p&gt;
&lt;p&gt;Next year will mark a number of important milestones in the history and evolution of Matrix: the protocol will mark its &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2014&#x2F;09&#x2F;03&#x2F;hello-world&#x2F;&quot;&gt;10th birthday&lt;&#x2F;a&gt;, we’ll see &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2023&#x2F;09&#x2F;matrix-2-0&#x2F;&quot;&gt;key initiatives&lt;&#x2F;a&gt; in the spec cross the finish line, and we’ll seat the first ever community-elected Governing Board.&lt;&#x2F;p&gt;
&lt;p&gt;The election of our first Governing Board is what I’d like to focus on today, because it is a huge milestone on the path to an independent, self-sustaining, and self-governing ecosystem. When we celebrate Matrix’s 20th birthday, we’ll look back and our history will be divided much the same way it is in other ecosystems: before and after incorporating a foundation, and before and after introducing community governance.&lt;&#x2F;p&gt;
&lt;p&gt;Let’s talk about what the Governing Board is, why it matters, and how to get involved!&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;h3 id=&quot;what-is-the-governing-board&quot;&gt;What is the Governing Board&lt;&#x2F;h3&gt;
&lt;p&gt;The Governing Board is an elected advisory board that supports and guides Matrix. It is a group of up to 25 people who offer a representative set of perspectives that will keep the Foundation on track and accountable in its work to evolve the spec and nurture the ecosystem.&lt;&#x2F;p&gt;
&lt;p&gt;The specific duties of the Governing Board include:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Approving the Foundation’s budget based on the Managing Director’s recommendations.&lt;&#x2F;li&gt;
&lt;li&gt;Approving partnerships and relationships with an annual value over $50,000.&lt;&#x2F;li&gt;
&lt;li&gt;Approving initiatives and programs which will have a major impact on the brand and reputation of the Foundation, or create a new revenue stream.&lt;&#x2F;li&gt;
&lt;li&gt;Helping the Spec Core Team prioritize their work, such as which MSC’s need attention in any given release cycle.&lt;&#x2F;li&gt;
&lt;li&gt;Providing conclusions, recommendations, and guidance on next steps to the Guardians.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Ultimately, the Governing Board is meant to be a clearing house of feedback, expertise, and perspectives from across the ecosystem. Meeting at least twice a year, the Governing Board will shape our operational reality, influence our technical roadmap, and explore the next steps in making the Foundation increasingly transparent and community-governed over time.&lt;&#x2F;p&gt;
&lt;p&gt;The Governing Board and membership program have been intentionally structured to ensure key stakeholders from across the ecosystem have a voice. That structure was first codified in April 2023 with the Governing Board Terms of Reference, and I’m pleased to say that, with Guardian approval, I’ve introduced a round of improvements that incorporate community feedback and improve on the initial design.&lt;&#x2F;p&gt;
&lt;p&gt;A more in-depth discussion of the membership groups follows later in this post, but at a high level the composition of the Governing Board is as follows:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Nonprofit and community representatives
&lt;ul&gt;
&lt;li&gt;4 Individual Members&lt;&#x2F;li&gt;
&lt;li&gt;3 Ecosystem Members&lt;&#x2F;li&gt;
&lt;li&gt;2 Associate Members&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Funder representatives
&lt;ul&gt;
&lt;li&gt;4 Platinum Members&lt;&#x2F;li&gt;
&lt;li&gt;3 Gold Members&lt;&#x2F;li&gt;
&lt;li&gt;2 Silver Members&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Foundation representatives
&lt;ul&gt;
&lt;li&gt;Managing Director&lt;&#x2F;li&gt;
&lt;li&gt;2 Spec Core Team Members&lt;&#x2F;li&gt;
&lt;li&gt;3 Guardians&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;All of the Governing Board members, with the exception of the Foundation’s Managing Director, are selected based on elections run by the Foundation within each group. Every year half of the groups’ representatives will end their term and those groups will vote in a new election – with the exception of our first elections in 2024.&lt;&#x2F;p&gt;
&lt;p&gt;In 2024, we will elect Governing Board members from all of the groups so that no one has to wait until 2025 to be represented. Half of the members elected in 2024 will have 1-year terms in order to enable this staggered election timeline. The reason for the staggered elections is that we want to maintain a degree of continuity so that we can accumulate institutional knowledge.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;why-does-it-matter&quot;&gt;Why does it matter&lt;&#x2F;h3&gt;
&lt;p&gt;The Governing Board matters because it is the beginning of shared decision making for our collective assets, complementing the Spec Core Team which brought shared decision making to the protocol itself. The two, together, represent a complete set of basic community governance.&lt;&#x2F;p&gt;
&lt;p&gt;Not only will the Governing Board weigh in on our shared assets, it will also channel community feedback to the Spec Core Team in a more structured and representative fashion. Further, the Governing Board is itself a mechanism for introducing even more community governance.&lt;&#x2F;p&gt;
&lt;p&gt;This is a key threshold that all major open source communities must cross, and a pivotal moment in which individual and collective behavior sets precedents – good or bad – that echo for years to come.&lt;&#x2F;p&gt;
&lt;p&gt;The importance of the Governing Board is heightened by the context in which the Foundation itself was created: as an organization being spun out of the for-profit, Element, that Matrix’s founders Matthew Hodgson and Amandine Le Pape started in order to fund research and development of the project.&lt;&#x2F;p&gt;
&lt;p&gt;In many cases, for-profit organizations created to fund R&amp;amp;D of an open source project end up going down an unfortunate path that ultimately sees the project fall into a “&lt;a href=&quot;https:&#x2F;&#x2F;meshedinsights.com&#x2F;2021&#x2F;02&#x2F;02&#x2F;rights-ratchet&#x2F;&quot;&gt;rights ratchet&lt;&#x2F;a&gt;” pattern that takes it out of the open source commons. The last 5 years of open source have been littered with dispiriting examples of this.&lt;&#x2F;p&gt;
&lt;p&gt;Much to the credit of Matrix’s founders, they have charted a different course. Matthew and Amandine formed the Matrix.org Foundation, gave it all the core project assets, and donated millions of dollars annually in services through Element. Even when they ultimately made the decision to fork some of the Foundation’s projects in a bid to keep Element stable, they implemented a Contributor License Agreement with a clause that ensures those projects, and all third party contributions to it, remain available under an open source license. This is a laudable pattern when cast against the backdrop of the rest of the industry.&lt;&#x2F;p&gt;
&lt;p&gt;But the fact remains that the Foundation was spun out of an existing organization, and the resulting power dynamic is one that is unequal. The broader community and Matrix’s founders all agree: we need a Foundation that is more representative and more independent.&lt;&#x2F;p&gt;
&lt;p&gt;The Governing Board is how we get there.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;getting-ready-for-our-first-elections&quot;&gt;Getting ready for our first elections&lt;&#x2F;h3&gt;
&lt;p&gt;Running the first Governing Board elections will require preparation from both the Foundation and everyone who aims to participate in the elections.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;election-timeline&quot;&gt;Election timeline&lt;&#x2F;h4&gt;
&lt;p&gt;Our first election season begins April 2024 and ends in June. The timeline looks like this:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Monday, April 15: Announcements with logistical details&lt;&#x2F;li&gt;
&lt;li&gt;Saturday, April 20 through Friday, April 26: Nominations&lt;&#x2F;li&gt;
&lt;li&gt;Saturday, April 27 through Friday, May 17: Campaigning&lt;&#x2F;li&gt;
&lt;li&gt;Saturday, May 18 through Friday, May 31: Voting&lt;&#x2F;li&gt;
&lt;li&gt;Monday, June 3: Results announced&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Following the election, the duly elected members of the Governing Board will participate in an onboarding process prior to their first official meeting which will be scheduled following the conclusion of the election.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;preparations-at-the-foundation&quot;&gt;Preparations at the Foundation&lt;&#x2F;h4&gt;
&lt;p&gt;First, the Foundation itself needs to establish its membership and voter rolls, which requires new tools to manage membership, and processes paired with an outreach campaign to make sure we bring everyone along with us.&lt;&#x2F;p&gt;
&lt;p&gt;We’ve started that by beginning to consolidate on Donorbox as our donor management platform, and making it possible to &lt;a href=&quot;https:&#x2F;&#x2F;donorbox.org&#x2F;membership-303&quot;&gt;become an Individual Member&lt;&#x2F;a&gt; simply by signing up at the appropriate level on Donorbox. If you’re an existing donor on Donorbox or another platform, you’ll be hearing from us about how to make the transition.&lt;&#x2F;p&gt;
&lt;p&gt;Please keep your eyes on our blog, social channels, official Foundation rooms, and your email inbox. We’ll be using as many channels as we can to make sure we reach people – including donors who are eligible to be Individual Members that have donated anonymously such that we have no direct contact info.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;preparing-yourself-and-your-community-for-the-election&quot;&gt;Preparing yourself and your community for the election&lt;&#x2F;h4&gt;
&lt;p&gt;There are many membership groups (referred to in the Terms of Reference as “constituencies”) from which people may nominate themselves as candidates.&lt;&#x2F;p&gt;
&lt;p&gt;Among those membership groups are three who represent the grassroots corners of the community:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Individual Members are people who donate at least $60 per year, or equivalent in other currencies. In the future, we will allow people to apply for Individual Member status on the basis of non-monetary contributions to the community. They are elected to represent themselves. You can &lt;a href=&quot;https:&#x2F;&#x2F;donorbox.org&#x2F;membership-303&quot;&gt;become an Individual Member today&lt;&#x2F;a&gt;!&lt;&#x2F;li&gt;
&lt;li&gt;Ecosystem Members are open source projects that speak Matrix – such as clients, servers, or bots. If you are the maintainer of such a project, stay tuned, we&#x27;ll begin accepting applications for Ecosystem Members in late January. Each Ecosystem Member may nominate a representative to run in the election. &lt;&#x2F;li&gt;
&lt;li&gt;Associate Members are open source foundations, standards bodies, other nonprofits, and organizations that use Matrix but are resource constrained such as universities. If you are in leadership at such an organization, stay tuned, we&#x27;ll begin accepting applications for Associate Members in late January. Each Associate Member may nominate a representative to run in the election.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Then there are three membership groups who represent the major funders of the Foundation, major funders who are typically service providers who use Matrix or organizations with major deployments. Each funder is entitled to nominate a representative to run in the election. These funders, as of today, include both for-profits and public sector organizations. If your organization is interested in becoming a funder, &lt;a href=&quot;mailto:funding@matrix.org&quot;&gt;please reach out&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Members must be in good standing with the Foundation and its Guardians in order to qualify as candidates. This is discretion we don’t expect to have to exercise often, thankfully. One needn’t be agreeable to be in good standing, but one ought to, for instance, not violate our Code of Conduct. We need to build a Governing Board that can have healthy debates and get things done.&lt;&#x2F;p&gt;
&lt;p&gt;If you are considering nominating yourself, it would serve you well to build positive working relationships with others in your community and membership group. That’s something you can start doing today, even before the official nomination period opens.&lt;&#x2F;p&gt;
&lt;p&gt;As we get closer to the elections, we’ll share more about the level of commitment that is required of Governing Board members and how we aim to work together.&lt;&#x2F;p&gt;
&lt;p&gt;But until then, the best thing you can do to support the Foundation and prepare for the elections is to become a member!&lt;&#x2F;p&gt;
</content>
</entry>

    
    
</feed>
