matrix.org/content/blog/2021/03/2021-03-19-this-week-in-mat...

333 lines
16 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 2021-03-19"
date = "2021-03-19T19:40:33Z"
updated = "2021-03-19T19:24:14Z"
path = "/blog/2021/03/19/this-week-in-matrix-2021-03-19"
[taxonomies]
author = ["Ben Parsons"]
category = ["This Week in Matrix"]
[extra]
image = "https://matrix.org/blog/img/2021-03-19-ml.png"
+++
## Matrix Live 🎙
{{ youtube_player(video_id="tVywI3XMm-A") }}
## Dept of *Status of Matrix* 🌡️
### Conduit accepted by Prototype Fund
Conduit is a Matrix homeserver written in Rust https://conduit.rs
[timokoesters](https://matrix.to/#/@timokoesters:fachschaften.org) offered:
> Hello everyone! I'm excited to announce that Conduit has been accepted by [Prototype Fund](https://prototypefund.de/en/) and will be funded by the Federal Ministry of Education and Research over the next 6 months: https://prototypefund.de/project/conduit/
>
> The focus lies on federation support and overall improvement and stability, maybe we will even land version 1.0 at the end.
>
> I am surprised how Conduit went from a small hobby project to a very promising Matrix server in just a year. Thank you all for accompanying me on this journey, I really appreciate it.
>
> Now what did we actually do in the last two weeks?
>
> * Query signing keys through other servers
>
> * Many state resolution updates
> * Implement /get_missing_events
>
> * Implement /state_ids
> * Many bugfixes
>
> * Push notifications on mobile
>
> * Fix joining via alias with appservices
> * Enable zstd for database compression (3.3GB -> 1.6GB on old db!)
>
> * Rework state storage to be much more optimized (store a few bytes instead of long strings)
> * Send proper HOST headers in federation requests (thanks Gabriel!)
>
> Conduit is beginning to run fairly well on the state resolution branch, we will probably merge it after fixing the last few bugs.
This is really excellent news! Congratulations to Timo on this achievement!
### Linux Plumbers Conference Matrix / BBB RFQ
[David Mehren](https://matrix.to/#/@davebloggt:kif.rocks) reported:
> The Linux Foundation wants to use BigBlueButton and Matrix for the Linux Plumbers Conference in 2021 and is looking for developers to implement various improvements to BBB and to integrate Matrix as the in-meeting chat.
>
> https://www.linuxplumbersconf.org/blog/2021/index.php/2021/03/16/rfq-sw-development-linux-plumbers-conference-2021/
## Dept of Spec 📜
### Spec
[anoa](https://matrix.to/#/@andrewm:amorgan.xyz) announced:
> 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
>
> **Closed MSCs:**
>
> * [MSC3068: Compliance tiers](https://github.com/matrix-org/matrix-doc/pull/3068)
>
> **Merged MSCs:**
>
> * [MSC2858: Multiple SSO Identity Providers](https://github.com/matrix-org/matrix-doc/pull/2858)
> * [MSC2184: Allow the use of the HTML `<details>` tag](https://github.com/matrix-org/matrix-doc/pull/2184)
>
> **MSCs in Final Comment Period:**
>
> * [MSC2874: Single SSSS](https://github.com/matrix-org/matrix-doc/pull/2874) (merge)
> * [MSC2320: Versions information for identity servers](https://github.com/matrix-org/matrix-doc/pull/2320) (merge)
>
> **New MSCs:**
>
> * [MSC3069: Allow guests to use /account/whoami](https://github.com/matrix-org/matrix-doc/pull/3069)
> * [MSC3067: Prevent/remove legacy groups from being in the spec](https://github.com/matrix-org/matrix-doc/pull/3067)
>
> * [MSC3066: Retrieve as redacted](https://github.com/matrix-org/matrix-doc/pull/3066)
> * [MSC3062: Bot verification](https://github.com/matrix-org/matrix-doc/pull/3062)
>
> * [MSC3061: Sharing room keys for past messages](https://github.com/matrix-org/matrix-doc/pull/3061)
> * [MSC3060: Room labels](https://github.com/matrix-org/matrix-doc/pull/3060)
>
> #### Spec Core Team
>
> We're still working to unfreeze the spec, but in the meantime have been working on [MSC2516](https://github.com/matrix-org/matrix-doc/pull/2516) (voice messages) and [MSC1772](https://github.com/matrix-org/matrix-doc/pull/1772) (spaces) plus the merged and in FCP MSCs you see above. ⬆️
![2021-03-19-gB-lC-stacked_area_chart.png](/blog/img/2021-03-19-gB-lC-stacked_area_chart.png)
## Dept of Servers 🏢
### matrix-media-repo
[matrix-media-repo](https://github.com/turt2live/matrix-media-repo) is a highly customizable multi-domain media repository for Matrix
[TravisR](https://github.com/turt2live) reported:
> [v1.2.5](https://github.com/turt2live/matrix-media-repo/releases/tag/v1.2.5) is out now with several bug fixes and other improvements. The most notable things being:
>
> * Optional support for [Sentry](https://sentry.io/) (error reporting). This is the same error reporting structure that Synapse uses, so it should fit right in 🙂
>
> * Several oEmbed URL previews have been fixed, making them useful again. Rejoice once again with a preview of Tweets, Giphys, and other rich content.
> * Fixed a bug where after uploading media to a datastore the media repo would then download it again before returning it. This made remote media downloads inefficient (it'd download from the remote server, upload to S3, then download from S3, then return it to the user), sorry.
>
> * Sometimes a wobbly database could cause some issues with future requests. While I recommend a not-wobbly database, the media repo should be more resilient to this sort of problem now.
>
> As always, if you have bugs or encounter problems with setup then please pop by [#media-repo:t2bot.io](https://matrix.to/#/#media-repo:t2bot.io)
### Synapse
[callahad](https://matrix.to/#/@callahad:matrix.org) told us:
> As I mentioned [last week](https://matrix.org/blog/2021/03/12/this-week-in-matrix-2021-03-12#synapse), we've been focusing on nailing down some inefficiencies in federation performance. Well, [Synapse 1.30.0rc1 is out](https://github.com/matrix-org/synapse/releases/tag/v1.30.0rc1), and I'm very excited to share one result of that work:
![2021-03-19-vEb-4-synapse-1.30rc1-state_ids-cpu.png](/blog/img/2021-03-19-vEb-4-synapse-1.30rc1-state_ids-cpu.png)
> If you look closely, you'll note _an order of magnitude improvement_ in our handling of the `/_matrix/federation/v1/state_ids/{roomId}` endpoint. On matrix.org, we've seen that endpoint go from averaging a few seconds of CPU time to well under 100ms. Database usage is similarly reduced.
>
> This improvement by [@clokep](https://github.com/clokep) builds on the [chain cover index](https://github.com/matrix-org/synapse/blob/v1.26.0/docs/auth_chain_difference_algorithm.md) that [@erikjohnston](https://github.com/erikjohnston) implemented in Synapse 1.26.0 to speed up the calculation of auth chain differences during state resolution.
>
> Synapse 1.30 will be released early next week.
>
> We also shipped [Sygnal 0.9.0](https://develop.element.io/) today, which has a few minor bug fixes as well an initial prototype of Web Push support, per the Hydrogen update in [last week's TWiM](https://matrix.org/blog/2021/03/12/this-week-in-matrix-2021-03-12#hydrogen).
## Dept of Bridges 🌉
### matrix-puppeteer-line
[Fair](https://matrix.to/#/@fair:miscworks.net) offered:
> **matrix-puppeteer-line**: A bridge for [LINE messenger](https://line.me/en/) based on running LINE's Chrome extension in Puppeteer.
>
> Updates:
>
> * New name! (Previously named matrix-appservice-line)
>
> * New home: https://src.miscworks.net/fair/matrix-puppeteer-line
> * Group chat support
>
> * Syncing of own messages sent from another client (must enable `bridge.invite_own_puppet_to_pm`)
>
> TODOs:
>
> * User/chat avatars
>
> * Emoji/sticker support (barring copyright issues??)
> * LINE->Matrix read receipts
>
> * Not requiring the Puppeteer-controlled browser to be visible in order to run (Puppeteer requires it when loading extensions, but will look for a workaround)
> * Double-puppeting with login support
>
> * Bugfixes, inevitably 🙂
>
> Discussion: [#matrix-puppeteer-line:miscworks.net](https://matrix.to/#/#matrix-puppeteer-line:miscworks.net)
## Dept of Clients 📱
### Nio, Mio, wow-io!
[Nio](https://nio.chat) is a client written with SwiftUI
[helge5](https://matrix.to/#/@helge5:matrix.org) announced:
> I ported the native https://nio.chat iPhone client to macOS Big Sur, and call that "Mio". Nio and Mio share the same SwiftUI code base, with the Mio changes being merged into the Nio upstream repository. Like Nio, Mio is still in very early stages but looks quite nice already.
>
> A preliminary build can be downloaded over here: https://zeezide.de/download/Mio.app-0.2.0-2.zip, and I posted a screenshot in the Nio channel: https://matrix-client.matrix.org/_matrix/media/r0/download/matrix.org/RpPiQFJytjXboshcUnqnGwrd.
![2021-03-19-qvIJN-Screenshot2021-03-07at16.47.56.png](/blog/img/2021-03-19-qvIJN-Screenshot2021-03-07at16.47.56.png)
Some time ago we featured Nio running on an [M1 Mac via Catalyst](https://matrix.org/blog/2020/12/04/this-week-in-matrix-2020-12-04), this is being compiled natively for Mac.
### Nheko
[Nheko](https://github.com/Nheko-Reborn/nheko) is a desktop client using Qt, Boost.Asio and C++17. It supports E2EE and intends to be full featured and nice to look at
[Nico (@deepbluev7:neko.dev)](https://matrix.to/#/@deepbluev7:neko.dev) offered:
> Thanks to LorenDB, notifications now omit the reply fallback and show that that message is a reply instead. They also should not break on encrypted rooms anymore (they show that the message was encrypted for now, but they will be decrypted in the future, if that is enabled in the settings). Emotes should now also show up in them properly and if someone sends an unencrypted image, this should show up with a preview in the notification as well.
![2021-03-19-B7XCf-clipboard.png](/blog/img/2021-03-19-B7XCf-clipboard.png)
> Jedi18 ported the room switcher, which can be accessed with Ctrl+K to Qml, which fixes a lot of readability issues and should improve how the rooms get filtered.
![2021-03-19-BGKIu-clipboard.png](/blog/img/2021-03-19-BGKIu-clipboard.png)
> Jedi18 also fixed a few issues with playing video on Windows. Salahmak made sending media easier by allowing you to send the image by just pressing enter.
>
> Nheko now also stores images outside of the database, which should decrease database size in the future and make it easier to clean out that part of the cache. We also now use native menus where possible and fixed a few crypto and sync issues as well as formatting of mentions sent by Nheko. Nheko should now not randomely fail to /sync anymore, if your network connection dropped out in between. Also the flatpak should now be able to use your webcam in more cases, but this means we also use less sandboxing now. If you don't like that, you can disable access to all devices, but that sadly also includes the webcam.
### Quaternion
[kitsune](https://matrix.to/#/@kitsune:matrix.org) reported:
> Yet another [beta-approximation of Quaternion](https://github.com/quotient-im/Quaternion/releases/tag/0.0.95-beta5) at version 0.0.95 arrived, with the main change being fonts finally unified throughout the application. Translators are still very much [welcome](https://app.lokalise.com/project/730769035bbc328c31e863.62506391/) (French is almost there to be marked as "sufficiently complete", e.g.). Expect 0.0.95 release in the nearest weeks.
### Hydrogen
A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. https://github.com/vector-im/hydrogen-web/
[Bruno](https://matrix.to/#/@bwindels:matrix.org) told us:
> Released 0.1.39 with:
>
> * Fix for always retrying decryption after fetching key backups
>
> And work on progress:
>
> * Work is progressing on push notifications, along with the Sygnal webpush implementation. An initial version should land early next week.
>
> * A community member stepped forward and volunteered on adding SSO support 🎉
> * Another community member fixed the room header disappearing on iOS when showing the keyboard, this should land soon 🎉
>
> * Fixed updates sometimes taking seconds or even minutes to apply
### Element Clients
Updates from the teams:
**Delight**
* Social Login
* MSC 2858 (multiple sso providers) has been pushed to spec
* Spaces
* Web is trailblazing private spaces, while Android is catching up on support for public spaces
* Weve almost finished the first implementation of the Space Summary API in Synapse, so will start testing public space user flows next week!
**VoIP**
* Another connectivity fix on web
* Fixed jitsi sometimes getting usernames instead of display names on web
**Web**
Element Web 1.7.23 is now available, including:
* Refreshed UI for file uploads and sent messages
* Improved VoIP call connection reliability
* Added Edge to the set of supported browsers
* Added send message button to the composer
...along with many smaller fixes.
**iOS**
* The [1.2.6](https://github.com/vector-im/element-ios/releases) release in on the App Store since Monday
* Trust shields have been removed from rooms list for performance
* The crypto module has received several performance improvements
* Several memory leaks have been fixed
## Dept of SDKs and Frameworks 🧰
### Polyjuice Client 🧙
[uhoreg](https://matrix.to/#/@hubert:uhoreg.ca) said:
> Polyjuice Client 0.4.0 has been released. This release features support for more endpoints, mostly contributed by two new contributors, multi prise and Arjan Sherpenisse. This release also has some backward-incompatible changes. See the [changelog](https://gitlab.com/uhoreg/polyjuice_client/-/blob/master/CHANGELOG.md) for more information.
### libQuotient
[kitsune](https://matrix.to/#/@kitsune:matrix.org) told us:
> Aligned with the Quaternion beta, stability-focused [libQuotient 0.6.6](https://github.com/quotient-im/libQuotient/releases/tag/0.6.6) has been released - packagers already using libQuotient 0.6.x branch are strongly encouraged to update to this version.
## Dept of Ops 🛠
### matrix-docker-ansible-deploy
This [Ansible playbook](https://github.com/spantaleev/matrix-docker-ansible-deploy) is meant to easily let you run your own Matrix homeserver.
[Slavi](https://matrix.to/#/@slavi:devture.com) offered:
> Thanks to [Zir0h](https://github.com/Zir0h), [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy) can now install and configure the [Go-NEB](https://github.com/matrix-org/go-neb) bot.
>
> See our [Setting up Go-NEB](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-bot-go-neb.md) documentation to get started.
## Final Thoughts 💭
Did you get involved with FOSDEM this year? If you hung out on Matrix that weekend and had a great time, then maybe you bought a t-shirt? [Oleg](https://matrix.to/#/@oleg:fiksel.info) did, and he shared this photo!
![2021-03-19-wS0or-16161468000490.jpg](/blog/img/2021-03-19-wS0or-16161468000490.jpg)
## 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|envs.net|356|
|2|maunium.net|386|
|3|neko.dev|469.5|
|4|matrix.sp-codes.de|654|
|5|maescool.be|666.5|
|6|thomcat.rocks|669|
|7|fosil.eu|674|
|8|helsinki-systems.de|702|
|9|halogen.city|727|
|10|backhaus.nrw|898|
## That's all I know 🏁
See you next week, and be sure to stop by [#twim:matrix.org] with your updates!
[#TWIM:matrix.org]: https://matrix.to/#/#TWIM:matrix.org