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

345 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.

+++
title = "This Week in Matrix 2022-03-18"
date = "2022-03-18T18:56:05Z"
updated = "2022-03-18T18:52:55Z"
path = "/blog/2022/03/18/this-week-in-matrix-2022-03-18"
[taxonomies]
author = ["Thib"]
category = ["This Week in Matrix"]
[extra]
image = "https://matrix.org/blog/img/VndefERvOEyZjYgDyeonLwjO.png"
+++
## Matrix Live 🎙
{{ youtube_player(video_id="wX343Ps_9So") }}
This week my guest is Adam who created the minimalistic Android client your family wants… by accident. And Adam has more ideas for the future.
## Dept of Spec 📜
[TravisR](https://matrix.to/#/@travis:t2l.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://matrix.org/docs/spec/proposals.
>
>
> ## MSC Status
>
> **Merged MSCs:**
> * *No MSCs were merged this week.*
>
> **MSCs in Final Comment Period:**
> * *No MSCs are in FCP.*
>
> **New MSCs:**
> * [MSC3754: Removing profile information](https://github.com/matrix-org/matrix-spec-proposals/pull/3754)
>
> ## Spec Core Team
> In terms of Spec Core Team MSC focus for this week, we've mostly been working on our existing projects. Unfortunately this means little to report this week, but if there's something that needs out attention then please mention it in [#sct-office:matrix.org](https://matrix.to/#/#sct-office:matrix.org) 🙂
> ![](/blog/img/6b8ff6a623f36257ce9a6ff76060036f894f8d6b.png)
## Dept of P2P 👥
### Pinecone ([website](https://github.com/matrix-org/pinecone))
Peer-to-peer overlay routing for the Matrix ecosystem
[neilalexander](https://matrix.to/#/@neilalexander:matrix.org) reports
> Things have been relatively quiet on the P2P front recently as we have been working on fixing bugs in Dendrite, but we will be releasing build 94 of the P2P demos for iOS and for Android soon, which feature new fair queuing in Pinecone. This should help to reduce congestion from single nodes. It also includes all of the latest Dendrite updates.
> * Android: https://drive.google.com/drive/folders/1uK_BcHGiAYHkN6OAA7P73obAquwShRg5
> * iOS: https://testflight.apple.com/join/Tgh2MEk6
>
> The demos are still very rough around the edges — join us in [#p2p:matrix.org](https://matrix.to/#/#p2p:matrix.org) for discussion!
## Dept of Servers 🏢
### Synapse ([website](https://github.com/matrix-org/synapse/))
Synapse is a Matrix homeserver implementation developed by the matrix.org core team
[dmr](https://matrix.to/#/@dmrobertson:matrix.org) says
> Hello everyone. It's been a quieter week for the Synapse team---many of us are away this week.
>
> We released [Synapse 1.55.0rc1](https://github.com/matrix-org/synapse/releases/tag/v1.55.0rc1) yesterday, a little later than usual. A full release is still planned for the coming Tuesday (22nd March). Please note that this release [breaks compatibility with Mjolnir 1.3.1 and earlier](https://github.com/matrix-org/synapse/pull/11700). Administrators using Mjolnir should ensure it is upgraded before upgrading Synapse to 1.55.0rc1.
>
> Otherwise, the release candidate includes:
> * [New tools in the module API](https://github.com/matrix-org/synapse/issues/12028) enabling modules to prevent administrators from deleting rooms and deactivating users. Half-Shot [explains the movtivation here](https://github.com/matrix-org/synapse/issues/12026).
> * Experimental support for [using Twisted's asyncio reactor](https://github.com/matrix-org/synapse/issues/12135). If this is feasible, it might allow us to leverage tools and libraries for Python's growing [asyncio](https://docs.python.org/3/library/asyncio.html?highlight=asyncio#module-asyncio) ecosystem.
> * A performance fix for [logging in on large accounts](https://github.com/matrix-org/synapse/issues/12132).
> * A variety of other bugfixes and internal tweaks.
>
> Please feel free to try it out and let us know how you get on: either in the [#synapse:matrix.org](https://matrix.to/#/#synapse:matrix.org) or [on GitHub](https://github.com/matrix-org/synapse/issues/new/choose) if you encounter any unexplained problems. As ever, many thanks to all contributors involved.
>
> Behind the scenes we've been working on a few longer-term projects:
> * Continued support for threading ([MSC3440](https://github.com/matrix-org/matrix-spec-proposals/pull/3440)) and the mechanism which supports it, relations ([MSC2674](https://github.com/matrix-org/matrix-spec-proposals/pull/2674)).
> * [Managing Synapse's dependencies](https://github.com/matrix-org/synapse/issues/11537) using [poetry](https://github.com/matrix-org/synapse/issues/12028) to formally lock requirements across all our debian and docker releases.
> * Performance investigations: we're looking at getting better profiling information; and seeing if we can reclaim CPU cycles by cancelling processing when a requester terminates their request early.
>
> Hopefully we'll see these plans come to fruition over the coming weeks.
## Dept of Bridges 🌉
### matrix-appservice-kakaotalk ([website](https://src.miscworks.net/fair/matrix-appservice-kakaotalk/))
A Matrix-KakaoTalk puppeting bridge.
[Fair](https://matrix.to/#/@fair:miscworks.net) says
> This week brings some bugfixes to DMs, and general improvements to the way channels are synced on startup.
>
> I've also written some [setup instructions](https://src.miscworks.net/fair/matrix-appservice-kakaotalk/src/branch/master/SETUP.md) to assist anyone wanting to try this bridge out for themselves!
>
> As for bugs, I just stumbled upon a big one just now: if a KakaoTalk channel hasn't had activity for a few days, sending a message in its Matrix portal may crash. This happens because of the KakaoTalk API's apparent eagerness in forgetting about inactive channels (IIRC content that's a few weeks old is deleted from their servers, for privacy reasons), and the likely fix is for the bridge to use the right API calls to trigger those channels back into an active state before trying to interact with them.
>
> Once that's fixed, the next thing I'll get out of the way (for the sake of completeness) is the web-based login interface, which all of the other mautrix-python bridges support (and is quite nice for privacy-conscious users that would rather send their KakaoTalk passwords directly to the bridge, instead of through a Matrix homeserver).
>
> After that, I'll work on contact searching & inviting contacts to group chats or DMs.
>
> ---
> Discussion: [#matrix-appservice-kakaotalk:miscworks.net](https://matrix.to/#/#matrix-appservice-kakaotalk:miscworks.net)
> Issue page: https://src.miscworks.net/fair/matrix-appservice-kakaotalk/issues
## 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) announces
> After our release last week, of course all the bugreports came out of the woodworks. As such we fixed issues with device ids being set incorrectly after SSO, screensharing, overlapping in the reply popup and UIA flows without fallback support like https://github.com/devture/matrix-synapse-shared-secret-auth showing up as UIA stages. Key backup is also now enabled by default (if it has the correct signatures and everything), various layouting fixes and more.
>
> We'll probably make a bugfix release in the next few days.
### 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)!
[Kegan](https://matrix.to/#/@kegan:matrix.org) announces
> I have been working on integrating MSC3575: Sliding Sync into Element-Web. This is a pretty large endeavour but there has been a lot of progress on it already!
>
> There now exists a [JS-SDK PR](https://github.com/matrix-org/matrix-js-sdk/pull/2242) to add the core bits of Sliding Sync (along with E2EE/to-device extensions), and a [React-SDK branch](https://github.com/matrix-org/matrix-react-sdk/tree/kegan/sliding-sync) which adds the Labs flag, `config.json` section for the proxy URL, and sets up room subscriptions when you select a room. The net result?
>
> ![](/blog/img/ZLWTIMcqEUqPHCTKNQVrHqsb.png)
>
> This is still early days: you cannot scroll the room list yet and there's still many outstanding issues to fix before it can land on mainline, but it's at the stage where it's _almost_ ready for people to try out. Watch this space...
[Thib](https://matrix.to/#/@thib:ergaster.org) reports
> * Continuing with the removal of the skinning layer, instead recommending module replacement - please talk to us in [#element-dev:matrix.org](https://matrix.to/#/#element-dev:matrix.org) if this is a surprise.
> * Continued removal of Groups/Communities - were expecting it to land this week (for release on about April 11th).
> * Continuing development of live location sharing.
> * Weve reduced tsc errors by 70% in react-sdk unit tests!
> * In labs (you can enable labs in settings on develop.element.io or on Nightly)
>
> - We're working on a prototype for voice rooms, which are persistent voice chats similar to Discord's voice channel feature. Expect this to receive more attention and polish over the coming weeks
> - Threads are now using the stable prefix m.thread and are currently undergoing acceptance testing. Were hoping to launch it out of labs in the next few weeks.
### 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)!
[Manu](https://matrix.to/#/@Manu:matrix.org) says
> * The release on the App Store is still blocked on the review. We continue to work hard to solve this issue.
> * The threads feature received a lot of polish and bug fixes. We are not far from making them out of the LABS setting.
> * The timeline got several bug fixes.
> * We fixed memory leaks in the share extension.
> * The name and avatar customization after account creation is almost done.
[Thib](https://matrix.to/#/@thib:ergaster.org) says
> * Were currently at the last mile of testing for space creation & space management on iOS. Thanks to everyone who helped with community testing last week!
> * Were currently on track to merge and ship these changes at the end of this month.
> * Once released, Element on all platforms will have parity across the core spaces feature set!
> ![](/blog/img/YqsLvRCBucWAASCcyvhrslZV.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)!
[adam](https://matrix.to/#/@ouchadam:matrix.org) announces
> * 1.4.4 has dropped across all channels, we've had some promising early feedback that the storage/RAM usage is starting to decrease, as always thanks for the reports and keep them coming! Full release notes available in [the usual place](https://github.com/vector-im/element-android/releases/tag/v1.4.4)
>
> * Threads are levelling up and becoming driven by [MSC3440](https://github.com/matrix-org/matrix-spec-proposals/blob/gsouquet/threading-via-relations/proposals/3440-threading-via-relations.md#fetch-all-replies-to-a-thread), increasing their reliability and cross device consistency. If you're already using threads we'll automatically migrate them for you in the next release 1.4.6
>
> * Live location sharing work has started! Soon you'll be able to share and receive location updates in real time
### Cinny ([website](https://cinny.in))
Cinny is a Matrix client focused on simplicity, elegance and security
[Lozenge](https://matrix.to/#/@kfiven:matrix.org) reports
> ## v1.8.1 & v1.8.2
>
> ### Bug fixes:
>
> * Fix new messages don't appear
> * Fix pressing a key with an active highlight jumps in history
> * Fix not all emoji-only messages being detected as Jumbo-emoji
> * Fix muted room show unread indicator
> * Fix view source shows original event for an edited message
> * Fix wrong notification count and `NaN` notification
> * Fix `⌘ CMD + k` hotkey not working MacOS
> * Fix sending message not mark room as read
>
> Release: https://github.com/ajbura/cinny/releases/tag/v1.8.2
>
> Find more about Cinny at [https://cinny.in](https://cinny.in/)
> Join our channel at: [#cinny:matrix.org](https://matrix.to/#/#cinny:matrix.org)
> Github: https://github.com/ajbura/cinny
> Twitter: https://twitter.com/@cinnyapp
## Dept of Non Chat Clients 🎛️
### Thirdroom ([website](https://github.com/matrix-org/thirdroom))
A browser-based open metaverse client
[Robert Long](https://matrix.to/#/@arobertlong:matrix.org) says
> Our metaverse-on-matrix project is progressing quickly!
>
> * Robert and Nate have been working on updating the Third Room demo to use the latest bitECS and threecs work as well as moving rendering and game update loops off the main thread!
> * Bruno has been porting Native Group VoIP to Hydrogen SDK which Third Room will use for both spatial voice chat and DataChannels
> * Ajay has a working scaffold of the early UI concepts paired with Hydrogen SDK to incorporate the room list and chat views.
>
> More design work is happening as well, here's our latest from Rian
>
> ![](/blog/img/VndefERvOEyZjYgDyeonLwjO.png)
### Matrix Wrench ([website](https://gitlab.com/jaller94/matrix-wrench/))
Matrix Wrench is a web client to tweak Matrix rooms.
[ChristianP](https://matrix.to/#/@christianp:vector.modular.im) says
> ## v0.6.0 & v0.6.1
> Want to purge a space recursively? Matrix Wrench now has a button for that. It will try to fetch a list of all sub spaces and rooms and offer you to delete them via the Synapse Admin API.
>
> Also, you can now knock on rooms and the room lists allow to navigate to a room page by clicking on a room ID.
>
> Next up will likely be searchable lists for rooms and users as well as other usability and layout improvements. The goal is to have a nice-looking, stable v1.0 release for its anniversary on 13th June. I'm looking for help with design and documentation.
## Dept of SDKs and Frameworks 🧰
### 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) says
> Nothing user-facing changed last week, but this week:
>
> * [@timokoesters] fixed some bugs in the state resolution code around [knocking (room version 7)](https://github.com/ruma/ruma/pull/979) and [restricted rooms (room version 8 / 9)](https://github.com/ruma/ruma/pull/851)
> * [@zecakeh] added loads of primary extensible event types:
> * [`m.image`](https://github.com/ruma/ruma/pull/980)
> * [`m.video`](https://github.com/ruma/ruma/pull/986)
> * [`m.audio`](https://github.com/ruma/ruma/pull/991)
> * [`m.location`](https://github.com/ruma/ruma/pull/994)
> * [`m.voice`](https://github.com/ruma/ruma/pull/995)
> * [@ShadowJonathan] added support for the server-version endpoints for [the server-server API (MSC3723)](https://github.com/ruma/ruma/pull/895) and [the identity-service API (MSC2320)](https://github.com/ruma/ruma/pull/910)
> * [@zecekeh] added support for [threads](https://github.com/ruma/ruma/pull/985) and [translatable text messages](https://github.com/ruma/ruma/pull/996)
> * I ([@jplatte]) [moved the `prev_content` state event field into `unsigned`](https://github.com/ruma/ruma/pull/997) as per Matrix v1.2
> * [@zecakeh] cleaned up [the module structure for discovery-related endpoints](https://github.com/ruma/ruma/pull/981)
>
>
> [@iinuwa]: https://github.com/iinuwa
> [@DevinR528]: https://github.com/DevinR528
> [@gnieto]: https://github.com/gnieto
> [@elegaanz]: https://github.com/elegaanz
> [@poljar]: https://github.com/poljar
> [@auscompgeek]: https://github.com/auscompgeek
> [@lanker]: https://github.com/lanker
> [@V02460]: https://github.com/V02460
> [@iinuwa]: https://github.com/iinuwa
> [@DevinR528]: https://github.com/DevinR528
> [@tilosp]: https://github.com/tilosp
> [@NerdyPepper]: https://github.com/NerdyPepper
> [@jamtwister]: https://github.com/jamtwister
> [@florianjacob]: https://github.com/florianjacob
> [@jsparber]: https://github.com/jsparber
> [@unseddd]: https://github.com/unseddd
> [@PunitLodha]: https://github.com/PunitLodha
> [@timokoesters]: https://github.com/timokoesters
> [@zecakeh]: https://github.com/zecakeh
> [@Frinksy]: https://github.com/Frinksy
> [@louisdewar]: https://github.com/louisdewar
> [@abhikjain360]: https://github.com/abhikjain360
> [@johannescpk]: https://github.com/johannescpk
> [@jplatte]: https://github.com/jplatte
> [@ShadowJonathan]: https://github.com/ShadowJonathan
> [@132ikl]: https://github.com/132ikl
### matrix-rust-sdk ([website](https://github.com/matrix-org/matrix-rust-sdk))
Matrix Client-Server SDK for Rust
[Jonas Platte](https://matrix.to/#/@jplatte:flipdot.org) reports
> In the last few weeks,
>
> * [@gnunicorn] created [separate crates for the different storage backends](https://github.com/matrix-org/matrix-rust-sdk/pull/498)
> * [@zecakeh] made it easier [to initialize those storage backends](https://github.com/matrix-org/matrix-rust-sdk/pull/498)
> * I ([@jplatte]) created [a ClientBuilder to simplify client initialization](https://github.com/matrix-org/matrix-rust-sdk/pull/533)
> * [@zecakeh] moved some functionality [into a new `Encryption` type](https://github.com/matrix-org/matrix-rust-sdk/pull/534) to improve the API structure
> * I updated the SDK to [make use of Ruma's support for the `v3` endpoint paths on servers that support it](https://github.com/matrix-org/matrix-rust-sdk/pull/531)
> * I improved [the quality of the SDKs logs](https://github.com/matrix-org/matrix-rust-sdk/pull/539) as part of some profiling experiments
>
> Additionally, these things have been in progress for a while and deserve a mention as well even though they're not finished yet:
>
> * [@gnunicorn] is working on [sliding sync (MSC3575)](https://github.com/matrix-org/matrix-rust-sdk/pull/536)
> * [@poljar] is working on [integrating vodozemac, a libolm reimplementation in Rust](https://github.com/matrix-org/matrix-rust-sdk/pull/494)
>
> [@jplatte]: https://github.com/jplatte
> [@poljar]: https://github.com/poljar
> [@gnunicorn]: https://github.com/gnunicorn
> [@ShadowJonathan]: https://github.com/ShadowJonathan
> [@zecakeh]: https://github.com/zecakeh
## 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|aria-net.org|512.5|
|2|pavot.ca|784|
|3|matrix.optoutpod.com|836|
|4|alemann.dev|1532|
|5|nevarro.space|1560|
|6|matrix.cirk2.de|1729.5|
|7|gottliebtfreitag.de|2029|
|8|mtrx.fail|2116|
|9|matrix.infra.reflect-media.de|2408.5|
|10|roeckx.be|2577.5|
### [#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|nognu.de|375.5|
|2|rustybever.be|386.5|
|3|cry.is|396.5|
|4|matrix.sum7.eu|504|
|5|dendrite.matrix.org|587.5|
|6|beckmeyer.us|741|
|7|sspaeth.de|1024|
|8|conduit.cyberdi.sk|1078|
|9|dyoxide.online|1339.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!