308 lines
19 KiB
Markdown
308 lines
19 KiB
Markdown
+++
|
||
date = "2024-01-05"
|
||
title = "This Week in Matrix 2024-01-05"
|
||
path = "/blog/2024/01/05/this-week-in-matrix-2024-01-05"
|
||
|
||
[taxonomies]
|
||
author = ["Thib"]
|
||
category = ["This Week in Matrix"]
|
||
|
||
[extra]
|
||
image = "https://matrix.org/blog/img/ETVZoJSgRuvaWwaKkdmRtBpA.png"
|
||
+++
|
||
|
||
## Dept of *Status of Matrix* 🌡️
|
||
|
||
[Josh Simmons](https://matrix.to/#/@josh:josh.tel) reports
|
||
|
||
> 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.
|
||
>
|
||
> Read about this and more in [our latest blog post](https://matrix.org/blog/2023/12/electing-our-first-governing-board/).
|
||
|
||
<!-- more -->
|
||
|
||
## Dept of Spec 📜
|
||
|
||
[Matthew](https://matrix.to/#/@matthew:matrix.org) says
|
||
|
||
> I dusted off [MSC4016](https://github.com/matrix-org/matrix-spec-proposals/pull/4016) (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 'v3 attachments') at <https://github.com/matrix-org/matrix-encrypt-attachment/pull/26> and <https://github.com/matrix-org/streaming-files-test>. Some of the benefits this would bring include:
|
||
>
|
||
> * zero-latency file transfer (receiver can start decrypting & playing the download as soon as the upload begins)
|
||
> * halving file-transfer duration (as you don't need to wait for the upload to finish before you start to download it)
|
||
> * resumble uploads via [tus](https://tus.io/protocols/resumable-upload)
|
||
> * unlimited file transfer size, given it's streamed - no longer limited to ~1GB to fit inside v8's 1.4GB heap on Web.
|
||
> * O(1) memory usage for sending files, given it's streamed (great for share extensions)
|
||
>
|
||
> 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 :)
|
||
>
|
||
> ![](/blog/img/ETVZoJSgRuvaWwaKkdmRtBpA.png)
|
||
|
||
[Matthew](https://matrix.to/#/@matthew:matrix.org) says
|
||
|
||
> I just came across <https://benstokman.me/blog/my-thoughts-on-msc-4080/> and <https://benstokman.me/blog/my-new-thoughts-on-msc-4080> - 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...)
|
||
|
||
[Andrew Morgan (anoa)](https://matrix.to/#/@andrewm:element.io) announces
|
||
|
||
> 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:**
|
||
> * *There were no new MSCs this week.*
|
||
>
|
||
> **MSCs in Final Comment Period:**
|
||
> * *No MSCs are in FCP.*
|
||
>
|
||
> **Accepted MSCs:**
|
||
> * *No MSCs were accepted this week.*
|
||
>
|
||
> **Closed MSCs:**
|
||
> * *No MSCs were closed/rejected this week.*
|
||
>
|
||
> ### Spec Updates
|
||
>
|
||
> It'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). [MSC3981](https://github.com/matrix-org/matrix-spec-proposals/pull/3981) has seen discussion, as has [MSC4041](https://github.com/matrix-org/matrix-spec-proposals/pull/4041) and [MSC2448](https://github.com/matrix-org/matrix-spec-proposals/pull/2448) (we're considering switching the proposal to Thumbhashes).
|
||
>
|
||
> More to come next week I suspect!
|
||
|
||
## Dept of Servers 🏢
|
||
|
||
### Synapse ([website](https://github.com/matrix-org/synapse/))
|
||
|
||
Synapse is a Matrix homeserver implementation developed by the matrix.org core team
|
||
|
||
[Andrew Morgan (anoa)](https://matrix.to/#/@andrewm:element.io) reports
|
||
|
||
> Happy New Year!
|
||
>
|
||
> 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.
|
||
>
|
||
> As a reminder, Element is switching its development on Synapse to be AGPLv3 at https://github.com/element-hq/synapse, and development from Element's side now continues there (see the [blog post](https://element.io/blog/synapse-now-lives-at-github-com-element-hq-synapse/) if you haven't already). We have done our best to migrate issues from the now-archived [matrix-org/synapse](https://github.com/matrix-org/synapse/) 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's heavy rate limits on issue creation!). As well as fixing up CI, packaging, etc. etc.
|
||
>
|
||
> As things have been a bit topsy-turvy with the migration (and of course the holidays), there's not a huge list of changes to report from the development side. But we did have a few excellent community contributions.
|
||
>
|
||
> Thanks to [@dklimpel](https://github.com/dklimpel), [@loelkes](https://github.com/loelkes), [@lanker](https://github.com/lanker), [@FadhlanR](https://github.com/FadhlanR), and [@adamjedrzejewski](https://github.com/adamjedrzejewski) for their PRs!
|
||
>
|
||
> Expect an increased pace of developer pick right back up from next week, as folks return from holidays.
|
||
|
||
## 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) says
|
||
|
||
> ### matrix-hookshot 5.1.1!
|
||
>
|
||
> Hello wonderful people. I hope you all are having/had a good break. Over in bridge towers we've been working on a few holiday treats in the shape of hookshot improvements. Let me lay them down for you:
|
||
>
|
||
> * **dark mode** 🌗 is now a thing! We've moved the majority of the components used in the widget to use [Compound](https://github.com/element-hq/compound-web), which means a more coherent style and light/dark support. It'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't match any overrides your Matrix client might be setting.
|
||
> * Lots of bug fixes around bits of widget interface not updating properly, particularly around feeds.
|
||
> * Node 18 support has been dropped, as it's not long for this world and we would like to focus on Node 20/21 support.
|
||
> * We have added a `list` and `remove` command for webhooks.
|
||
> * We now tell you if your bot doesn't have enough PL to speak, meaning you don't need me to confirm it for you :)
|
||
> * The GoNEB migrator has been removed, though you can still migrate in a prior release and upgrade.
|
||
>
|
||
> You can grab the release from [here](https://github.com/matrix-org/matrix-hookshot/releases/tag/5.1.1)
|
||
|
||
## Dept of Clients 📱
|
||
|
||
### Moment ([website](https://mx-moment.xyz))
|
||
|
||
A Matrix client; forked from Mirage.
|
||
|
||
[Maze](https://matrix.to/#/@maze:mazie.rocks) announces
|
||
|
||
> [Moment](https://mx-moment.xyz) release 0.7.4
|
||
>
|
||
> I bet no one was expecting this! After 2 years, finally [another release of Moment](https://gitlab.com/mx-moment/moment/-/releases/v0.7.4) (fork of the old client Mirage)!
|
||
>
|
||
> Not much has changed. Mostly we're just keeping up to date with dependencies. But you will notice a couple differences:
|
||
>
|
||
> * 👍 Emoji reactions to messages are now displayed (previously not visible)
|
||
> * 🖉 Edited messages are displayed properly (previously only fallback text)
|
||
> * 🚀 Almost all UI animations were removed, to fit the "snappy powerclient" idea
|
||
|
||
### 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
|
||
|
||
> 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.
|
||
>
|
||
> Here is an excerpt:
|
||
>
|
||
> * Matrix URIs can be opened with Fractal, it is even registered as a handler for the `matrix` scheme
|
||
> * Our Join Room dialog now shows some room details as a preview upon entering an identifier or URI
|
||
> * The verification flow was rewritten to rely more on the Matrix Rust SDK, hopefully solving most issues that occurred before
|
||
> * Room members now have a profile page that allows, among other things, to kick, ban or ignore them
|
||
> * Speaking of ignoring users, the list can be managed from the account settings
|
||
> * The dialog to view an event’s source was reworked to show more details about the event
|
||
>
|
||
> … and a lot of 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/GNOME/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 6.
|
||
>
|
||
> If one of your New Year’s resolutions is to contribute to an open source project, take your pick amongst our [issues](https://gitlab.gnome.org/GNOME/fractal/-/issues). Any help is very welcome!
|
||
>
|
||
> ![](/blog/img/94355d383b03230da6cc579dcb17c78bf527beee1742946430667980800.png)
|
||
>
|
||
> ![](/blog/img/559f899a22195db1c284e32044066a7362f456571742946522787479552.png)
|
||
|
||
### 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) announces
|
||
|
||
> 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://github.com/element-hq/element-x-android/releases/tag/v0.4.0.
|
||
> We are now focusing on performance, testing and stabilizing the application, in particular around the Rich Text Editor.
|
||
>
|
||
> Lots of new features are planned for 2024, stay tuned!
|
||
|
||
### Element Web/Desktop ([website](https://github.com/vector-im/element-web))
|
||
|
||
Secure and independent communication, connected via Matrix. Come talk with us in [#element-web:matrix.org](https://matrix.to/#/#element-web:matrix.org)!
|
||
|
||
[Florian Heese](https://matrix.to/#/@fheese:element.io) says
|
||
|
||
> ## Video rooms Jitsi backend deprecation
|
||
>
|
||
> Hello from the VoIP team,
|
||
>
|
||
> In the past months we've had a lot of [progress](https://element.io/blog/element-x-now-with-embedded-voip/) 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 [starting](https://github.com/element-hq/element-web/pull/26819) 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.
|
||
>
|
||
> Stay tuned
|
||
|
||
## Dept of SDKs and Frameworks 🧰
|
||
|
||
### Rory&::LibMatrix (.NET 8 matrix bot/client library)
|
||
|
||
[Emma [it/its] ⚡️](https://matrix.to/#/@emma:conduit.rory.gay) reports
|
||
|
||
> Happy 2024!
|
||
> It's been a while since I last posted a TWIM update...
|
||
> Any help I can get is super appreciated!
|
||
>
|
||
> ## Changes
|
||
> * Lots and lots of code cleanup
|
||
> * Sync deserialisation uses a compiled model now (still slow, but turns out this only affects debug builds)
|
||
> * Floating point numbers are now sent as strings (since matrix doesnt like floats)
|
||
> * Some internal fields were renamed to be more clear
|
||
> * Join rules are now mapped
|
||
> * Added utility function to get a room's avatar url as a resolved URI
|
||
> * Added support for setting identity assertion on client instances (for appservices)
|
||
> * Added overload to get member list as a list instead of an async enumerable
|
||
> * Added GetAsObject and GetAsJson to MatrixException, to allow serialization
|
||
> * Hot paths no longer use typed event content, due to the overhead of deserializing it
|
||
> * Rewrote initialization of a client instance to be cleaner
|
||
>
|
||
> _**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))
|
||
|
||
### elm-matrix-sdk
|
||
|
||
[Bram](https://matrix.to/#/@bram:matrix.directory) says
|
||
|
||
> This week, [beta version 2.1.0](https://package.elm-lang.org/packages/noordstar/elm-matrix-sdk-beta/2.1.0/) of the [Elm SDK](https://github.com/noordstar/elm-matrix-sdk-beta) has been published!
|
||
>
|
||
> The minor update is similar to version 2.0.0, where it introduces a new module `Matrix.Event` but offers no major functionality at the time. The API interactions are planned to come after implementing an exposed `Matrix.Room` module for interactions with Matrix rooms.
|
||
>
|
||
> This week, I would love it if you take a look at the `Matrix.Event` module, and let me know if the documentation is sufficient and meets your requirements. I'd love to hear your feedback in the Matrix room [#elm-sdk:matrix.org](https://matrix.to/#/#elm-sdk:matrix.org).
|
||
|
||
## Dept of Events and Talks 🗣️
|
||
|
||
### The Matrix Community met at the 37th Chaos Communication Congress
|
||
|
||
[erebion 🏳️🌈♾ ☎️ 2142](https://matrix.to/#/@erebion:erebion.eu) says
|
||
|
||
> 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://media.ccc.de/ 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.
|
||
>
|
||
> 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.
|
||
>
|
||
> If you have said hello at the event, then also say hello at [#chaosevents:matrix.org](https://matrix.to/#/#chaosevents:matrix.org)!
|
||
>
|
||
> > ![](/blog/img/LOiRsomzjHNynWhbKdabYqZT.jpg)
|
||
|
||
## Dept of Interesting Projects 🛰️
|
||
|
||
### matrix-site
|
||
|
||
[urp](https://matrix.to/#/@ugp:matrix.org) announces
|
||
|
||
> An [example minimal website](https://gitlab.com/ugrp/tests/matrix-site), dynamically sourcing its content from a public matrix room that anyone can read and publish to.
|
||
>
|
||
> It uses a custom event `io.gitlab.ugrp.post` (with two keys, `title` and `text`) and provide an interface for guest and registered users to create a new `post` (cannot edit yet, tbd).
|
||
>
|
||
> The site is built in vanilla HTML, CSS and Javascript, using the [@sctlib/mwc](https://gitlab.com/sctlib/mwc) library of web-components (the new version `v0.2.1` allows to register a `formTemplate` and `displayTemplate` to be able to display and create and custom event in a room).
|
||
>
|
||
> > This is all prototypes (and examples), experimenting using public matrix data outside of traditional chat clients (see also [matrix-static](https://gitlab.com/matrix-static)). 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.
|
||
|
||
## Dept of Guides 🧭
|
||
|
||
[Josh Simmons](https://matrix.to/#/@josh:josh.tel) says
|
||
|
||
> 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.
|
||
>
|
||
> I wrote up [my notes in the Foundation blog](https://matrix.org/blog/2024/01/migrating-from-ems-to-selfhosted-matrix/) in hopes that they'll be helpful, especially for other folks like me who were on small EMS plans that are being discontinued.
|
||
|
||
## Matrix Federation Stats
|
||
|
||
[Aine](https://matrix.to/#/@aine:etke.cc) announces
|
||
|
||
> collected by [MatrixRooms.info](https://matrixrooms.info/) - 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, `8389` Matrix federateable servers have been discovered by matrixrooms.info, `2269` (`27.0%`) of them are publishing their rooms directory over federation.
|
||
> The published directories contain `168449` rooms.
|
||
>
|
||
> [How to add your server](https://gitlab.com/etke.cc/mrs/api/-/blob/main/docs/indexing.md) | [How to remove your server](https://gitlab.com/etke.cc/mrs/api/-/blob/main/docs/deindexing.md)
|
||
|
||
## 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|rom4nik.pl|263|
|
||
|2|utzutzutz.net|265.5|
|
||
|3|nerdhouse.io|297|
|
||
|4|maunium.net|299|
|
||
|5|fostered.uk|373|
|
||
|6|matrix.org|454.5|
|
||
|7|matrix.its-tps.fr|503|
|
||
|8|mailstation.de|957|
|
||
|9|mtrx.fail|1544.5|
|
||
|10|littlevortex.net|2006|
|
||
|
||
### [#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|inu.is|144|
|
||
|2|nerdhouse.io|158|
|
||
|3|matrix.its-tps.fr|160|
|
||
|4|spqr2gang.com|163|
|
||
|5|frei.chat|170|
|
||
|6|matrix.org|316|
|
||
|7|matrix.maymundere.org|897|
|
||
|8|littlevortex.net|1479.5|
|
||
|9|shiftsystems.net|24439.5|
|
||
|10|chat.eutampieri.eu|88738|
|
||
|
||
## That's all I know
|
||
|
||
See you next week, and be sure to stop by [#twim:matrix.org](https://matrix.to/#/#twim:matrix.org) with your updates!
|