matrix.org/content/blog/2021/04/2021-04-09-this-week-in-mat...

427 lines
20 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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-04-09"
path = "/blog/2021/04/09/this-week-in-matrix-2021-04-09"
[taxonomies]
author = ["Ben Parsons"]
category = ["This Week in Matrix"]
[extra]
image = "https://matrix.org/images/cactus-comments.png"
+++
## Matrix Live 🎙
{{ youtube_player(video_id="bAaAmyP5_Z4") }}
## Google Summer of Code - GSoC -- Final Call: put your seatbelts on!
From [Nico (@deepbluev7:neko.dev)](https://matrix.to/#/@deepbluev7:neko.dev), who is assisting with GSoC admin this year:
> As already mentioned a few times, this year the Matrix organization is taking part [in GSoC](https://summerofcode.withgoogle.com/) again. This is an amazing opportunity for students to take part in various Matrix-related projects and helping those projects implement awesome new features. **Submission for this closes on April 13 this year (which is Monday on my clock)!** If you want to take part in GSoC as a student, submit your final proposals now! You can find some examples here: [http://matrix-org.github.io/gsoc](http://matrix-org.github.io/gsoc). If you want to submit your own ideas, please contact a potential mentor before that. If you have questions, please check out the [#gsoc:matrix.org room](https://matrix.to/#/#gsoc:matrix.org).
>
> If you have already been writing a proposal, now is the time to put on the final polish and submit your proposal. If you are interested, now is the last opportunity this year to submit your proposal! We are excited to see, who will want to take part this year!
## Dept of Spec 📜
### Spec
[anoa](https://matrix.to/#/@andrewm:amorgan.xyz) said:
> 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:**
>
> * [MSC3087(MX-EXT0000): Standardised extensions](https://github.com/matrix-org/matrix-doc/pull/3087)
>
> **Merged MSCs:**
>
> * [MSC2312: Matrix URI scheme proposal](https://github.com/matrix-org/matrix-doc/pull/2312)
>
> **MSCs in Final Comment Period:**
>
> * [MSC2190: Allow appservice bots to use /sync](https://github.com/matrix-org/matrix-doc/pull/2190) (postpone)
> * [Pushing updates about Groups (Communities) to clients](https://github.com/matrix-org/matrix-doc/issues/1222) (close)
>
> **New MSCs:**
>
> * [MSC3105: Previewing UIA flows](https://github.com/matrix-org/matrix-doc/pull/3105)
> * [MSC3089: File tree structures](https://github.com/matrix-org/matrix-doc/pull/3089)
>
> #### Spec Core Team
>
> After a lot of work behind the scenes, **we've now officially unfrozen the spec!** 🧊 🔨
>
> This means spec PRs that change the actual content of the spec can be made again, and [made](https://github.com/matrix-org/matrix-doc/pull/2010) [they](https://github.com/matrix-org/matrix-doc/pull/2557) [certainly](https://github.com/matrix-org/matrix-doc/pull/2422) [have](https://github.com/matrix-org/matrix-doc/pull/2801) [been](https://github.com/matrix-org/matrix-doc/pull/2184)! Huge thanks to TravisR for writing all of those up (and others for reviewing!), and for the last push of removing all of the old spec toolchain from the [matrix-doc](https://github.com/matrix-org/matrix-doc) repo.
>
> With this out of the way, we move forward migrating the old spec pages over to the new site, as well as to the next release of the spec, which will feature a [new global versioning scheme](https://github.com/matrix-org/matrix-doc/pull/2844)!
![2021-04-09-hGhUh-stacked_area_chart.png](/blog/img/2021-04-09-hGhUh-stacked_area_chart.png)
## Dept of Servers 🏢
### Synapse
Synapse is a popular homeserver written in Python.
[callahad](https://matrix.to/#/@callahad:matrix.org) offered:
> Ding dong the snake is dead! 🐍☠️
>
> We released [Synapse 1.31](https://matrix.org/blog/2021/04/06/synapse-1-31-0-released) on Tuesday. There are certainly nice things in it (read the release notes), but also, two days after that... WE FINALLY [REMOVED SUPPORT FOR PYTHON 3.5](https://github.com/matrix-org/synapse/pull/9766)!
>
> As part of that, we now have a formal [deprecation policy](https://github.com/matrix-org/synapse/blob/v1.31.0/docs/deprecation_policy.md) that explicitly states our platform support strategy. Namely: **we follow upstream lifecycles**. Thus, we can say with confidence that we will drop support for Python 3.6 in December of this year. So when upgrading, please do ensure that your operating system of choice provides modern Python packages.
>
> By the way: if you're looking to [contribute to Synapse](https://github.com/matrix-org/synapse/blob/develop/CONTRIBUTING.md), now is a good time to start grepping for `3.5` or `xenial` or `stretch` and seeing what cobwebs turn up which can finally be swept away. 🕸🧹
>
> We're also experimenting with using GitHub Actions for CI, and would certainly appreciate reviews and pull requests from folks who are more knowledgeable in that area, especially around speeding up workflows and caching.
>
> We'll be back next week with more details on the specific quarterly goals the team is committing itself to, but until then, 👋!
I don't know specific change helped, but 1.31 is a noticeable performance improvement for my Synapse, so thanks team!
### Conduit
* Conduit: A Matrix homeserver written in Rust https://conduit.rs
* [Ruma](https://ruma.dev/) is a set of Rust library crates around Matrix
[timokoesters](https://matrix.to/#/@timokoesters:fachschaften.org) told us:
> Done:
>
> * Fix media thumbnail generation
>
> * Fix appservice detection
> * Implement room account data endpoints
>
> * Big state resolution refactor to make it easier to understand
> * Use correct room versions
>
> * Submit bug reports to libraries and clients:
> * https://github.com/vector-im/element-android/issues/3065
>
> * https://github.com/ruma/ruma/issues/446
> * https://github.com/ruma/ruma/issues/447
>
> Doing:
>
> * Thinking about the future of the sled database in Conduit: https://gitlab.com/famedly/conduit/-/issues/74
>
> * Investigating state resolution problems
> * Investigating why certain clients are not supported by Conduit
>
> Motivations & Challenges:
>
> * Some state resolution bugs are (still) very nasty and hard to debug
>
> * A deadlock was causing the whole program to freeze. The cause was found.
> * Our #conduit room had a state reset (it's on room version 5), so we upgraded to version 6, which was annoying
### matrix-registration
[zeratax](https://matrix.to/#/@zeratax:dmnd.sh) offered:
> Been a while since I last updated twim about [matrix-registration](https://github.com/ZerataX/matrix-registration).
>
> Since then we added the possibility to localize the project and already got translations for
>
> german, portuguese and chinese!
> https://l10n.dmnd.sh/engage/matrix-registration/
>
> there has also been work on a nix package and module over here:
>
> https://github.com/NixOS/nixpkgs/pull/107654
> and a nur package to test it right now:
>
> https://github.com/ZerataX/nur-packages/blob/master/pkgs/matrix-registration/default.nix
> https://github.com/ZerataX/nur-packages/blob/master/modules/matrix-registration.nix
>
> But here are the newest changes for the just released **v0.9.0**
>
> #### Features
>
> * now uses alembic to up- or downgrade the database scheme
>
> **Please run the following after every update** to make sure your database scheme is uptodate
>
> ```
> alembic upgrade head
>
> ```
>
> * instead of one time token you can now set arbitrary amounts of usage per token via
>
> ```
> *m, --maximum INTEGER times token can be used
>
> ```
>
> * new option in the config file to log IPs to the database
>
> these are viewable by checking the status of individual token via the cli or web api
> #### Changes
>
> There have been a lot of changes to the config file and web api,
>
> please refer to: https://github.com/ZerataX/matrix-registration/releases/tag/v0.9.0
> and make sure to check the [sample config](https://github.com/ZerataX/matrix-registration/blob/master/config.sample.yaml) for other changes you might have missed
>
> #### Get it here
>
> * pypi: https://pypi.org/project/matrix-registration/0.9.0/
>
> * docker: https://hub.docker.com/repository/docker/zeratax/matrix-registration
>
> and as always feel free to join [#matrix-registration:dmnd.sh](https://matrix.to/#/#matrix-registration:dmnd.sh) for support or w/e else!
## Homeserver Deployment 📥️
### Kubernetes
[Ananace](https://matrix.to/#/@ace:kittenface.studio) told us:
> Updated my Kubernetes [chart](https://gitlab.com/ananace/charts) - and [image](https://github.com/ananace/matrix-synapse), for those still using it - to the new Synapse 1.31.0 release.
## Dept of Bridges 🌉
### matrix-puppeteer-line
[Fair](https://matrix.to/#/@fair:miscworks.net) announced:
> [matrix-puppeteer-line](https://src.miscworks.net/fair/matrix-puppeteer-line/): A bridge for [LINE Messenger](https://line.me/) based on running LINE's Chrome extension in Puppeteer.
>
> New features:
>
> * Sending & receiving images
>
> * Sending Matrix stickers
> * Receiving LINE stickers
>
> * Receiving LINE emoji (via [MSC2545: Emotes](https://github.com/Sorunome/matrix-doc/blob/soru/emotes/proposals/2545-emotes.md
> ))
>
> TODOs:
>
> * Rework message syncing so that receiving a message doesn't require "viewing" the LINE chat in the Puppeteer-controlled browser, which will make LINE send a read receipt even though you may not actually have read the message yourself.
>
> * Try to conclude whether bridging LINE stickers & emoji breaks copyright and/or would cause any other legal issues...! And look for something more threatening than just the [Terms of Use](https://terms.line.me/line_terms?lang=en) (relevant section is 10.3). Any advice regarding this would be much appreciated 🙂
>
> Discussion: [#matrix-puppeteer-line:miscworks.net](https://matrix.to/#/#matrix-puppeteer-line:miscworks.net)
### iMessage bridge hinted
[Tulir](https://matrix.to/#/@tulir:maunium.net) offered:
> I sent some messages between two Element web instances this week.
![2021-04-09-jvbbb-image.png](/blog/img/2021-04-09-jvbbb-image.png)
> > <@jboi:jboi.nl>: is that an iMessage bridge? 👀
>
> yes, but there's no Mac involved
## Dept of Clients 📱
### 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) reported:
> After finishing push notifications last week, this week I've been getting on top of the bugs that had previously come in, before getting to more feature work. There were 3 releases with 7 bugs fixed, the last release being 0.1.45 just now.
### 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:
> For people that use our [Nightlies](https://matrix-static.neko.dev/room/!TshDrgpBNBDmfDeEGN:neko.dev/) and Windows at the same time, we fixed our nightly builds for Windows now.
>
> For people often going to the TWIM room, we fixed "TWIM" now actually finding the [#thisweekinmatrix:matrix.org](https://matrix.to/#/#thisweekinmatrix:matrix.org) room. (We also fixed a lot of other small issues on the side, that are less interesting and hope we can tie a release soonish. :3)
Rather meta, that this fix relates so specifically to TWIM.
### NeoChat
[Tobias Fella](https://matrix.to/#/@tobiasfella:kde.org) offered:
> In the last weeks, we have landed several smaller features:
>
> * Quick reply: Press Ctrl+Up to reply to the last message
>
> * Quick edit: Press Up to edit your last message
> * React with arbitrary texts using /react
>
> We also fixed a lot of smaller issues, including joining rooms from the global room list, emotes, some commands and deletion of images and added lots of visual improvements. We're still investigating a bug that makes NeoChat get stuck on startup, and some fallout from our recent redesign of the timeline.
### Element Clients
Updates provided by the teams.
**Delight**
* Were iterating on private spaces, working towards making them publicly testable first on the Web & Android, with iOS to follow.
* [MSC3083](https://github.com/matrix-org/matrix-doc/pull/3083) (Restricting room membership based on space membership) has more details on spec changes.
* If you have Spaces enabled in labs on the Web or Android come join us in the [Matrix Test Space](https://matrix.to/#/#matrix-test-space:matrix.org)
* And big thank you to everyone giving feedback in the [Spaces feedback room](https://matrix.to/#/#spaces-feedback:matrix.org), please keep it coming and as a reminder if you run a public community (on any platform) wed love to chat to you to get closer to understand your problems and goals.
**iOS**
* The olm library is now available through Swift Package Manager. Instructions can be found at [https://gitlab.matrix.org/matrix-org/olm/-/tree/master/xcode](https://gitlab.matrix.org/matrix-org/olm/-/tree/master/xcode).
* Element-iOS 1.3.0 is almost ready to be shipped. A public TestFlight will be available over the weekend. It has an entire new text composer with changes in the layout around the room timeline. It contains several fixes in the notification extension to avoid “Unable to decrypt” errors and out of memory crashes.
* We made good progress on the new design for VoIP but we preferred to polish it even more. It will be available in another version.
**Android**
* Element Android 1.1.4 has been released to the beta testers. This version includes lots of optimizations. Full changelog: [https://github.com/vector-im/element-android/releases/tag/v1.1.4](https://github.com/vector-im/element-android/releases/tag/v1.1.4). This release should be available to all users and to F-Droid users next week. The matrix SDK2 v1.1.4 has also been released today.
* We are making good progress to implement the Spaces, which will replace the communities (AKA groups). Spaces will be available in the release 1.1.5, behind a lab flag.
* Behind the hoods, we are making lots of code cleanup and we are improving the Matrix SDK API.
[elmussol](https://matrix.to/#/@elmussol:elsmussols.net) let us know that Element Android 1.1.3 is already available on F-droid. I love getting a new Element Android update!
## Dept of SDKs and Frameworks 🧰
### Polyjuice Server 🧙
[uhoreg](https://matrix.to/#/@hubert:uhoreg.ca) offered:
> There is a new library in the wizarding world: [Polyjuice Server](https://gitlab.com/uhoreg/polyjuice_server), an Elixir library to help with writing Matrix homeservers. It is still in the very early stages, but it is starting to take form. Please note that this is just a library and not a homeserver implementation, as I don't want anyone to mistake this for something that's actually useful. (And now that I've scratched this itch, I should attend to my secret personal side-project that I've been neglecting...)
In 20 years, will we look at this small comment from uhoreg and say, that's the first hint of the project that would change the world?
### maubot
[Tulir](https://matrix.to/#/@tulir:maunium.net) said:
> I finally started writing some plugin development docs for maubot. It doesn't cover everything yet, but you can find it at <https://docs.mau.fi/maubot/dev/getting-started.html>. Setup docs were also moved from the GitHub wiki to docs.mau.fi and some of those docs have been improved (e.g. it now has instructions for enabling e2ee)
### Guile-Deck: GNU Guile SDK for Matrix
[a_v_p](https://matrix.to/#/@a_v_p:matrix.org) told us:
> I released Guile-Deck 0.2.0, a GNU Guile SDK for the Matrix network: https://github.com/artyom-poptsov/guile-deck/releases/tag/v0.2.0
### libkazv (and the Kazv Project)
[tusooa](https://matrix.to/#/@tusooa:tusooa.xyz) reported:
> [libkazv](https://lily.kazv.moe/kazv/libkazv) is a sans-io C++ (gnu++17) client library
>
> built upon [lager](https://github.com/arximboldi/lager). Along with it there is
> [kazv](https://lily.kazv.moe/kazv/kazv), a kirigami/qml client, and a
>
> [forward bot](https://lily.kazv.moe/kazv/matrix-tencent-forward-bot) between matrix and
> tencent qq. Talk to us on [#kazv:tusooa.xyz](https://matrix.to/#/#kazv:tusooa.xyz) .
>
> #### Updates
>
> In the past 2 week we ("tusooa and her longcat," we hope someday we can
>
> remove this annotation :P):
>
> 1. Added Boost.Serialization support https://lily.kazv.moe/kazv/libkazv/-/merge_requests/4
## 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 [Aaron Raimist](https://github.com/aaronraimist) (Aaron), [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy) can now install and configure the [Mjolnir](https://github.com/matrix-org/mjolnir) moderation tool (bot).
>
> Additional details are available in our [Setting up Mjolnir](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-bot-mjolnir.md) documentation.
## Dept of Events and Talks 🗣️
### Chemnitzer Linux Days talk
[Benedict](https://matrix.to/#/@benedict:imbitbu.de) said:
> For german speakers: [my matrix talk from the Chemnitzer Linux Days](https://chemnitzer.linux-tage.de/2021/de/programm/beitrag/189) is now online.
## Dept of Interesting Projects 🛰️
### Cactus Comments 🌵
[Asbjørn](https://matrix.to/#/@asbjorn:olli.ng) told us:
> Cactus Comments is a federated comment system for the open web built on Matrix.
>
> Web Client v0.7.0 released! This one includes two new configuration options.
>
> * New configuration option: `loginEnabled` changes the login button to be a matrix.to link, if set to false (default is true).
>
> * New configuration option: `guestPostingEnabled` requires users to log in using their Matrix account, if set to false (default is true).
> * Added HACKING.md, a guide to getting started with hacking on the client.
>
> /ipns/latest.cactus.chat is updated to point to the latest release, so sites linking there should already be using the new version.
>
> Come play with the demo: https://cactus.chat/demo
>
> Join our Matrix room: [#cactus:cactus.chat](https://matrix.to/#/#cactus:cactus.chat)
Also, watch Matrix Live! If you've already done so, watch it again.
## Matrix in the News 📰
### Famedly-folk on LinuxLounge
[Nico (@deepbluev7:neko.dev)](https://matrix.to/#/@deepbluev7:neko.dev) told us:
> If anyone understands German and listens to podcasts, Krille Fear and I will be on the LinuxLounge on the 25th of April: https://social.tchncs.de/@theradiocc/106025736391026211
In fact there are dozens of people who understand German, and surely some subset of these listen to podcasts. With these conditions accepted, the LinuxLounge appearance will go ahead.
## 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|549|
|2|fosil.eu|579.5|
|3|maunium.net|614.5|
|4|xethos.net|713|
|5|franssen.xyz|758|
|6|privacytools.io|798|
|7|covert.tel|968|
|8|finallycoffee.eu|1303.5|
|9|eqlipsis.io|1347|
|10|dodsorf.as|1351|
### [#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.grin.hu|302|
|2|dendrite01.fiksel.info|1011|
|3|testuser-matrix.duckdns.org|2630|
## 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