matrix.org/content/blog/2023/02/2023-02-24-this-week-in-mat...

431 lines
22 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-02-24"
path = "/blog/2023/02/24/this-week-in-matrix-2023-02-24"
[taxonomies]
author = ["Thib"]
category = ["This Week in Matrix"]
+++
## Matrix Live
{{ youtube_player(video_id="25wkV2ZCSsM") }}
Transcription (Community made): https://en.miki.community/wiki/Matrix_Tutorial_7
## Dept of Spec 📜
[TravisR](https://matrix.to/#/@travis:t2l.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
>
> **Merged MSCs:**
> * [MSC3925: m.replace aggregation with full event](https://github.com/matrix-org/matrix-spec-proposals/pull/3925)
>
> **Closed MSCs:**
> * [MSC2000: Server-side password policies](https://github.com/matrix-org/matrix-spec-proposals/pull/2000)
>
> **MSCs in Final Comment Period:**
> * *No MSCs are in FCP.*
>
> **New MSCs:**
> * [MSC3970: Scope transaction IDs to devices](https://github.com/matrix-org/matrix-spec-proposals/pull/3970)
> * [MSC3969: Size limits](https://github.com/matrix-org/matrix-spec-proposals/pull/3969)
> * [MSC3968: Poorer features](https://github.com/matrix-org/matrix-spec-proposals/pull/3968)
>
> ## Spec Core Team
> In terms of Spec Core Team MSC focus for this week, we've been aiming to get the requirements for [MSC3952: Intentional Mentions](https://github.com/matrix-org/matrix-spec-proposals/pull/3952) landed as well as discussing MSC3952 itself, in addition to planning out what the next few spec releases are expected to look like.
>
> Watch this space for progress on the Matrix 2.0 MSCs and other critical path items :)
>
> ## Curated MSC of the week
>
> This week's ~~random~~ chosen MSC is [MSC3575: Sliding Sync](https://github.com/matrix-org/matrix-spec-proposals/pull/3575)! It's one of the largest (or is the largest?) MSCs we've ever had, and dramatically changes how clients actually get updates from the server. It's worth the read if you're a client developer, though the team working on it is ironing out some bugs. Let us know what you think on the MSC :)
>
> ## The Chart
>
> It seemingly was okay with being generated this week again, so here it is:
>
> ![](/blog/img/989eabd54cc356d4a7c6796bd28c713339dd6590.png)
<!-- 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
> Howdy, welcome to another week in Synapse-land. We've released v1.78.0rc1
> with some cool bugfixes and features. Some notable additions in this version are:
>
> * Fixed a long-standing bug where the room aliases returned could be corrupted.
> * Fixed a bug introduced in Synapse 1.76.0 where partially-joined rooms could not be deleted using the [purge room API](https://matrix-org.github.io/synapse/latest/admin_api/rooms.html#delete-room-api).
> * Fixed a long-standing bug where federated joins would fail if the first server in the list of servers to try is not in the room.
> * Implement the experimental `exact_event_match` push rule condition from [MSC3758](https://github.com/matrix-org/matrix-spec-proposals/pull/3758).
> * Added account data to the command line [user data export tool](https://matrix-org.github.io/synapse/v1.78/usage/administration/admin_faq.html#how-can-i-export-user-data)
>
> and much more! Take a closer look [here](https://github.com/matrix-org/synapse/releases) in the release notes and have a happy Friday.
### Construct ([website](https://github.com/matrix-construct/construct))
A performance-oriented homeserver with minimal dependencies.
[Jason Volk](https://matrix.to/#/@jevolk:matrix.org) reports
> There's been progress in several areas for Construct 0.9 this week, cut with 71 new commits. First I'd like to give special thanks for @bgiovanni for continuing to drive the progress this week; they have on several occasions been able to navigate the codebase and the specification to provide concise reports so I can fix anything in mere minutes. I hope we can keep this up.
>
> Construct can now be configured to purge a room from the database after the last local user leaves. This week I also took the plunge on implementing a controversial clause in the specification which requires a server to broadcast a join event on behalf of another server. This is problematic because it's technically an amplification attack, so I've done my best to narrow the conditions for when to actually perform this: only if the counter-party is not already joined, and only if Construct has an alias set for the room being joined.
>
> In other news, I [fixed a bug](https://github.com/chriskohlhoff/asio/pull/1215) in `boost::asio` but since that won't land for a while and Construct's `io_uring(7)` might be susceptible on Arch and Gentoo [I hacked a workaround](https://github.com/matrix-construct/construct/commit/884c2e68b71c92d223d312f60f35b9be81960a8c) just for us, especially since the old `epoll(7)` + `aio(7)` makes my desktop much less responsive (I can't believe I dealt with that for years!).
>
> Next week Yan Minari might have a deeper look at Sytest and Complement integration and maybe mdad, while I plan on implementing local room policies and user management to make Construct safe for public registration.
>
> If you're looking for an alternative to synapse please check us out at [#construct:zemos.net](https://matrix.to/#/#construct:zemos.net)
### Conduit ([website](https://conduit.rs))
Conduit is a simple, fast and reliable chat server powered by Matrix
[Timo on Conduit ⚡️](https://matrix.to/#/@timo:conduit.rs) reports
> Hey all, in the past weeks I have been working on message backfilling over
> federation (!), history visibility correctness and a bunch of small bug fixes.
>
> Prepare for a new Conduit release in the near future!
## Dept of Clients 📱
### Nheko ([website](https://nheko-reborn.github.io))
Desktop client for Matrix using Qt and C++17.
[Nico](https://matrix.to/#/@deepbluev7:neko.dev) reports
> Some of you might have already seen it, but for the rest I will just spoil the surprise now: We released 0.11.2 (and 0.11.3, don't ask...) this week! Now you can easily hide spoilers by just enclosing the message with `||`, search for users in the user directory and much more. I have included the changelog below so you don't need to look for it!
>
> ### Highlights
>
> * Improved Markdown input 🗒️
> - You can now enter strike-through and spoilers using `~~` and `||`
> respectively.
> - Single line-breaks now also create a line-break in the formatted message.
> - Code tags now preserve whitespace.
> * User search in the invite dialog 🧑‍🤝‍🧑 (Malte E)
> - Can search either locally or consult the user directory on your server.
>
> ### Features
>
> * Allow disabling animations before login.
> * Set the window role to "imageoverlay" on X11. (Thulinma)
>
> ### Improvements
>
> * The Nheko binary should now be slightly smaller.
> * You can now build Nheko against a system install of the blurhash and
> cpp-httplib libraries. (vitaly)
> * You can now enable scrollbars for the room and community lists in the
> settings. (balsof)
> * Add a generic video icon when there is no thumbnail. (LorenDB)
> * Pause video when switching rooms. (LorenDB)
> * Add a fancy delegate when encryption is enabled. (LorenDB)
> * Standardise command format messages. (phyto)
> * Automatically fetch keys for undecrypted messages after verification.
> * Remove all notifications on exit on Linux. (ShootingStarDragons)
> * Document markdown features and /cmark command in the man page. (tastytea)
> * Speedup the user completer.
> * Allow closing menus on Wayland by clicking the window. (ShootingStarDragons)
> * Merge Debian/Ubuntu Dependencies in the README. (enigma9o7)
> * Update zsh completions. (tastytea)
> * Skip empty requests for cross-signing keys when user only has one device.
> (Jason)
> * Hide image overlay when saving a file. (ShootingStarDragons)
> * Make it more obvious that the add reaction button is not an emoji.
> * Build only the gstreamer qml plugin in flatpak.
> * Update Ubuntu dependency list for building from source. (tastytea)
>
> ### Translations
>
> * Estonian (Priit)
> * Ukrainian (NullPointerException)
> * Indonesian (Linerly)
> * Chinese (Poesty Li)
> * Esperanto (Tirifto)
> * French (MayeulC, CB, Glandos, Rick)
> * Dutch (Thulinma)
> * Italian (DynamoFox, Elia Tomasi, Joseph Curto, Quanterxotur)
> * Russian (Evgeny, SOT-TECH)
> * Finnish (Lurkki)
>
> ### Bugfixes
>
> * You can now forward stickers again.
> * Edits shouldn't "jump" out of threads anymore.
> * Focus text input when quick switcher is closed. (LorenDB)
> * Fix rare freeze with an empty list in a completer.
> * Don't fail the plugins check on GStreamer 1.22 during a video call.
> * Allow nested ()/[] brackets in URLs. (mauke)
> * Make br tags work properly again.
> * Don't double free call devices. (Jason)
> * Work around multiple destructor calls on Clang. (Jason)
> * Html in sidebar.
>
> You can find most of the downloads either in your favourite distributions repository (even including Arch now!), flathub or on our releases page: https://github.com/Nheko-Reborn/nheko/releases/tag/v0.11.3
>
> Thank you, everyone who contributed!
### 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) says
> Hello all! Fractal 4.4.2-beta2 is available on Flathub Beta.
>
> You read correctly, it's not Fractal 5 yet. This is a maintenance release that fixes the compilation of Fractal 4.4 with recent libraries and allows to build the Flatpak with the latest GNOME runtime. That means no more warning that the GNOME 41 runtime is outdated!
>
> There are no new features, but since we updated a lot of Rust dependencies we preferred to release a beta version before using it to update our stable release to the latest runtime. So please test it and if no major regression is reported, we will release it as stable in two weeks.
>
> To get it, run the following commands:
>
> ```sh
> flatpak remote-add --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo
> flatpak install flathub-beta org.gnome.Fractal
> flatpak run --branch=beta org.gnome.Fractal
> ```
>
> Note that if you always want to use this beta version instead of the stable one, and run it from the icon in your launcher, you will need to change its desktop file to use the command in the last line.
>
> See you soon with some news regarding Fractal 5 hopefully!
### Ement.el ([website](https://github.com/alphapapa/ement.el))
Matrix client for Emacs
[alphapapa](https://matrix.to/#/@alphapapa:matrix.org) reports
> Changes since the last release include:
>
> *Additions*
> - Command `ement-view-space` to view a space's rooms in a directory buffer.
>
> *Changes*
> - Improve -ement-describe-room- command (formatting, bindings).
>
> *Fixes*
> - Retry sync for HTTP 502 "Bad Gateway" errors.
> - Formatting of unban events.
> - Update password authentication according to newer Matrix spec. (Fixes compatibility with Conduit servers.)
> - Image scaling issues.
>
> Feel free to join us in `#ement.el:matrix.org`!
### 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) reports
> * This week we got closer to getting our cloud packaging working, a step towards drastically reducing the time we spend on releases and allowing us to do more.
> * We also continued to work on stuck notification issues with one bug fix and another close to being resolved, too.
### 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
> This week we were very busy squashing bugs in Element X and were happy to announce that we are ready to make it available to the general public as a TestFlight app available for iOS, iPadOS and macOS (on Apple Silicon) soon (pending Apple's review). This is a pre-alpha version of the app which features the new faster sync and basic functionality. There are lots more features coming over the next few weeks! We will share the public link in our new Element X iOS public room over at https://matrix.to/#/#element-x-ios:matrix.org
>
> ![](/blog/img/OWwheRnOEsspBIIAubrykYph.png)
>
> ![](/blog/img/xMgrOxstCFfdrMNtNaBZYznT.png)
### 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)!
[Jorge Martín](https://matrix.to/#/@jorgem:element.io) says
> This week our efforts have been split between Element X and Element Android:
>
> * On Element X, we're focused on laying the foundations for the app, improving our tools and processes for distributing the updated Rust SDK as an Android module and refining the initial screens of the app, matching the new designs and UX flows.
> * On Element Android, we've released a new version 1.5.26 with more fixes and improvements for the Rich Text Editor, Polls and Location Sharing features, to name a few of them.
## Dept of Non Chat Clients 🎛️
### matrix-migrate
[ben](https://matrix.to/#/@ben:acter.global) says
> Happy to announce a neat little CLI tool (built with rust, of course) to migrate your matrix rooms from one account to another: [matrix-migrate](https://github.com/acterglobal/matrix-migrate) is inspired by the [the EMS migrator](https://ems.element.io/tools/matrix-migration), but
>
> 1. is a nice little CLI tool, based on `matrix-rust-sdk`
> 2. allows for restarts (refreshes at the beginning)
> 3. it runs the operations async in parallel and is thus quite a bit faster
### Matrix Wrench ([website](https://gitlab.com/jaller94/matrix-wrench/))
Matrix Wrench is a web client to tweak Matrix rooms.
[Christian Paul (jaller94)](https://matrix.to/#/@jaller94:matrix.org) reports
> ## Matrix Wrench 0.11.0
>
> I've continued to develop Matrix Wrench, a webapp for techy Matrix admins to manage rooms and room state. It can be hosted on any static web space, supports multiple logins and has just one direct dependency (htm/preact).
>
> Lots of great new features got released in the last two weeks. Here are the highlights:
> * Added: Tables of joined rooms and direct contacts
> * Added: New input for identities: Masquerade As Matrix ID (for AppService tokens)
> * Fixed: Knocking button didn't work ("Error: Content not JSON.")
>
> Check out the [changelog of Matrix Wrench](https://gitlab.com/jaller94/matrix-wrench/-/blob/main/CHANGELOG.md).
## Dept of Widgets 🧩
### matrix-meetings
[Oliver Sand](https://matrix.to/#/@oliver.sand:matrix.org) reports
> After we had some great time at [FOSDEM](https://matrix.org/blog/category/this-week-in-matrix#fosdem-2023) and where we were able to test our [Barcamp widget](https://github.com/nordeck/matrix-barcamp) with a broader group, we are thrilled to announce that we finally made the next widget public:
>
> Entering the [_matrix-meetings-widget_](https://github.com/nordeck/matrix-meetings)!
> The widget allows to plan meetings, invite other users, configure meetings rooms, view your calendar, and perform video conferences.
> All data is stored in Matrix, no external service required. As the Widget API is a bit limited for this use-cases, it's a combination of a widget and a bot.
>
> As a small teaser: We are in the progress of building a whiteboard widget that is fully based on Matrix without an external storage.
> If you have any questions, reach out to us at [#nordeck:matrix.org](https://matrix.to/#/#nordeck:matrix.org).
> ![](/blog/img/DkikZsXPUKjJqJcArBszOaHw.png)
## 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
> A [new release](https://gitlab.com/trixnity/trixnity/-/releases/v3.4.0) of Trixnity is out. Among other things, there are some performance improvements regarding reading/saving files and reply fallback support has been added.
### 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
> * Yet again, lots of work is happening to increase the robustness of sliding sync and the timeline API
> * [Support for audio messages in matrix-sdk-ffi](https://github.com/matrix-org/matrix-rust-sdk/pull/1539) was added by an external contributor
> * [Read receipts](https://github.com/matrix-org/matrix-rust-sdk/pull/1530) are close to landing in the timeline API (contributed by Kévin Commaille, one of the main Fractal developers)
> * Some [convenience functionality around powerlevels](https://github.com/matrix-org/matrix-rust-sdk/pull/1568) was added by our former colleague Ben
## Dept of Bots 🤖
### mnotify
[stefan](https://matrix.to/#/@rumpelsepp:hackbrettl.de) announces
> Since there are people out there who actually use my tool for writing bots, I revived [mnotify](https://github.com/rumpelsepp/mnotify/) and started rewriting it in Rust using the `matrix-rust-sdk`. As a consequence, E2EE now works out of the box! Thanks to vadozemac builds without external C libraries are possible! If you are familiar with Rust and the matrix-rust-sdk, help is appreciated! 🙂
### rust pingbot
[cel](https://matrix.to/#/@cel:decentsocial.net) reports
> A new pingbot (echobot) has been implemented as an application service.
> There is an instance of it operating in [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) currently; and there is some discussion of it there.
> Source: https://codeberg.org/cel2/pingbot-appservice-rs https://git.scuttlebot.io/%2531GZTczroR1ldeWb0BbZH10MCWh9dd5HQM9qiN734YY%3D.sha256/
### flip-matrix-bot ([website](https://gitlab.com/FriendlyLinuxPlayers/flip-matrix-bot))
A Matrix bot for the [Friendly Linux Players](https://friendlylinuxplayers.org/) community.
[HER0](https://matrix.to/#/@HER0:matrix.org) says
> We now have a nice web page for each event! These provide a convenient way to share event details with others, and are already used in the iCalendar feed. If/when updates to Mastodon and Steam are live, they will also use these pages. For an example web page, this corresponds to the event coming up this weekend:
>
> https://friendlylinuxplayers.org/events/70392fec3bc0393e
>
> In addition, there was some refactoring merged, thanks to a community member.
## Dept of Events and Talks 🗣️
### Matrix Salon Podcast (German)
[Christian Paul (jaller94)](https://matrix.to/#/@jaller94:matrix.org) reports
> Meet Nico who many might know as the maintainer of the nheko client and a passionate critic. We talked about how he hopes to improve Matrix by voicing concerns on various change proposals and how the similarity of the names Nico and nheko is just a coincidence.
>
> Episode link: https://anchor.fm/matrix-podcast0/episodes/Nico---FOSDEM-2023-e1vf7g1
> Mastodon post: https://mastodontech.de/@jaller94/109920366857895607
### Matrix User Meetup Berlin
[saces](https://matrix.to/#/@saces:c-base.org) says
> Next Matrix user meetup 1.3.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.
>
> 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 Guides 🧭
[Andreas](https://matrix.to/#/@drakfrid:rimfaxe.net) says
> I wrote two blog posts ([one](https://rimfaxe.net/2023/02/23/en-guide-till-decentralisering/), [two](https://rimfaxe.net/2023/02/24/fler-fordelar-med-decentraliserade-natverk/)) about decentralization and its advantages over centralized networks (with some Matrix examples). It's in Swedish, but I hope some find it useful.
## Room of the Week 📆
[du](https://matrix.to/#/@du:uxn.one) announces
> ### Tech News in Matrix
>
> Would you like to get your tech news inside of your Matrix client of choice? I've set up a simple room that pulls articles from dozens of quality RSS feeds (including This Week In Matrix) and posts them in the room.
> You can join the read-only room at: https://matrix.to/#/#tech:uxn.one
## 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|nognu.de|302.5|
|2|neko.dev|303|
|3|maescool.be|317.5|
|4|technodisaster.com|339|
|5|willy.club|397|
|6|kwatra.me|456|
|7|hsn.dev|528.5|
|8|pavot.ca|575|
|9|trygve.me|588|
|10|rom4nik.pl|649|
### [#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|dendrite.s3cr3t.me|230|
|2|dendrite.matrix.org|244|
|3|maximiliangaedig.com|272|
|4|matrix.org|291|
|5|celehner.com|317|
|6|rustybever.be|388.5|
|7|evulid.cc|533|
|8|zemos.net|902.5|
|9|conduit.test.zemos.net:8447|1055.5|
## 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!