matrix.org/content/blog/2022/11/2022-11-11-this-week-in-mat...

317 lines
17 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 2022-11-11"
date = "2022-11-11T18:26:24Z"
path = "/blog/2022/11/11/this-week-in-matrix-2022-11-11"
[taxonomies]
author = ["Thib"]
category = ["This Week in Matrix"]
+++
## Matrix Live
{{ youtube_player(video_id="Vn-NZvMcujc") }}
## Dept of *Status of Matrix* 🌡️
[andybalaam](https://matrix.to/#/@andybalaam:matrix.org) reports
> A few Matrix folks went to IETF115 this week, and here is my Trip Report: [Can Matrix help messaging standardisation through MIMI?](https://www.artificialworlds.net/blog/2022/11/09/ietf115-trip-report-can-matrix-help-messaging-standardisation-through-mimi/)
## Dept of Spec 📜
[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://matrix.org/docs/spec/proposals.
>
> ## MSC Status
>
> **New MSCs:**
> * [MSC3926: Disable server-default notifications for bot users by default](https://github.com/matrix-org/matrix-spec-proposals/pull/3926)
>
> **MSCs in Final Comment Period:**
> * *No MSCs are in FCP.*
>
> **Accepted MSCs:**
> * [MSC3030: Jump to date API endpoint](https://github.com/matrix-org/matrix-spec-proposals/pull/3030)
>
> ## Spec updates
>
> This week the Spec Core Team has been working with the IETF More Instant Messaging Interoperability (MIMI) working group to define a charter. With a charter, the working group is able to start thinking about implementation and design details, which means talking even more about Matrix!
>
> We had the opportunity to discuss Matrix with several interested people at IETF this week, and are extremely excited for the (long) road ahead: even in the event where Matrix doesn't get accepted, we hope the protocol(s) the working group publishes will be fit for purpose and adopted widely (not to mention our own spec will be better as a result).
>
> To find out more about what we're doing in this space or to learn more, check out this week's Matrix Live above!
>
> ## Random MSC of the Week
>
> The random MSC of the week is... [MSC3381: Polls (mk II)](https://github.com/matrix-org/matrix-spec-proposals/pull/3381)!
>
> Polls! They are useful for quickly gauging whether a group of people agree, or entirely disagree on a topic or choice. This is an MSC with a fairly long history, but has received experimental implementation in a small number of Matrix clients. The concept uses Extensible Events, and there are plans to rewrite it off the back of changes in [MSC1767](https://github.com/matrix-org/matrix-spec-proposals/pull/1767) (extensible events). But for now, it works and is a fun feature.
>
> It's likely worth waiting for the rewrite before commenting on the MSC with detailed changes, but otherwise feel free to have a read to see how it currently works!
> ![](/blog/img/cc0b6684df1160e11ec35dd047c327d4c76b7e5b.png)
## Dept of Servers 🏢
### Feta ([website](https://www.feta.bz/))
[geoffledak](https://matrix.to/#/@geoffledak:matrix.org) announces
> ## Feta is a Matrix server distribution for the Raspberry Pi 3 and 4.
>
> It is a an operating system image, based on Raspberry Pi OS Lite and includes the Matrix Synapse server, a self-hosted Element client, Postgres database, and it generates an SSL certificate for your domain using Certbot. The coturn TURN server is also included so voice and video calls work without any additional configuration.
>
>
> ## The provided setup script will have your server up and running in a matter of minutes.
>
> All you need to do is configure your DNS settings for your domain, forward some ports through your router, and boot up your Raspberry Pi. Once setup is complete, enjoy your new Matrix server! Synapse, Element, Postgres, coturn, and federation are all preconfigured for you.
>
> Visit https://www.feta.bz/ to download and get more info.
>
> Head on over to [#feta:matrix.org](https://matrix.to/#/#feta:matrix.org) for discussion and updates!
### 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) says
> * **Donations:** Both recurring and one-time donations are now accepted via LiberaPay and Stripe, respectively—GitHub Sponsors is hopefully coming soon. All funds will go directly to infrastructure and development labor. You can find the donate links on the [website](https://telodendria.io), and the [GitHub mirror](https://github.com/Telodendria/Telodendria).
> * **Memory/Network Improvements:** Another week brings another round of memory and socket handling improvements.
> * **Patch Submission:** It's now easier than ever to contribute to Telodendria thanks to the new `send-patch` script. Submitting your changes for review is now only a single command.
> * **Newsletter:** Catch the full-length newsletter in [#telodendria-newsletter:bancino.net](https://matrix.to/#/#telodendria-newsletter:bancino.net).
### Synapse ([website](https://github.com/matrix-org/synapse/))
Synapse is a Matrix homeserver implementation developed by the matrix.org core team
[squah](https://matrix.to/#/@squah:matrix.org) says
> Synapse 1.71.0 has been released! It contains the usual round of bugfixes and performance improvements, plus some new features. Notably, Synapse now supports:
>
> * back-channel logouts from OpenID Connect providers.
> * Postgres and SQLite full-text search operators in search queries.
> * MSC3664, push rules for relations.
>
> Server administrators should be aware that:
>
> * legacy Prometheus metric names are now disabled by default, and will be removed altogether in Synapse 1.73.0.
> If not already done, server administrators should update their dashboards and alerting rules to avoid using the deprecated metric names.
> * Synapse 1.71.0 will be the last release to support PostgreSQL 10. Server administrators are encouraged to upgrade their PostgreSQL servers before the next release, if needed.
>
> You can read more about v1.71.0 here: https://github.com/matrix-org/synapse/releases
>
> In the mean time, the team has been working on the remaining parts of faster room joins.
## Dept of Bridges 🌉
### Postmoogle ([website](https://gitlab.com/etke.cc/postmoogle))
An Email to Matrix bridge. 1 room = 1 mailbox.
[Aine](https://matrix.to/#/@aine:etke.cc) announces
> Postmoogle vUnreleased is here!
>
> Yep, no pinned release yet, but there are some exciting features in the `main` branch (`latest` docker image):
>
> **multi-domain support!**
>
> You can have one main email domain (eg: [the-etke.cc](https://etke.cc/)) and multiple additional domains that will be used as aliases ([not-etke.cc](https://etke.cc/), [example.com](https://example.com/)), so you can get more spam to the [user@the-etke.cc](https://example.com/), [user@not-etke.cc](https://example.com/) and [user@example.com](https://example.com/) at the same time!
>
> **bridged thread replies!**
>
> the last planned feature of the roadmap: send reply (reply-to or thread reply) to an email message in the matrix room and it will automatically set all magic stuff (`In-Reply-To` header, subject with `Re: %original message's subject%`, etc) and send email. It's pretty rough implementation, so feedback is appreciated!
>
> [Source code](https://gitlab.com/etke.cc/postmoogle) and say hi in the [#postmoogle:etke.cc](https://matrix.to/#/#postmoogle:etke.cc) room
## Dept of Clients 📱
### Hydrogen ([website](https://github.com/vector-im/hydrogen-web))
Hydrogen is a lightweight matrix client with legacy and mobile browser support
[Midhun](https://matrix.to/#/@rmidhunsuresh:matrix.org) says
> Released [v0.3.4](https://github.com/vector-im/hydrogen-web/releases/tag/v0.3.4) (and [v0.3.3](https://github.com/vector-im/hydrogen-web/releases/tag/v0.3.3)) with a join room UI and lots of bug fixes!
> Special thanks to [Isaiah Becker-Mayer](https://github.com/ibeckermayer) for his numerous typescript PRs!
>
> Some of the fixes are for:
> * [an error that can stop sync](https://github.com/vector-im/hydrogen-web/issues/866)
> * an issue where hydrogen did not verify senders of room keys!
> * message verification not working in rooms where we haven't sent a message yet
### 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) announces
> * [1.11.14 is out](https://github.com/vector-im/element-web/releases/tag/v1.11.14), with many improvements to threads!
> * This week, we fixed some issues, including a bug with media uploads
>
> In labs (you can enable labs features in settings on develop.element.io or on Nightly):
> * Weve added more functionality to the rich text editor, its catching up slowly with the basic composer
> * Voice broadcast also has a few new tricks up its sleeve, including improvements to pre-recording and message length
### 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
> * We have been working hard on improving the Element experience and to that extend we have fixed some crashes, squashed timeline layout issues, improved the device manager and the new rich text editor
> * Work is also continuing on thread notifications and the new crypto frameworks
> * ElementX on the other hand received support for offline logins, message editing, video and encrypted messages in the timeline and a brand new underlying navigation mechanism
### 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) reports
> * Element Android 1.5.7 has been pushed to production on the PlayStore and should also be available for F-Droid users soon. This version fixes the issue when sharing items to the app, and also fixes the regression observed in 1.5.6 (before it reaches production!) during the first sync with the server.
> * We are making progress on ElementX, which is a new client using the Matrix Rust SDK and Jetpack Compose. This app is now able to display a timeline and send messages to a room using the wysiwyg composer.
>
> ![](/blog/img/20221111-ex-android.jpg)
>
> ![](/blog/img/20221111-ex-android-list.jpg)
## Dept of SDKs and Frameworks 🧰
### Trixnity ([website](https://gitlab.com/trixnity/trixnity))
Multiplatform Kotlin SDK for Matrix
[Benedict](https://matrix.to/#/@benedict:imbitbu.de) announces
> We released [Trixnity 3.0.0-beta3](https://gitlab.com/trixnity/trixnity/-/releases), which supports the matrix spec 1.4 and new relation types: reply (without fallback), replace, thread (basic support, no separate timelines or client aggregations yet).
### simplematrixbotlib ([website](https://github.com/KrazyKirby99999/simple-matrix-bot-lib))
simplematrixbotlib is an easy to use bot library for the Matrix ecosystem written in Python and based on matrix-nio.
[imbev](https://matrix.to/#/@imbev:matrix.org) reports
> ## Version 2.8.0 released!
>
> This version brings a few improvements.
>
> The sending of video messages has been added. The following handler will send a video after any message from another user:
>
> ```python
> async def example(room, message):
> match = botlib.MessageMatch(room, message, bot)
> example_video="./videos/example.mp4"
> if match.is_not_from_this_bot():
> await bot.api.send_video_message(
> room_id=room.room_id,
> video_filepath=example_video)
> ```
>
> Thanks to moanos and HarHarLinks, there are improvements to the handling of device ids.
>
> Join us in the Matrix room at https://matrix.to/#/#simplematrixbotlib:matrix.org or the Git repository at https://codeberg.org/imbev/simplematrixbotlib !
>
> _Version 3.0 coming soon!_
### Ruma ([website](https://ruma.dev/))
A set of Rust library crates for working with the Matrix protocol. Rumas approach to Matrix emphasizes correctness, security, stability and performance.
[Jonas Platte](https://matrix.to/#/@jplatte:flipdot.org) announces
> Since our last update in June (yeah, sorry...), we released Ruma 0.7.0 and a few patch releases including all of the following and more:
>
> * Support for refresh tokens (MSC2918 / Matrix 1.4)
> * Unstable support for discovering an OpenID Connect Server (MSC2965)
> * Unstable support for private read receipts
> * Lots of API refinements, like renaming `AnyRoomEvent` to `AnyTimelineEvent`
> * Support for Room Version 10
> * Unstable support for sliding sync
>
> Since this release was released back in September, a bunch of things have also happened that are not released yet:
>
> * Many features were moved out of unstable feature flags because they were stabilized in Matrix 1.4
> * We made message construction easier than ever with improvements to markdown detection and improvements to reply and edit creation
> * We refactored and extended the push notification code
> * We are about to conclude a massive refactoring that should make our codebase look less strange if you are familiar with Rust, and could help compile times as well
### 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
[ben](https://matrix.to/#/@gnunicorn:matrix.org) announces
> This week has seen important strives forward on [sliding sync, which now has a PR up for offline support](https://github.com/matrix-org/matrix-rust-sdk/pull/1193) and the new timeline API, with some [initial unittests](https://github.com/matrix-org/matrix-rust-sdk/pull/1192) and [video messages](https://github.com/matrix-org/matrix-rust-sdk/pull/1196) support merged and [support for file messages coming up](https://github.com/matrix-org/matrix-rust-sdk/pull/1203). On the FFI, we now have support for [logging in Android](https://github.com/matrix-org/matrix-rust-sdk/pull/1199) and work on [moving the iOS binding scripts into our internal xtask cli](https://github.com/matrix-org/matrix-rust-sdk/pull/1201).
>
> As usual a lot of work is been going in the background without any visible, tangible outcome yet. On one side we are making great progress on getting a first async-prototype for uniffi with python working, on the other we have been profiling the sdk on iOS mobile devices for its memory footprint - which is a major blocker for notification support.
>
> ️👉 Wanna hack on matrix rust? Go check out our [`help wanted` tagged issues](https://github.com/matrix-org/matrix-rust-sdk/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) and join our matrix channel at Matrix Rust SDK.
## Dept of Events and Talks 🗣️
### FOSDEM
[Thib](https://matrix.to/#/@thib:ergaster.org) announces
> There will be a [Matrix Devroom at FOSDEM](https://fosdem.org/2023/schedule/track/matrix/) next February 🎉
> We will issue a CfP very _soon™_
## Dept of Interesting Projects 🛰️
### Matrix Plays GameBoy games
[jaller94](https://matrix.to/#/@jaller94:matrix.org) reports
> Using this Lua script and NodeJS bot, you can remotely control any GameBoy (Classic + Color + Advance) game using the mGBA emulator. Invite some friends to the Matrix room and everyone can control the game at once.
> Yes, the project name is a reference to the famous "Twitch Plays Pokémon" stream which has 1000s of people complete Pokémon games together just by typing into a chat.
>
> This is a bot and does not need an AppService registration.
>
> https://github.com/jaller94/matrix-plays-pokemon
>
> Disclaimer: This is a hobby project of mine. It is neither associated with nor endorsed by my employer or Nintendo. The project does not contain ROMs or other non-free assets.
## 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|babel.sh|350|
|2|nognu.de|409|
|3|trygve.me|548|
|4|maescool.be|623|
|5|keks.club|630|
|6|shortestpath.dev|640.5|
|7|willian.wang|686|
|8|rom4nik.pl|775|
|9|alemann.dev|840.5|
|10|babel1.eu|898|
### [#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|babel.sh|130|
|2|dendrite.matrix.org|185|
|3|kumma.juttu.asia|219|
|4|rustybever.be|327.5|
|5|forlorn.day|511|
|6|frai.se|606.5|
|7|matrix.milkte.ch|1078|
|8|babel1.eu|1243|
|9|willian.wang|36298|
|10|jacksonchen666.com|236505|
## 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!