matrix.org/content/blog/2024/04/2024-04-19-twim.md

430 lines
30 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

+++
date = "2024-04-19T19:30:00Z"
title = "This Week in Matrix 2024-04-19"
path = "/blog/2024/04/19/this-week-in-matrix-2024-04-19"
aliases = ["/blog/2024/04/19/this-week-in-matrix-2024-04-10"]
[taxonomies]
author = ["Thib"]
category = ["This Week in Matrix"]
+++
## Matrix Live
{{ youtube_player(video_id="MsJjRtgSYcU") }}
## Dept of *Status of Matrix* 🌡️
[Josh Simmons](https://matrix.to/#/@josh:josh.tel) announces
> WOW! What a week. Today I am thrilled to introduce not one or two, but [eight new organisational members](https://matrix.org/support/). We are extremely grateful to Futurewei Technologies for joining as our newest Gold Member more on that soon and to Verji Tech AS for joining as our newest Silver Member. Their support represents a _big_ step toward financial sustainability for the Matrix.org Foundation.
>
> Further, today we welcome Community Moderation Effort, Matrix Elm SDK, FluffyChat, Matrix Community Events, Polychat, and Rory&::LibMatrix as Ecosystem Members! If you couldnt tell, theres a lot going on in the Matrix ecosystem!
>
> Does your community use Matrix? Does your project speak Matrix? Or does your business incorporate Matrix into your work? Show your support and [become a member today](https://matrix.org/membership/).
>
> Topping off this weeks excitement, our Governing Board nomination period is just about to start! Learn more about the elections, as well as who can nominate and how in [our recent blog post](https://matrix.org/blog/2024/04/election-announcement/).
<!-- more -->
## Dept of Spec 📜
[Andrew Morgan (anoa)](https://matrix.to/#/@andrewm:element.io) reports
> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at <https://spec.matrix.org/proposals.>
>
>
> ### MSC Status
>
> **New MSCs:**
> * [MSC4133: Extending User Profile API with Key:Value Pairs](https://github.com/matrix-org/matrix-spec-proposals/pull/4133)
> * [MSC4132: Deprecate Linking to an Event Against a Room Alias](https://github.com/matrix-org/matrix-spec-proposals/pull/4132)
> * [MSC4131: Handling `m.room.encryption` events](https://github.com/matrix-org/matrix-spec-proposals/pull/4131)
>
> **MSCs in Final Comment Period:**
> * [MSC4126: Deprecation of query string auth](https://github.com/matrix-org/matrix-spec-proposals/pull/4126) (merge)
>
> **Accepted MSCs:**
> * [MSC2870: Protect server ACLs from redaction](https://github.com/matrix-org/matrix-spec-proposals/pull/2870)
> * [MSC2191: Markup for mathematical messages](https://github.com/matrix-org/matrix-spec-proposals/pull/2191)
> * [MSC1692: Terms of service at registration](https://github.com/matrix-org/matrix-spec-proposals/pull/1692)
>
> **Closed MSCs:**
> * *No MSCs were closed/rejected this week.*
>
> ### Spec Updates
>
> A quick call-out for a particular MSC. [MSC4098: Use the SCIM protocol for provisioning](https://github.com/matrix-org/matrix-spec-proposals/pull/4098) is actively looking for feedback from the community. The proposal aims to work SCIM's standard endpoints into the Matrix spec. Doing so would allow industry standard tooling to be able to create/delete/modify/etc. Matrix users on a homeserver without needing to, for example, implement code specifically for Synapse's Admin API.
>
> The impact would allow for greater interoperability between various existing services and Matrix homeservers - which seems like a no-brainer if you're aiming for wide adoption of a protocol!
>
> If folks are interested, please leave your thoughts on the MSC linked above.
## Dept of Servers 🏢
### Synapse ([website](https://github.com/element-hq/synapse/))
Synapse is a Matrix homeserver implementation developed by the Element
[Olivier 'reivilibre'](https://matrix.to/#/@reivilibre.element:librepush.net) says
> Hello! This week, we released [Synapse 1.105.0], which has:
>
> * support for the stabilised [MSC4010](https://github.com/matrix-org/matrix-spec-proposals/pull/4010), which clarifies the interaction of push rules and account data;
> * support for the stabilised [MSC3981](https://github.com/matrix-org/matrix-spec-proposals/pull/3981) (`/relations` recursion);
> * the ability for operators of workerised Synapses to now move `/pushrules` off of the main process (though this will mostly be of interest to large deployments);
> * fixes for various long-standing bugs returning incorrect state in `/sync`; and
> * a *good handful* of other minor fixes and performance improvements.
>
> [Synapse 1.105.0]: <https://github.com/element-hq/synapse/releases/tag/v1.105.0>
## Dept of Bridges 🌉
### matrix-hookshot ([website](https://github.com/Half-Shot/matrix-hookshot))
A multi purpose multi platform bridge, formerly known as matrix-github
[Half-Shot](https://matrix.to/#/@Half-Shot:half-shot.uk) reports
> Hookshot 5.3.0 becomes bigger and bolder
>
> Hello! It's been a while since we've written an update post but I felt like [this release (5.3.0)](https://github.com/matrix-org/matrix-hookshot/releases/tag/5.3.0) deserves one.
>
> For those that don't know, [Hookshot](https://github.com/matrix-org/matrix-hookshot) is the premier solution to bridging third party services like GitHub,
> RSS, Webhooks into Matrix. We place particular emphasis on scalability (it powers most of the Element Integrations Store apps), and in this release there is even a performance bump.
>
> So what's in the new release? Well!
>
> * We've added [ChallengeHound](https://matrix-org.github.io/matrix-hookshot/latest/setup/challengehound.html) support. Challenge Hound is a paid service to collectively exercise towards a goal, and will keep track of your teams progress. Hookshot now allows you to bridge in these events. Effectively this obsoletes my old project, <https://github.com/Half-Shot/matrix-challenger/>.
> * The Rust porting continues. In this release we've moved encrypted storage handling into Rust. In the future we plan to phase out RSA keys with something stronger, and more suitable for our needs.
> * The documentation has been tidied up with more information on the permissions systems. We've also clearly separated the caching and queue systems in the config (previously muddled under the "Redis" banner), to hopefully make things clear.
>
> As always, please let us know what you think in [#hookshot:half-shot.uk](https://matrix.to/#/#hookshot:half-shot.uk). We've got an active support channel all feedback is good :)
>
> Happy weekending!
## Dept of Clients 📱
### Fractal ([website](https://gitlab.gnome.org/GNOME/fractal))
Matrix messaging app for GNOME written in Rust.
[Kévin Commaille](https://matrix.to/#/@zecakeh:tedomum.net) announces
> 📣 👀 Fractal 7.rc 🆕 🎉
>
> * Account recovery, introduced during this cycle, could lead to an unclear situation where it was still incomplete even after successfully going through the process. We added some explanations on how to solve this. Thanks to anyone who tried it in the beta and provided us with feedback!
> * After fixing a focus issue upstream in GtkListView, we got rid of more focus issues in our widgets. That should make the room history completely accessible with keyboard navigation.
> * Third party verification, that happens in a direct chat, was partly broken as the banner about an ongoing verification was not showing up anymore. The culprit was found and we took that opportunity to improve the security instructions. Along with this bugfix, a coat of polish has been applied.
>
> As usual, this release includes other improvements, fixes and new translations thanks to all our contributors, and our upstream projects.
>
> It is available to install via Flathub Beta, see the [instructions in our README](https://gitlab.gnome.org/World/fractal#installation-instructions).
>
> As the version implies, it should be mostly stable and we expect to only include minor improvements until the release of Fractal 7.
>
> We always welcome [any help we can get](https://gitlab.gnome.org/World/fractal/-/issues), come ask for guidance in [our Matrix room](https://matrix.to/#/%23fractal:gnome.org).
### Ement.el ([website](https://github.com/alphapapa/ement.el))
Matrix client for Emacs
[alphapapa](https://matrix.to/#/@alphapapa:matrix.org) announces
> [Ement.el](https://github.com/alphapapa/ement.el), a Matrix client for the [GNU Emacs](https://www.gnu.org/software/emacs/) text editor and Lisp environment, has been [released](https://github.com/alphapapa/ement.el/releases/tag/v0.15) at version 0.15. Changes since the last release include:
>
> **Additions**
>
> * **Configurable emoji picker for sending reactions. ([#199](https://github.com/alphapapa/ement.el/issues/199), [#201](https://github.com/alphapapa/ement.el/pull/201). Thanks to [Omar Antolín Camarena](https://github.com/oantolin).):**
> - Option `ement-room-reaction-picker` sets the default picker. Within that, the user may press `C-g` to choose a different one with a key bound in `ement-room-reaction-map`.
>
> * **A variety of enhancements for using compose buffers. ([#140](https://github.com/alphapapa/ement.el/issues/140). Thanks to [Phil Sainty](https://github.com/phil-s).):** Chiefly, messages can now be composed in small windows below room windows, rather than in the minibuffer or a full-sized window. A variety of options and commands are available related to these features. See [compose buffer enhancements](#compose-buffer-enhancements).
>
> * **Global minor mode `ement-room-self-insert-mode` enables "just typing" to start a message. (Thanks to [Phil Sainty](https://github.com/phil-s).):** See ement-room-self-insert-mode section.
>
> * **Options affecting how images are displayed in room buffers.:** See image display section.
>
> **Changes**
>
> * Improve prompt used when viewing a room that is not joined. ([#241](https://github.com/alphapapa/ement.el/issues/241). Thanks to [Phil Sainty](https://github.com/phil-s).)
> * Format "was kicked and rejoined" membership event pairs.
> * Enclose reasons for membership events in quotes for clarity.
> * Improve default room list grouping.
> * When editing or replying to a message in a compose buffer, the related room event is highlighted persistently until the compose buffer is killed. (Thanks to [Phil Sainty](https://github.com/phil-s).)
> * In compose buffers `dabbrev` will prioritise firstly the associated room, and secondly all other rooms, before looking to other buffers for completions. (Thanks to [Phil Sainty](https://github.com/phil-s).)
> * Aborted messages are now added to `ement-room-message-history` rather than the kill-ring. (Thanks to [Phil Sainty](https://github.com/phil-s).)
> * Prefix bindings in `ement-room-mode-map` now have named labels in `which-key` and similar. (Thanks to [Phil Sainty](https://github.com/phil-s).)
> * Option: `ement-room-use-variable-pitch` (previously named `ement-room-shr-use-fonts`) enables variable-pitch fonts for all message types. (This option previously supported formatted messages, but now works for plain text messages as well.) Note: users who have customized the `ement-room-message-text` face to be variable-pitch should revert that change, as it causes problems for formatted messages, and is no longer necessary. ([#174](https://github.com/alphapapa/ement.el/issues/174). Thanks to [Phil Sainty](https://github.com/phil-s).)
>
> **Fixes**
>
> * Edits to previous edit events are correctly sent to the server as edits to the original message event. ([#230](https://github.com/alphapapa/ement.el/issues/230). Thanks to [Phil Sainty](https://github.com/phil-s).)
> * Completion at point works more reliably in compose buffers. (Thanks to [Phil Sainty](https://github.com/phil-s).)
> * Toggling images to fill the window body no longer triggers unintended scrolling. (Thanks to [Phil Sainty](https://github.com/phil-s).)
> * Recognition of mentions after a newline. ([#267](https://github.com/alphapapa/ement.el/issues/267). Thanks to [Phil Sainty](https://github.com/phil-s).)
> * Newlines in `ement-room-message-format-spec` are considered when calculating the wrap-prefix. (Thanks to [Phil Sainty](https://github.com/phil-s).)
> * Weight of face `ement-room-list-direct` (now correctly bold in room list heading).
>
> ### Compose buffer enhancements
>
> * Option `ement-room-compose-buffer-display-action` declares how and where a new compose buffer window should be displayed. (By default, in a new window below the associated room buffer.)
> * Option `ement-room-compose-buffer-window-dedicated` determines whether compose buffers will have dedicated windows.
> * Option `ement-room-compose-buffer-window-auto-height` causes dynamic scaling of the compose buffer window height so that the full message is visible at all times.
> * Option `ement-room-compose-buffer-window-auto-height-min` specifies the minimum window height when `ement-room-compose-buffer-window-auto-height` is enabled.
> * Option `ement-room-compose-buffer-window-auto-height-max` specifies the maximum window height when `ement-room-compose-buffer-window-auto-height` is enabled.
> * Option `ement-room-compose-method` chooses between minibuffer-centric or compose-buffer-centric behaviour.
> * Command `ement-room-dispatch-new-message` starts writing a new message using your chosen `ement-room-compose-method`. (Bound to `RET` in room buffers.)
> * Command `ement-room-dispatch-new-message-alt` starts writing a new message using the alternative method. (Bound to `M-RET` in room buffers.)
> * Command `ement-room-dispatch-edit-message` edits a message using your chosen `ement-room-compose-method`. (Bound to `<insert>` in room buffers.)
> * Command `ement-room-dispatch-reply-to-message` replies to a message using your chosen `ement-room-compose-method`. (Bound to `S-<return>` in room buffers.)
> * Command `ement-room-compose-edit` edits a message using a compose buffer.
> * Command `ement-room-compose-reply` replies to a message using a compose buffer.
> * Command `ement-room-compose-send-direct` sends a message directly from a compose buffer (without the minibuffer). (Bound to `C-x C-s` in compose buffers.)
> * Command `ement-room-compose-abort` kills the compose buffer and delete its window. (Bound to `C-c C-k` in compose buffers.)
> * Command `ement-room-compose-abort-no-history` does the same without adding to `ement-room-message-history`. (Equivalent to `C-u C-c C-k`.)
> * Command `ement-room-compose-history-prev-message` cycles backwards through `ement-room-message-history`. (Bound to `M-p` in compose buffers.)
> * Command `ement-room-compose-history-next-message` cycles forwards through `ement-room-message-history`. (Bound to `M-n` in compose buffers.)
> * Command `ement-room-compose-history-isearch-backward` initiates an isearch through `ement-room-message-history`. (Bound to `M-r` in compose buffers; continue searching with `C-r` or `C-s`.)
> * Command `ement-room-compose-history-isearch-backward-regexp` initiates a regexp isearch through `ement-room-message-history`. (Bound to `C-M-r` in compose buffers; continue searching with `C-r` or `C-s`.)
>
>
> ### ement-room-self-insert-mode
>
> * Option `ement-room-self-insert-commands` determines which commands will start a new message when `ement-room-self-insert-mode` is enabled (defaulting to `self-insert-command` and `yank`).
> * Option `ement-room-self-insert-chars` determines which typed characters will start a new message when `ement-room-self-insert-mode` is enabled (regardless of whether they are bound to `self-insert-command`).
> * Option `ement-room-mode-map-prefix-key` defines a prefix key for accessing the full `ement-room-mode-map` when `ement-room-self-insert-mode` is enabled. (By default this key is `DEL`.)
>
> ### Image display
>
> * Option `ement-room-image-margin` is the number of pixels of margin around image thumbnails.
> * Option `ement-room-image-relief` is the number of pixels of shadow rectangle around image thumbnails.
> * Option `ement-room-image-thumbnail-height` is the window body height multiple to use when toggling full-sized images to thumbnails (by default, 0.2).
> * Option `ement-room-image-thumbnail-height-min` is the minimum pixel height for thumbnail images (by default, 30 pixels).
>
> Feel free to join us in the chat room: [#ement.el:matrix.org](https://matrix.to/#/#ement.el:matrix.org)!
### Element X iOS ([website](https://github.com/vector-im/element-x-ios))
A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+.
[Doug](https://matrix.to/#/@douge:matrix.org) reports
> * ✨ We have a shiny new Join Room Screen to handle links to rooms that youre not part of.
> * 🔗 Navigating to Messages from links and replies is coming along nicely (with much assistance from Rust!).
> * 🔒 Some Rust-side fixes for Encryption have landed fixing a bad race condition between the App and Notifications.
> * 🤳 Work on implementing Login with QR Code continues to progress nicely (were so close to seeing this work for the first time).
> * ✏️ We have re-introduced a plain text field for the message composer when the Rich Text Editor is disabled. This will provide a fix for many annoying typing bugs with various languages, input methods etc.
{{ youtube_player(video_id="cxJPdr8JEaM") }}
### Element X Android ([website](https://github.com/vector-im/element-x-android))
Android Matrix messenger application using the Matrix Rust Sdk and Jetpack Compose
[benoit](https://matrix.to/#/@benoit.marty:matrix.org) reports
> * Element X Android 0.4.10 has been released and will be available in production next week.
> * We have a shiny new Join Room Screen to handle links to rooms that youre not part of.
> * Navigating to Messages from links and replies is coming along nicely (with much assistance from Rust!).
> * Navigating to user permalink is also available on nightiles, for room member and any user
> * The invited room are now displayed in the room list with a new filter
## Dept of SDKs and Frameworks 🧰
### Matrix Rust SDK
[bnjbvr](https://matrix.to/#/@benjib:element.io) reports
> Two weeks of updates for the price of one, that's your lucky rusty day!
>
> * In the world of crypto-land, an important bugfix for multiple processes setups (as is the case for iOS applications handling notifications in a separate extension, wink wink ElementX iOS) has landed, which should result in fewer unable-to-decrypt (UTD) messages there.
> * It's now possible to get the preview of a room, using `Client::get_room_preview(room_id)`. This uses the room state events at this point, but will soon support using the Room summary endpoint introduced in MSC3266 for this purpose. This is useful when displaying a screen for a room one hasn't joined, for instance.
> * A new `Paginator` API has been introduced as preliminary work to support deep links to events (aka "permalinks"), starting from a given event using a `/context` API request (for which support has been improved, by decrypting events, if needs be), followed by back-paginations and forward-paginations using the `/messages` API. Work is moving forward on having the UI `Timeline` natively support this too, introducing the new concept of a "detached" timeline mode that's centered around a single event.
> * The QR code login feature is moving along nicely, fully working end-to-end across two SDK toy programs.
> * And as usual, many new methods have been exposed to the FFI layer, bugs have been squashed (notably a few around sliding sync, notably one that caused missing chunks of messages in the ElementX apps), CI has been improved, and crabs have been revered.
### Rory&::LibMatrix (.NET 8 matrix bot/client library/SDK)
[Emma [it/its] ⚡️](https://matrix.to/#/@emma:conduit.rory.gay) reports
> Not much to report on, been busy on BugMine :)
>
> #### Additions
> * Starting steps of UIA
> * Ability to send HTTP requests without error handling (required for UIA)
> * Optional parameter `useGeneric` to `HomeserverPRoviderService#GetAuthenticatedWithToken(homeserver, token, proxy? impersonatedMxid?, useGeneric?)`. This defaults to `false`.
> * `Room#GetRelatedEventsAsync(eventid)`, returns all events that have a relation to another event
>
> #### Changes
> * `Room#GetEventAsync(eventid)` no longer uses generic type, and returns StateEventResponse now.
>
> _**And, as always:**_
>
> * The code is available at [cgit.rory.gay](https://cgit.rory.gay/matrix/LibMatrix.git)!
> - All contributions are more than welcome, be it documentation, code, anything! Perhaps, example usecases, bots, ...?
> * Discussion, suggestions and ideas are welcome in [#libmatrix:rory.gay](https://matrix.to/#/#libmatrix:rory.gay) (Space: [#mru-space:rory.gay](https://matrix.to/#/#mru-space:rory.gay))
> * Got a cool project that you're working on and want to share, using LibMatrix? Be sure to let me know, I'd love to hear all about it!
### Trixnity ([website](https://gitlab.com/trixnity/trixnity))
Multiplatform Kotlin SDK for developing Clients, Bots, Appservices and Servers
[Benedict](https://matrix.to/#/@benedict:imbitbu.de) reports
> Trixnity got [a small bugfix release](https://gitlab.com/trixnity/trixnity/-/releases/v4.3.2) this week. It mainly fixes lazy key tracking, which is finally working and makes sync processing blazing fast again.
### Matrix Dart SDK ([website](https://github.com/famedly/matrix-dart-sdk))
Matrix SDK written in pure Dart.
[td](https://matrix.to/#/@td:technodisaster.com) reports
> meep quick update, v0.26.0 and v0.27.0 released since the last post, here's a summary:
>
> #### v0.27.0
>
> * Reworked how last event (used by clients for showing latest room events) is stored in the sdk. This will need a migration but should be handled automatically.
> * Switched suggested database to the new MatrixSdkDatabase.
> * Our auto generated matrix spec code (matrix\_api\_lite previously) now lives in the matrix dart sdk monorepo.
>
> #### v0.26.0
>
> This release adds a new state to the LoginState named softLoggedOut. Learn more about it here: https://spec.matrix.org/v1.9/client-server-api/#soft-logout
>
> When a client is in a soft logout state, it is not yet cleared, but sync has stopped and it expects to perform a token refresh or a new login while providing the old device ID.
>
> That's it, small note expect another breaking change soon our calls code will be merged in the near future :3 bye byee
### libQuotient ([website](https://github.com/quotient-im/libQuotient))
A Qt5 library to write cross-platform clients for Matrix
[kitsune](https://matrix.to/#/@kitsune:matrix.org) announces
> Version 0.8.2 is [out](https://github.com/quotient-im/libQuotient/releases/tag/0.8.2) - the last significant 0.8.x update. Version 0.9 is already in the works, with a lot of material for it already in the pipeline, so expect the first alpha to come rather soon. From now on, Qt 5 will only be supported in 0.8.x branch - 0.9 will be Qt 6 only, and also require modern toolchains - with full-blown ranges support, elements of C++23 and all such.
## Dept of Bots 🤖
### Draupnir
[Gnuxie 💜🐝](https://matrix.to/#/@gnu_ponut:matrix.org) says
> [Draupnir](https://github.com/the-draupnir-project/Draupnir) dubiously released [v2.0.0-beta.1](https://github.com/the-draupnir-project/Draupnir/releases/tag/v2.0.0-beta.1) (proceed with caution).
>
> [Draupnir](https://github.com/the-draupnir-project/Draupnir) is a Matrix moderation bot and protection platform,
> with backwards compatibility with Mjolnir. If you are unfamiliar, you should checkout the [latest stable
> release first](https://github.com/the-draupnir-project/Draupnir/releases/tag/v1.87.0).
>
> The main change is a rewrite of the core to use MPS (the [matrix-protection-suite](https://github.com/Gnuxie/matrix-protection-suite), still pre-alpha). MPS's architectural differences should provide a noticeable improvement to Draupnir's responsiveness. A room state backing store has also been added to improve startup time for instances that run against slow servers or a large set of protected rooms, details are below.
>
> #### What's Changed
> * Draupnir now uses MPS ([matrix-protection-suite](https://github.com/Gnuxie/matrix-protection-suite)) to provide its core functionality.
> * Draupnir no longer requests components of room state when applying various actions, which should lead to a huge noticeable difference to Draupnir's responsiveness.
> * An optional `RoomStateBackingStore` has been added to improve startup time for instances that run against slow servers
> (e.g. matrix.org). Checkout the config description for it [here](https://github.com/the-draupnir-project/Draupnir/blob/80ccb6433035e39da66f0a12f587c9277d1ed008/config/default.yaml#L206-L212).
> * New protections `MemberBanSynchronisationProtection`, `ServerBanSynchronisationProtection`, `RedactionSynchronisationProtection`, and `PolicyChangeNotification`.
> - These replace the core functionality for applying policies related to users, servers and redactions.
> - They will be enabled by default when you upgrade.
> * `config.disableServerACL` will disable the `ServerBanSynchronisationProtection`.
> * The `joins`, `since`, `default`, `sync`, `protections status` commands have all been removed for now.
> * The `DetectFederationLag` protection has been removed.
> * We have new contributing documentation.
>
> #### Upgrade steps
>
> There are no manual upgrade steps, the new protections are automatically enabled.
> The only thing you should note is that if you notice that Draupnir is slow to startup, then you should [enable the room state backing store](https://github.com/the-draupnir-project/Draupnir/blob/80ccb6433035e39da66f0a12f587c9277d1ed008/config/default.yaml#L206-L212)
>
> #### ⚠️ Some configuration options may no longer be functioning (alternatives are pending)
>
> * `config.noop` will do nothing.
> * `config.protectedRooms` will also do nothing, and protected rooms need to be configured using `!draupnir rooms add/remove`.
>
> You can read the full set of changes [here](https://github.com/the-draupnir-project/Draupnir/releases/edit/v2.0.0-beta.0),
> and of course, you can find us in our support room [#draupnir:matrix.org](https://matrix.to/#/#draupnir:matrix.org).
## Dept of Interesting Projects 🛰️
### BugMine
[Emma [it/its] ⚡️](https://matrix.to/#/@emma:conduit.rory.gay) announces
> *Matrix-based issue/bug tracker, based on [Rory&::LibMatrix](http://cgit.rory.gay/matrix/LibMatrix.git/about/)*
>
> Existing issue trackers are closed-source, only work in combination with their own platform, or are complicated to set up.
> Let's fix all of those!
>
> BugMine is a simple(ish) solution to that problem, by offering a simple to deploy solution that requires nothing but a matrix server (bring your own account), and a web server that can handle URI fallbacks for the web app (native clients are planned long-term).
> A CLI client is also planned long term, so you can do a similar level of integration to Github's CLI.
> There's also support planned for posting patches (commonly known as Pull Requests or Merge Requests).
> All functionality is provided in an easy to use SDK as well!
>
> Keep in mind the project is still in a very early stage: we're still sketching out how we plan to handle issues/tickets!
> (And how to support any homeserver implementation besides Conduwuit...)
>
> _**And, as with all of the other projects:**_
>
> * The code is available at [cgit.rory.gay](https://cgit.rory.gay/matrix/tools/BugMine.git/)!
> - All contributions are more than welcome, be it documentation, code, anything! Perhaps, bots, custom front-ends, ...?
> * Discussion, suggestions and ideas are welcome in [#bugmine:rory.gay](https://matrix.to/#/#bugmine:rory.gay)
## Matrix in the News 📰
[HarHarLinks](https://matrix.to/#/@kim:sosnowkadub.de) says
> Fedora published a nice article about Matrix
>
> <https://fedoramagazine.org/fedora-chat-your-gateway-to-matrix/>
## Matrix Federation Stats
[Aine](https://matrix.to/#/@aine:etke.cc) announces
> collected by [MatrixRooms.info](https://matrixrooms.info/?utm_source=twim&utm_medium=matrix&utm_campaign=federation-stats) - an [MRS](https://gitlab.com/etke.cc/mrs/api) instance by [etke.cc](https://etke.cc?utm_source=twim&utm_medium=matrix&utm_campaign=federation-stats)
>
> As of today, `9491` Matrix federateable servers have been discovered by matrixrooms.info, `2857` (`30.1%`) of them are publishing their rooms directory over federation.
> The published directories contain `160078` rooms.
>
> Stats timeline is available on [MatrixRooms.info/stats](https://matrixrooms.info/stats/?utm_source=twim&utm_medium=matrix&utm_campaign=federation-stats)
>
> [How to add your server](https://matrixrooms.info/indexing/?utm_source=twim&utm_medium=matrix&utm_campaign=federation-stats) | [How to remove your server](https://matrixrooms.info/deindexing/?utm_source=twim&utm_medium=matrix&utm_campaign=federation-stats)
## Dept of Ping
Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server.
### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net)
Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game.
|Rank|Hostname|Median MS|
|:---:|:---:|:---:|
|1|doctoruwu.uk|262|
|2|spritsail.io|262|
|3|maunium.net|287|
|4|nerdhouse.io|300|
|5|girlboss.ceo|309|
|6|uwu.sulian.eu|318|
|7|catvibers.me|319|
|8|aguiarvieira.pt|424|
|9|rom4nik.pl|463|
|10|puppygock.gay|482|
### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net)
Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game.
|Rank|Hostname|Median MS|
|:---:|:---:|:---:|
|1|uwu.sulian.eu|117|
|2|doctoruwu.uk|119|
|3|girlboss.ceo|139.5|
|4|spritsail.io|163|
|5|aguiarvieira.pt|166|
|6|puppygock.gay|184.5|
|7|furry.lol|191|
|8|jpeg.city|207|
|9|nerdhouse.io|208.5|
|10|matrix.its-tps.fr|239|
## That's all I know ?~_~O~A
See you next week, and be sure to stop by [#twim:matrix.org](https://matrix.to/#/#twim:matrix.org) with your updates!