matrix.org/content/blog/2023/07/2023-07-28-twim.md

322 lines
20 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 = "2023-07-28T18:00:00Z"
title = "This Week in Matrix 2023-07-28"
path = "/blog/2023/07/21/this-week-in-matrix-2023-07-28"
[taxonomies]
author = ["Thib"]
category = ["This Week in Matrix"]
[extra]
image = "https://matrix.org/blog/img/matrix-logo.png"
+++
## Matrix Live
{{ youtube_player(video_id="b_qCw28Adfk") }}
## Dept of Spec 📜
[Andrew Morgan (anoa)](https://matrix.to/#/@andrewm:element.io) says
> 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:**
> * [MSC4039: Add an MSC for a new Widget API action to upload files into the media repository](https://github.com/matrix-org/matrix-spec-proposals/pull/4039)
>
> **MSCs in Final Comment Period:**
> * [MSC3381: Polls (mk II)](https://github.com/matrix-org/matrix-spec-proposals/pull/3381) (merge)
>
> **Accepted MSCs:**
> * *No MSCs were accepted this week.*
>
> **Closed MSCs:**
> * *No MSCs were closed/rejected this week.*
>
> ## Spec Updates
>
> We've been quite busy at IETF 117 this last week discussing MLS and MIMI in several contexts, meetings, and sessions. Overall things have moved pretty fast in the last week, but the short summary is we're working with MIMI to get (Linearized) Matrix used as the new-found "signalling layer". This layer delegates membership of the room to the crypto layer when the crypto layer (namely MLS) supports being used as such, and is responsible for enforcing all policies. Policies in the context of MIMI are things like join rules, history visibility, and power levels, but with an added twist: we're looking at supporting Role-Based Access Control (RBAC) in combination with power levels in MIMI, which should also bring RBAC to Matrix in the form of a currently-unwritten MSC.
>
> All told, we've got several new documents to write and MSCs to draft, but we'll get there in time. The MIMI working group is expecting solutions in place by about September, so watch this space for more news as we progress. An architecture draft is also in progress on the MIMI side to further explain what all of these new layers mean. In the meantime, if you have questions then please visit [the matrix-spec room](https://matrix.to/#/#matrix-spec:matrix.org) on Matrix!
>
> We're also looking for more Matrix 1.9 candidates. Currently we have just custom emoji and anything to do with MIMI on the agenda - if you'd like to add more, let us know in the [Office of the Matrix Spec Core Team room](https://matrix.to/#/#sct-office:matrix.org) on Matrix.
>
> ## Random MSC of the Week
>
> The random MSC of the week is... [MSC3062: Bot verification](https://github.com/matrix-org/matrix-spec-proposals/pull/3062)!
>
> This MSC describes a method for verifying (cross-signing) the devices of a bot user, and how verification of that sort could be done. Obviously it wouldn't make much sense to verify emoji with a bot. Instead, this MSC suggests that the bot provide a URL to present to the user. If the URL appears trustworthy (those who would control this URL should also be in charge of this bot), then the user can choose to continue the verification.
>
> The user's Matrix client would then make a request to the URL with details of the verification. If the server responds successfully, some cryptographic magic happens, and your client will consider the bot verified!
>
> This is essentially tying a bot's verification with control of a domain's DNS, which I think is a smart way to do things. But you do need to watch out for those pesky UTF-8 control characters when asking the user to verify the URL!
<!-- more -->
## Dept of Servers 🏢
### 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
> This week we released 1.89.rc1. Highlights include:
>
> * Add Unix Socket support for HTTP Replication Listeners. [Document and provide usage instructions](https://matrix-org.github.io/synapse/v1.89/usage/configuration/config_documentation.html#listeners) for utilizing Unix sockets in Synapse
> * Fix a long-standing bug where remote invites weren't correctly pushed
> * Ensure a long state res does not starve CPU by occasionally yielding to the reactor
> * Remove support for calling the `/register` endpoint with an unspecced `user` property for application services
> * Support room version 11 from [MSC3820](https://github.com/matrix-org/matrix-spec-proposals/pull/3820)
>
> and much more. If you'd like to take a deep dive into the changes, you can find the release notes [here](https://github.com/matrix-org/synapse/releases) and as always, if you encounter a bug feel free to report it at https://github.com/matrix-org/synapse/issues/new/choose.
## Dept of Bridges 🌉
[Thib](https://matrix.to/#/@thib:ergaster.org) says
> we have asked the Libera.Chat team to [postpone the removal of portals from 31st July to 11th August](https://matrix.org/blog/2023/07/postponing-libera-chat-deportalling/), both to leave us more time to get the bridge ready and to leave people more time to [turn their portals into plumbed rooms](https://matrix.org/blog/2023/07/make-sure-libera-bridge-keeps-working/).
>
> We're grateful to the Libera Chat team for accepting our request and being mindful of our community.
## Dept of Clients 📱
### 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+.
[Ștefan](https://matrix.to/#/@stefan.ceriu:matrix.org) reports
> Another week, another successful campaign on tweaks and bugfixes. Weve continued our foray with:
> * [a brand new timeline implementation](https://github.com/vector-im/element-x-ios/pull/1392) that just needs a few final tweaks before absolutely shining
> * [fixes around media upload for uncommon flows and file types](https://github.com/vector-im/element-x-ios/pull/1385)
> * [copyable app version and device id](https://github.com/vector-im/element-x-ios/pull/1389)
> * improvements to Compound and our design system
> * [and even some tweaks for the mac](https://github.com/vector-im/element-x-ios/pull/1383)
>
> Otherwise were also working on [room notification settings](https://github.com/vector-im/element-x-ios/pull/1394) and [support for polls](https://github.com/vector-im/element-x-ios/pull/1399)
### 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
> * We are still fixing issues on Element X Android, to be able to release it. Thanks for your patience!
> * We are also making progress on some new features like polls for instance, mainly on the Rust SDK side right now.
> * The project got an updated readme: https://github.com/vector-im/element-x-android!
### 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)!
[Johannes Marbach](https://matrix.to/#/@johannesm:element.io) says
> * Weve continued our quest to eliminate stuck notifications. Fixes around read receipts for non-thread relations on thread roots, missing replies and some of the zombie notifications that appear on app reload have landed. Hot off the press, weve also identified a promising fix for the unread count mismatch before and after decryption. Check out our [meta issue](https://github.com/vector-im/element-web/issues/24392) for the plan going forward.
> * On the Compound front, weve had discussions around theming support and aligned on letting a small subset of customisable colours define the theme identity while not entirely disabling fully custom themes
> * Lastly, weve also made some more progress around the logout path in the native OIDC integration. Sadly, things will be somewhat delayed here with folks going on summer vacation and having to pivot to other projects temporarily.
### 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.6.5 has been released, it contains some bugfixes, especially when the device is out of network range. Should be available soon on GooglePlay and F-Droid.
### Commune ([website](https://github.com/commune-os/commune-server))
Commune is a communications suite built on top of matrix. Commune aims to bring together chat, discussions, email and other interactive apps into a single matrix client.
[ahq](https://matrix.to/#/@ahq:matrix.org) reports
> [Shpong](https://shpong.com) is an instance of [Commune](https://github.com/commune-os/commune-server), a publicly-accessible matrix community.
## Dept of Non Chat Clients 🎛️
### Thirdroom ([website](https://github.com/matrix-org/thirdroom))
A browser-based open metaverse client
[Matthew (away)](https://matrix.to/#/@matthew:matrix.org) reports
> We've had to stop development on Third Room for the foreseeable due to lack of funding (folks who said they were interested in funding the project unfortunately did not come through in the end, and Element unfortunately doesn't have the resources to continue funding the development solo). All the code is of course Apache Licensed open source, and we very much hope that the codebase will find a way to live on in future.
## Dept of SDKs and Frameworks 🧰
### Matrix.swift SDK ([website](https://gitlab.futo.org/circles/matrix.swift))
[cvwright](https://matrix.to/#/@cvwright:matrix.org) reports
> The Circles team at FUTO is proud to announce the first alpha pre-release of Matrix.swift, our homegrown Swift client SDK for Matrix apps on Apple platforms including iOS and MacOS.
>
> Although the project is still quite rough around the edges, it already provides most of the basic functionality that a simple Matrix client app would need. It can create, join, and leave rooms, and it can send and receive messages and media attachments, with support for Matrix end-to-end encryption via the Rust Crypto SDK.
>
> A more complete list of features is available in the main [project repo](https://gitlab.futo.org/circles/matrix.swift).
>
> The first alpha v0.1.0 release is available from the [FUTO Gitlab](https://gitlab.futo.org/circles/matrix.swift/-/tags/v0.1.0-alpha) as well as from a [Github mirror](https://github.com/futo-org/Matrix.swift/releases/tag/v0.1.0-alpha).
### Trixnity ([website](https://gitlab.com/trixnity/trixnity))
Multiplatform Kotlin SDK for Matrix
[Benedict](https://matrix.to/#/@benedict:imbitbu.de) reports
> Trixnity 3.8.0 is released with matrix 1.7 support 🎉
>
> features:
> * matrix 1.7 support (reactions and more)
> * extend MatrixClient API of sync allowing to set presence
> * configurable sync delays (contribution by @steffen.eichenberg)
>
> bugfixes:
> * don't fail filling timeline when room does not exist locally yet
### 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) reports
> This week, we made progress on four key areas:
>
> * Polls. [FFI types were added](https://github.com/matrix-org/matrix-rust-sdk/pull/2326) and we got a first draft PR for [timeline support](https://github.com/matrix-org/matrix-rust-sdk/pull/2338). Special thanks to [Kévin Commaille](https://github.com/zecakeh) who did all the Ruma work this builds on, including recently [making it compatible](https://github.com/ruma/ruma/pull/1589) with _both_ the latest state of the MSC and the older version currently implemented by Element Web
> * Sliding Sync: [Making it more robust against unexpected server behavior](https://github.com/matrix-org/matrix-rust-sdk/pull/2311), [more logging context](https://github.com/matrix-org/matrix-rust-sdk/pull/2329), [getting the new server-computed avatar URL](https://github.com/matrix-org/matrix-rust-sdk/pull/2333)
> * Timeline: [applying redactions more thoroughly](https://github.com/matrix-org/matrix-rust-sdk/pull/2307)
> * Room List API: [Update batching](https://github.com/matrix-org/matrix-rust-sdk/pull/2322) to reduce the amount of FFI back-and-forth for EX and [fuzzy searching](https://github.com/matrix-org/matrix-rust-sdk/pull/2335)
## Dept of Bots 🤖
### Matrix Registration Bot ([website](https://github.com/moan0s/matrix-registration-bot))
[moanos [he/him]](https://matrix.to/#/@moanos:hyteck.de) announces
> The [matrix-registration-bot](https://github.com/moan0s/matrix-registration-bot) allows you to manage an invite only matrix server. An admin asks the bot for a invite code and then sends this code to a friend (or enemy) that they want to invite to the server.
>
> **it is now a lot easier to run the bot**
>
> * Create an admin account on your server for the bot
> * run `docker run -it -e "BOT_USERNAME=@matrix-registration-bot:example.org" -e "BOT_PASSWORD=SECURE_PASSWORD" -e "BOT_SERVER=https://synapse.example.org" moanos/matrix-registration-bot:1.3.0 `
> * Message the bot `help` to find out about all it can do
>
> For all the folks using [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy/tree/master):
> Adding the following to you `vars.yml` is enough to fully configure the bot
>
> ```
> matrix_bot_matrix_registration_bot_enabled: true
>
> #By default, the playbook will set use the bot with a username like
> ## this: `@bot.matrix-registration-bot:DOMAIN`.
> # To use a different username, uncomment & adjust the variable.
> # matrix_bot_matrix_registration_bot_matrix_user_id_localpart: bot.matrix-registration-bot
>
> # Generate a strong password here. Consider generating it with `pwgen -s 64 1`
> matrix_bot_matrix_registration_bot_bot_password: PASSWORD_FOR_THE_BOT
>
> # Enables registration
> matrix_synapse_enable_registration: true
>
> # Restrict registration to users with a token
> matrix_synapse_registration_requires_token: true
> ```
>
> No more hassle with access tokens - the bot can obtain them now on it's own!
>
> For questions and support visit [#matrix-registration-bot:hyteck.de](https://matrix.to/#/#matrix-registration-bot:hyteck.de)
### flip-matrix-bot ([website](https://gitlab.com/FriendlyLinuxPlayers/bots/flip-matrix-bot))
A Matrix bot for the [Friendly Linux Players](https://friendlylinuxplayers.org/) community.
[HER0](https://matrix.to/#/@HER0:matrix.org) says
> The new [online documentation](https://friendlylinuxplayers.gitlab.io/bots/matrix-bot-docs/) has received a bunch of updates, and now the **Interacting with the bot** section (starting with the [usage overview](https://friendlylinuxplayers.gitlab.io/bots/matrix-bot-docs/end-user/overview.html)) is much more fleshed out.
>
> The docs are still in an early state, but this is a step towards making the bot easier to work with! If you have any feedback on this, feel free to [file an issue](https://gitlab.com/FriendlyLinuxPlayers/bots/matrix-bot-docs/-/issues) or discuss it with us in [#flip-matrix-bot:flip.earth](https://matrix.to/#/#flip-matrix-bot:flip.earth).
## Dept of Events and Talks 🗣️
[Michael Weimann](https://matrix.to/#/@michaelw:element.io) says
> ### Schau dir den Vortrag „[Die aufregende Reise einer Matrix-Nachricht](https://programm.froscon.org/2023/events/2934.html)“ am Sonntag, den 06.08. August um 10:00 Uhr auf der [FrOSCon](https://froscon.org/) an
>
> _This post is about a talk „The exciting journey of a Matrix message“ explaining the Matrix protocol and APIs at [FrOSCon](https://froscon.org/). Since the conference is mainly in German, the main content of this post is also in German._
>
> Wenn ihr wissen wollt, warum Matrix funktioniert und ihr nächstes Wochenende in der Nähe von Bonn (bzw. Sankt Augustin) seid, schaut euch den Vortrag „[Die aufregende Reise einer Matrix-Nachricht](https://programm.froscon.org/2023/events/2934.html)“ auf der [FrOSCon](https://froscon.org/) an!
>
> Im Vortrag verfolgen wir den Weg einer Matrix-Nachricht vom eigenen Eingabefeld bis zur Timeline des Empfängers: Was passiert da, wer redet mit wem und wie zum Geier funktioniert eigentlich diese Verschlüsselung? Zu jedem Schritt schauen wir uns an, welche APIs benutzt werden. Außerdem werfen wir einen Blick in die Matrix-Spezifikation, in der drinsteht, wie das alles funktioniert.
>
> Der Vortrag wird danach auch als Stream bei [media.ccc.de](https://media.ccc.de/b/conferences/froscon) verfügbar sein. Die [komplette Beschreibung](https://programm.froscon.org/2023/events/2934.html) zum Vortrag gibt es im FrOSCon Programm.
[HarHarLinks](https://matrix.to/#/@kim:sosnowkadub.de) says
> ### Matrix @ FrOSCon
>
> FrOSCon is happening **next week**!
>
> * 🐸 [**Fr**ee and **O**pen **S**ource **Con**ference](https://froscon.org/)
> * 📆 Saturday August 5 and Sunday August 6
> * 🗺️ University of applied Sciences Bonn Rhine Sieg 🇩🇪
> * 🧑‍🏫 Matrix community **devroom**, Matrix community **stand**, and even [talks about Matrix on the main tracks](https://programm.froscon.org/2023/events/2934.html)
> * 🕒️ Programme/Schedule: [Saturday](https://programm.froscon.org/2023/schedule/1.html#1) / [Sunday](https://programm.froscon.org/2023/schedule/2.html#1)
> * 🗨️ Matrix Room: [#FrOSCon:fiksel.info](https://matrix.to/#/#FrOSCon:fiksel.info)
> * 💲 Free as in free beer! If you're in the area, come and meet us!
> * 🦣 Share the [toot](https://mastodon.matrix.org/@matrix/110785675372625336) or [tweet](https://twitter.com/matrixdotorg/status/1684517450258296832) ([nitter mirror](https://nitter.net/matrixdotorg/status/1684517450258296832))
### Matrix User Meetup Berlin
[saces](https://matrix.to/#/@saces:c-base.org) reports
> Next Matrix user meetup 2.8.2023, 8 pm @ c-base
>
> Meet other matrix users, chat about Matrix, the rest, and everything else, discuss your Matrix ideas, sign each other in persona, and maybe spice the evening with a good mate or beer.
>
> Also when the bbq is lit you may wish you brougth your favorite item :)
>
> Every first Wednesday of the month in the c-base at 8pm ('til the next pandemic).
>
> Matrix room: [#mumb:c-base.org](https://matrix.to/#/#mumb:c-base.org)
## 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|test.zemos.net|273|
|2|zemos.net|462.5|
|3|maescool.be|467|
|4|infosec.exchange|677.5|
|5|herkinf.de|715|
|6|kittenface.studio|814|
|7|matrix.org|2807.5|
|8|0xdead10cc.com|3498|
|9|anonymousland.org|4500|
|10|plocki.org|6476|
### [#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|test.zemos.net|68|
|2|zemos.net|123|
|3|herkinf.de|151|
|4|777.tf|206|
|5|matrix.org|337|
|6|l1qu1d.net|750.5|
|7|evilcyberhacker.net|1184.5|
|8|shiftsystems.net|22843|
## 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!