matrix.org/content/blog/2023/04/2023-04-21-this-week-in-mat...

218 lines
13 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.

+++
title = "This Week in Matrix 2023-04-21"
date = "2023-04-21T20:14:55Z"
path = "/blog/2023/04/21/this-week-in-matrix-2023-04-21"
[taxonomies]
author = ["Thib"]
category = ["This Week in Matrix"]
+++
## Matrix Live
{{ youtube_player(video_id="1VKBD_6PTvs") }}
<!-- more -->
## Dept of Servers 🏢
### Telodendria ([website](https://telodendria.io))
An open source Matrix homeserver implementation written from scratch in ANSI C and designed to be lightweight and simple, yet functional
[Jordan Bancino](https://matrix.to/#/@jordan:bancino.net) reports
> Telodendria, the very-much-a-work-in-progress Matrix homeserver written in C, has undergone some major architecture changes that make it more robust, more maintainable, and more feature-complete. Of note are these new features that came about as a result of the changes, though there are many more:
>
> * **TLS:** We now have full TLS support for both the client and the server. Take your pick of OpenSSL or LibreSSL, or easily add support for another TLS implementation using our simple I/O API.
> * **Admin API:** Work on the administrator API has begun. This includes implementing user privileges, and moving the program configuration to the database so it can be managed with a simple JSON API.
>
> We have also done a little work on the Matrix specification:
>
> * **Account Management:** Users can now change their passwords, set display names and avatars, and get information about their account.
> * **User Interactive Authentication (UIA):** UIA is basically complete, I'm just working on wrapping up the web fallback pages. You can now use registration tokens to register for accounts on a Telodendria server as well, though as of the time of my writing this, these tokens can't be created through the Admin API quite yet.
>
> Almost all of Client Authentication is complete and we are almost ready to move on to the core of the Matrix specification&mdash;rooms and events.
>
> Visit [#telodendria-newsletter:bancino.net](https://matrix.to/#/#telodendria-newsletter:bancino.net) for more details, and feel free to join the discussion at [#telodendria-general:bancino.net](https://matrix.to/#/#telodendria-general:bancino.net) if you're interested in the project.
### Synapse ([website](https://github.com/matrix-org/synapse/))
Synapse is a Matrix homeserver implementation developed by the matrix.org core team
[Shay](https://matrix.to/#/@shayshay:matrix.org) says
> Welcome back to the backend section of TWIM. This week we released Synapse
> v1.82.0rc1 for your consideration. Here are a few of the highlights:
>
> * Allow loading the `/directory/room/{roomAlias}` endpoint on workers
> * Add some validation to `instance_map` configuration loading
> * Delete server-side backup keys when deactivating an account
> * Fix and document untold assumption that `on_logged_out` module hooks will be called before the deletion of pushers
> * Remove the broken, unspecced registration fallback. Note that the _login_ fallback is unaffected by this change.
>
> And much more! You can take a look at the release notes here: https://github.com/matrix-org/synapse/releases. As always, if you encounter a bug feel free to report it at https://github.com/matrix-org/synapse/issues/new/choose.
### Construct ([website](https://github.com/matrix-construct/construct))
A performance-oriented homeserver with minimal dependencies.
[Jason Volk](https://matrix.to/#/@jevolk:matrix.org) says
> 🔓 **End-to-End Encryption** is significantly more reliable in Construct this week. **E2EE** had always been flaky, but it was never clear before where it was going wrong.
>
> ⛏️ The ice broke earlier this week when I noticed in a small corner of an Element dialogue that my `device_id` was being cut off at its `:` character. After [simplifying](https://github.com/matrix-construct/construct/commit/15cb6bfdcaedc8e34db14affa6b56dee26c27ff5) the `device_id` grammar things started to light up green again. I was then able to work through a standard list of [bugs](https://github.com/jevolk/charybdis/commit/0a151a3a9092dcee4eb37af85f8f217b22a62926), [ancient](https://github.com/jevolk/charybdis/commit/080748f0af172045fb0402492c945cf1595cac70) [code-rot](https://github.com/jevolk/charybdis/commit/336026dde675e3266e93e98329049612dabef423), and a couple of [incomplete](https://github.com/jevolk/charybdis/commit/1e42fa16a72ce339b14e72d2e5a7a5615d52f04f) [endpoints](https://github.com/jevolk/charybdis/commit/321ea3d6417250f2848d04397b9feffcf15e4158).
>
> 🔐 All of this results in robust encryption sessions that survive clear-cache and reload, proper key backups without old sessions hanging around, and interactive verification without random cancellations. At the time of this writing, there is still one remaining hold-up with device verification for cross-signing so this week's [dockers](https://hub.docker.com/r/jevolk/construct/tags) might not finish building until mid-Saturday.
>
> 🙋‍♂️ I'd like to thank Giovanni Bottaro for tracking down an issue leading one of the patches above.
> 🙋 I'd like to thank qg for tracking down a rocksdb-related bug late last week right after TWIM. This fix has already been shipped in the latest Construct.
>
> Don't keep your ❤️ for Construct a secret. Join [#test:zemos.net](https://matrix.to/#/#test:zemos.net) to encrypt everything else.
## Dept of Clients 📱
### 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)!
[kittykat](https://matrix.to/#/@kittykat:matrix.org) reports
> * Were still working hard on stuck notifications:
>
> - The prototype implementation of [MSC 3981](https://github.com/matrix-org/matrix-spec-proposals/pull/3981) is finished and the first round of feedback is positive.
> - Weve extended dev tools - now you can see dev tools from the room list meaning you dont have to go into a room in order to access it .
> * Improving notifications in general is also still in progress, next week well be mapping push rules to improve settings pages and make them simpler for all users.
> * Our improvements to accessibility continue to be delivered also which were very excited about.
### Element iOS ([website](https://github.com/vector-im/element-ios))
Secure and independent communication for iOS, connected via Matrix. Come talk with us in [#element-ios:matrix.org](https://matrix.to/#/#element-ios:matrix.org)!
[Ștefan](https://matrix.to/#/@stefan.ceriu:matrix.org) says
> Element version 1.10.11 is incoming with mention pill support in the rich text editor, bug fixes and performance improvements. We have also made various improvements to the timeline UI, improved our crypto stack and saw the first version of slash commands suggestions
>
> ![](/blog/img/FlKBKhmIBPreTUPITwnNZlhI.png)
>
> ![](/blog/img/HLyPOkpcOWWmvAEdacWsXjuP.png)
### Element X iOS ([website](https://github.com/vector-im/element-x-ios))
A total rewrite of Element-iOS using the Matrix Rust SDK.
[Ștefan](https://matrix.to/#/@stefan.ceriu:matrix.org) says
> This week in Element X,
> * We have fixed various issues around sliding sync, improved notification handling and various root components
> * We are making very good progress on OIDC and invitation support while work continues on media uploading and the room creation, room detail and user detail screens
### Element Android ([website](https://github.com/vector-im/element-android))
Secure and independent communication for Android, connected via Matrix. Come talk with us in [#element-android:matrix.org](https://matrix.to/#/#element-android:matrix.org)!
[benoit](https://matrix.to/#/@benoit.marty:matrix.org) says
> * Element Android 1.5.32 has been released and will be available soon for everyone. It includes a fix for the double read receipt observed on the timeline.
> * On ElementX, we are making progress on Oidc support, we are improving the room list and the timeline rendering, user will be able to ignore and un-ignore other users, the app can now list invitations and the user can accept or reject them, and lots of other technical features like feature flags have been done.
## Dept of Encryption 🔐
### Messaging Layer Security
[uhoreg](https://matrix.to/#/@hubert:uhoreg.ca) says
> Messaging Layer Security (MLS) is an IETF standard for end-to-end encryption in messaging systems. We've been working on adapting it to work with Matrix, and implementing a proof-of-concept in Element web. You can view an demo of some of the early progress at https://scitech.video/w/sfMitVx1Zej4Yvvu3fAK5B, which shows creation of an MLS group and exchange of encrypted messages. But things are progressing, and this demo is already out of date. Keep an eye out for more demos.
## Dept of SDKs and Frameworks 🧰
### elm-matrix-sdk ([website](https://github.com/noordstar/elm-matrix-sdk))
Matrix SDK implemented in Elm.
[Bram](https://matrix.to/#/@bram:noordstar.me) reports
> After having received feedback from the Matrix and Elm community on the [Chess client](https://chess.noordstar.me/), it is now time for the final development phase: making the SDK developer-friendly so that a version `v1.0.0` can be published.
>
> The [Elm SDK](https://github.com/noordstar/elm-matrix-sdk) has received a large refactor, which includes the following changes:
> * No more `Task` types! Everything is now packaged in a `Cmd` type from a `Task Never VaultUpdate` type, which means that the `Vault` type handles all potential complaints for you.
> * When a `Cmd` fails and the `Vault` thinks it is wise to try again, it will sneak that one along with the next `Cmd` you're planning on giving to the API. Feedback on this behaviour is welcome, this might still change before version `1.0.0`.
> * Greatly improved documentation
>
> The current plan is to implement filters so that the SDK will be butter smooth sailing through that endless initial sync. There's still a few ambiguities left in the Matrix spec that are holding the SDK back as a pure and immutable language, but we're slowly getting there.
>
> For demo purposes, here's a demonstration of how to get all named Matrix rooms from your client:
>
> ```elm
> rooms : List String
> rooms =
> vault
> |> Matrix.getRooms
> |> List.filterMap Matrix.Room.name
> ```
### matrix-rust-sdk ([website](https://github.com/matrix-org/matrix-rust-sdk))
Next-gen crypto-included SDK for developing Clients, Bots and Appservices; written in Rust with bindings for Node, Swift and WASM
[Jonas Platte](https://matrix.to/#/@jplatte:flipdot.org) says
> Since our last update three weeks ago,
>
> * There were new releases of our JS crypto bindings: [matrix-sdk-crypto-nodejs-v0.1.0-beta.4](https://github.com/matrix-org/matrix-rust-sdk/releases/tag/matrix-sdk-crypto-nodejs-v0.1.0-beta.4), [matrix-sdk-crypto-js-0.1.0-alpha.7](https://github.com/matrix-org/matrix-rust-sdk/releases/tag/matrix-sdk-crypto-js-0.1.0-alpha.7)
> * We [updated](https://github.com/matrix-org/matrix-rust-sdk/pull/1744) [logs](https://github.com/matrix-org/matrix-rust-sdk/pull/1746) [and](https://github.com/matrix-org/matrix-rust-sdk/pull/1749) [other](https://github.com/matrix-org/matrix-rust-sdk/pull/1772) [debug](https://github.com/matrix-org/matrix-rust-sdk/pull/1773) [info](https://github.com/matrix-org/matrix-rust-sdk/pull/1797)
> * A bunch of functionality was added to the main FFI crate:
> - [Getting the inviter for a room in invite state](https://github.com/matrix-org/matrix-rust-sdk/pull/1738)
> - [`InReplyToDetails`](https://github.com/matrix-org/matrix-rust-sdk/pull/1748)
> - [`accept_invitation`](https://github.com/matrix-org/matrix-rust-sdk/pull/1776)
> - [tracing (structured logging)](https://github.com/matrix-org/matrix-rust-sdk/pull/1692)
> * And as usual, a bunch of bugfixes, cleanup and refactoring
## Dept of Services 🚀
### activepieces
[imbev](https://matrix.to/#/@imbev:matrix.org) reports
> [activepieces](https://www.activepieces.com/) is a No-code Business Automation Tool and a FOSS alternative to Zapier.
>
> Following my pull request, activepieces has added support for sending messages to Matrix.
## 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|maescool.be|488|
|2|chat.braydmedia.de|589|
|3|anontier.nl|664.5|
|4|kohlernet.de|690.5|
|5|not-a.computer|713|
|6|matrix.org|1654|
|7|projectsegfau.lt|2237|
|8|35c4p37h3m47r1x.ddns.net|2441|
|9|zemos.net|3380|
|10|aguiarvieira.pt|4309|
### [#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|777.tf|292|
|2|zemos.net|520.5|
|3|dendrite.matrix.org|624.5|
|4|herkulessi.de|682.5|
|5|dendrite.kootstra.frl|975.5|
|6|matrix.org|1246.5|
|7|test.zemos.net|1741|
|8|midnightthoughts.space|2755|
## 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!