matrix.org/content/blog/2020/08/2020-08-07-this-week-in-mat...

382 lines
18 KiB
Markdown

+++
title = "This Week in Matrix 2020-08-07"
path = "/blog/2020/08/07/this-week-in-matrix-2020-08-07"
[taxonomies]
author = ["Ben Parsons"]
category = ["This Week in Matrix"]
[extra]
image = "https://matrix.org/blog/img/2020-08-07-ml.png"
+++
## Matrix Live 🎙
{{ youtube_player(video_id="cIOKD9xM3F0") }}
## Dept of Spec 📜
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:**
* [MSC2716: Incrementally importing history into existing rooms](https://github.com/matrix-org/matrix-doc/pull/2716)
![](/blog/img/2020-08-07-stacked_area_chart.png)
## Dept of GSoC 🎓️
### go-neb
[nikofil](https://matrix.to/#/@nikofil:matrix.org) reported:
> * Handle SAS verification by adding an endpoint where the decimal SAS code generated by another device can be sent. If this code matches with go-neb's generated code, the verification succeeds and the device is marked as trusted.
>
> * Add a cryptotest service which can be used for other clients to test their functionalities related to e2ee. This currently includes a challenge / response, key forwarding functions (key request / key forward) and SAS verification. SSSS and cross-signing are planned for the future. (PR is under review)
## Dept of P2P 👥
### iOS P2P Demo
Dendrite is a next-generation homeserver written in Go
[Neil Alexander](https://matrix.to/#/@neilalexander:matrix.org) said:
> The Element P2P demo on iOS has seen a number of updates in the last week - now at build 31 - which contains a number of fixes:
>
> * QUIC session setup is now far more reliable
>
> * QUIC sessions are now reset when the node's network coordinates change
> * The federation sender now wakes up properly on incoming QUIC sessions
>
> * Network coordinates are now cached for remote federated nodes, reducing the number of DHT searches and speeding up resuming federation
> * HTTP pools are disabled, which reduces head-of-line blocking problems on stalled sessions
>
> * A number of timeouts have been lowered
> * Dendrite has been updated to the latest version
>
> If you have an iPhone or iPad and want to play with the demo, [grab the public TestFlight](https://testflight.apple.com/join/Tgh2MEk6)!
## Dept of Servers 🏢
### matrix-media-repo v1.2.0
[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) told us:
> [v1.2.0](https://github.com/turt2live/matrix-media-repo/releases/tag/v1.2.0) is out now, with a bunch of bug fixes and some added features:
>
> * Thumbnail support for apng and webp images (thanks Sorunome!)
>
> * Experimental (but pretty stable) support for Redis as a cache - instructions [here](https://github.com/turt2live/matrix-media-repo/blob/v1.2.0/docs/redis.md)
> * Optional oEmbed support for things like previewing tweets - turn it on [here](https://github.com/turt2live/matrix-media-repo/blob/v1.2.0/config.sample.yaml#L343-L346)
>
> * Dynamic thumbnail support
> * Per-user quotas
>
> v1.2.0 is also much faster at file uploads, however some areas of matrix-media-repo can still be improved - general performance work is planned for the next release.
>
> [Learn more about matrix-media-repo](https://github.com/turt2live/matrix-media-repo/tree/v1.2.0#matrix-media-repo).
### Dendrite / gomatrixserverlib
Dendrite is a next-generation homeserver written in Go
[Neil Alexander](https://matrix.to/#/@neilalexander:matrix.org) announced:
> We are happy to announce the [beta milestone](https://github.com/matrix-org/dendrite/milestone/8) for our first versioned release of Dendrite, which we anticipate to land in the next few weeks. Once these issues are cleared, we'll have made the big breaking changes that we want to make and will have a migration mechanism in place for database schema upgrades.
>
> This will make life significantly easier for anyone who wants to start experimenting with and running their own Dendrite homeservers without unexpected breakages. More updates to follow soon - join us in [#dendrite:matrix.org](https://matrix.to/#/#dendrite:matrix.org) for the latest!
>
> This week, Dendrite's end-to-end encryption support has also been mostly rounded off with the exception of a few minor bugs and edge-cases.
>
> Changes this week include:
>
> * TLS certificate verification is now enabled by default
>
> * A new `federation_disable_tls_validation` config option has been added to override the above
> * Added support for processing inbound device lists from federation
>
> * Local device list changes are now sent outbound over federation
> * One-time key counts are now sent in `/sync`
>
> * Direct server signing key fetches are now limited to 15 seconds
> * State events that fail signature checks on federated room joins are now properly ignored
>
> * A number of SQLite database lock bugs have been fixed using `TransactionWriter`
> * A bug when finding joined hosts in the federation sender in SQLite mode has been fixed
>
> * Logging levels have been adjusted in a number of areas
>
> Spec compliance:
>
> * Client-Server APIs: 51%, same as last week
>
> * Server-Server APIs: 54%, up from 53% last week
Asked whether this progress means that matrix.org would be running on Dendrite next year, Neil said he was *certain* that it would *definitely* be ready:
> Anything is possible
### Conduit
Conduit is a Matrix homeserver written in Rust <https://conduit.rs>
[timo](https://matrix.to/#/@timo:koesters.xyz) reported:
> * Improve long polling when user is invited (thanks @gnieto)
>
> * Documentation and code cleanup
> * Getting initial server_server code back into shape
>
> Thanks to everyone who supports me on [Liberapay](https://liberapay.com/timokoesters) or Bitcoin!
Oh and btw look at Matrix Live this week!
### Synapse
[Patrick](https://matrix.to/#/@clokep:matrix.org) offered:
> This week in Synapse land we continued with our performance push making further progress on the async/await-athon. We will move into the storage layer this coming week which will leave the caching layer and a few other bits outstanding. Separate work continued to get the event persister into a shardable state. The first step being to replace the event stream token with its own type and then threading that through the code base.
>
> We have also continued to improve on our push capabilities and released a new version of Sygnal ([0.8.2](https://github.com/matrix-org/sygnal/releases/tag/v0.8.2)) with support for pushing to iOS devices via Firebase.
>
> We are also very close to getting a workable version of the new push rules. The idea is to test it out in the wild before getting it enshrined in the spec.
>
> Next week will see a continued focus on sharding and async/awaiting, more notifications work, logging improvements, and a host of bug fixes!
## Dept of Bridges 🌉
### maubot rss plugin
[Tulir](https://matrix.to/#/@tulir:maunium.net) reported:
> I released [v0.2.0](https://github.com/maubot/rss/releases/tag/v0.2.0) of the maubot RSS plugin. The most recent addition is support for JSON feeds, ~~stolen from~~ *inspired by* FantasyCookie17's [jsonfeed-bot](https://gitlab.com/FantasyCookie17/jsonfeed-bot/).
>
> Other changes since v0.1.0:
>
> * Per-feed toggle to send posts as `m.text` instead of `m.notice`
> * Automatically moving subscriptions across room upgrades
> * Some fixes for handling weird feeds
>
> [maubot/rss](https://github.com/maubot/rss) is a maubot plugin that posts feed updates to Matrix rooms. It supports RSS/Atom/JSON feeds, customizing message templates per-feed/room, and more.
### mautrix bridges
[Tulir](https://matrix.to/#/@tulir:maunium.net) reported:
> All my bridges now have options for automatic e2ee key sharing in portal rooms. Currently they don't have verification support (other than manually marking as verified in the database), so enabling key sharing isn't entirely secure yet. I'll probably invent some sort of web verification interface after nikofil adds cross-signing to mautrix-go.
>
> This also means mautrix-python now supports sending and responding to key requests. I'll port the interactive verification and future cross-signing code from mautrix-go to mautrix-python at some point too.
## Dept of Clients 📱
### Fractal
[Alexandre Franke](https://matrix.to/#/@afranke:matrix.org) offered:
> 4.4.0 is out as promised last week! Get it off [Flathub](https://www.flathub.org/apps/details/org.gnome.Fractal) now.
>
> After we announced our intention to release, we discovered a regression that prevented joining new rooms because there was a mixup between room aliases and room id during a switch from internal structures to ruma-identifiers. Luckily we managed to fix it in time and make the release as intended.
>
> #### Full changelog since 4.2.2
>
> #### New features
>
> * Videos now have a preview directly in history
>
> * New videos player: click on a preview to open it
> * Improved audio file support, with a nicer presentation and seeking
>
> * Redacted messages are removed from history
> * Edited messages are replaced with their new content and show a small icon
>
> * Translations have been updated
> * Spellcheck language is saved per room
>
> * New swipe-back gesture to go back from room to room list in narrow view
> * New swipe left and right gesture to navigate through media in media view
>
> * SOCKS proxy are now also supported
>
> #### Bugfixes
>
> * Thumbnail for pasted images have been fixed
>
> * File type detection for uploads is more reliable
> * Typing notifications are now only sent when text is actually typed in the message input
>
> #### Under the hood
>
> * Code refactor is still going
>
> * Some improvements to logging, including access token removal for privacy
### Element Android
[valere](https://matrix.to/#/@valere35:matrix.org) told us:
> Sorry we missed last week TWIM!
>
> * Element Android 1.0.4 🚀 has been released to the store, it contains several bug fixes, and is adding back some moderators functionality (see list of banned users for a room + actions)
>
> The team has been mainly working on stabilisation + refactoring of the current code base.
>
> We are also trying to give more visibility on what is coming next:
>
> * Pin code protection 🔓 (merged on develop)
>
> * Improvement of big media upload
> * Cancelling send, retries, better upload progress...
>
> * Call fixes and improvement
> * Improve fdroid polling for notification
>
> The team is partially off, expect some delays in handling of issues and PR reviews
### SchildiChat Android
[SpiritCroc](https://matrix.to/#/@spiritcroc:matrix.org) reported:
> [SchildiChat](https://github.com/SpiritCroc/SchildiChat-android) is a new fork of Element for Android (previously RiotX), which features some UI changes, to make it more comfortable to use for people who are used to other common instant messengers.
>
> The most important changes are the following:
>
> * The overview screen lists all chats in one list instead of the tabbed layout in Element
>
> * Message bubbles (optional)
> * Theme choice based on the system-wide dark/light theme on recent Android versions
>
> It is now available on [Google Play](https://play.google.com/store/apps/details?id=de.spiritcroc.riotx), it might appear on F-Droid too in the future.
[#schildichat-android:matrix.org](https://matrix.to/#/#schildichat-android:matrix.org) is the place to find out more.
### New AppImage for the Element Desktop Matrix Client
[srevinsaju](https://matrix.to/#/@srevinsaju:matrix.org) told us:
> As per [this issue comment](https://github.com/vector-im/element-web/issues/4766#issuecomment-668170110), I was asked to inform this channel of the new AppImage for the Element Desktop Matrix Client. 🎉. Interested users may get them on [appimage.github.io](https://appimage.github.io/element) or on my [releases page](https://github.com/srevinsaju/element-appimage/releases), offering Continuous builds (refreshed every day) for stable and beta builds 😃
### IndieChat announced
[indiechat](https://matrix.to/#/@indiechat:matrix.org) announced:
> Hello, World! **[IndieChat]**, a new Android matrix client is in Play Store: <https://play.google.com/store/apps/details?id=chat.indie.cam>
This is forked from FluffyChat:
> I have changed the archive feature. Added a splash screen. Further simplified settings. Login times work faster compared to FC. I am connecting it to my Jitsi instance. which operates p2p and is completely analytics free. Message notifications are analytics free. It will eventually be an extension to a videocall app developed by myself. It adds variety to the ecosystem. It strictly follows license rules, credits the developers and links to their wonderful work. And it is a great thing to do in my spare time ☺️
### Element-iOS
[Manu](https://matrix.to/#/@Manu:matrix.org) said:
> This week, we started a new sprint to finalise remaining rebranding and iOS13 SDK issues. Note that have a plan to make CallKit and PushKit back!
>
> In parallel, we have finished to setup the CI for the 3 iOS projects.
## Dept of Encryption 🔐
### Device dehydration
[uhoreg](https://matrix.to/#/@hubert:uhoreg.ca) told us:
> I missed out on demo day last week because my demo wasn't ready yet. But I recorded a video, so here is what you would have seen if I had managed to finish on time: <https://scitech.video/videos/watch/4aad91c3-30bb-479f-8437-a517354594db>
## Dept of SDKs and Frameworks 🧰
### matrixbz
[patrick](https://matrix.to/#/@patrick:tincan.community) announced:
> #### simple matrix bots with [matrix-nio](https://github.com/poljar/matrix-nio)
>
> Hey all! I built yet another bot library. matrixbz was built with the intention of making it easy to draft matrix bots. Check out the [github](https://github.com/decentralabs/matrixbz) - I've added some examples where you can build a bot in ~10 lines of python code. matrixbz features:
>
> * **Auth** - you can specify user(s) who are authorized to call commands. bot only accepts invites from those users.
>
> * **Cache** - you can cache results for particular command invocations.
>
> Check out the [package](https://pypi.org/project/matrixbz/).
### Ruma
[iinuwa](https://matrix.to/#/@iinuwa:matrix.org) reported:
> We have released version 0.0.1 of the `ruma` crate! Thanks to all of our contributors!
>
> Besides that and continuing to refine `ruma-events`, here are some other highlights over the past couple weeks:
>
> * Implemented a few more endpoints implemented on `ruma-federation-api`
>
> * Added helper macros for creating identifier types
## Dept of Bots 🤖
### Hemppa
[Cos](https://matrix.to/#/@cos:hacklab.fi) told us:
> Hemppa the bot is a general use bot that has lot of modules for various uses and super easy API to create more. Hemppa received support for Mastodon. Now you can login to your Mastodon account and send toots via Matrix. Next major feature would be to subscribe to hashtags and users and get notifications to Matrix rooms. <https://github.com/vranki/hemppa#mastodon>
### HOPEless, the HOPE conference bot
[valka](https://matrix.to/#/@valka:fairydust.space) said:
> The [Hackers on Planet Earth](https://hope.net/) conference went almost entirely self-hosted this year due to not being able to hold an in-person event, and used Matrix to go virtual! [hopeless](https://github.com/gracchus163/hopeless) was the robot-heart of the conference, providing community+room ACLs for attendees. The bot also has a bunch of other features including:
>
> * configured admins sending notices to rooms
> * ability to manually and programmatically schedule announcements for scheduled events happening, like workshops or talks
>
> * the ability for users to re-join rooms and generate invites for themselves as necessary
> * admin commands for inviting attendees and presenters without tickets
>
> * an attempt to be friendly and solve people's common problems without a real person having to assist (surprisingly effective!)
>
> Many thanks to the [nio-template](https://github.com/anoadragon453/nio-template) for existing, otherwise this wouldn't have been possible!
[anoa](https://matrix.to/#/@andrewm:amorgan.xyz) (nio-template) creator responded:
> Wonderful! I plan to give it some more love soon, including some docker magic to make it easier to run.
>
> If you ever have any feedback about improving it, feel free to post it in [#nio-template:amorgan.xyz](https://matrix.to/#/#nio-template:amorgan.xyz) :)
### matrix-diskstation-bot
[KB1RD](https://matrix.to/#/@kb1rd:kb1rd.net) said:
> This is just a stupid simple bot based on [T r a v i s R's matrix-bot-sdk-bot-template](https://github.com/turt2live/matrix-bot-sdk-bot-template) that forwards alerts from a Synology DiskStation NAS to Matrix room(s).
>
> It's on [GitHub](https://github.com/KB1RD/matrix-diskstation-bot) and [Docker Hub](https://hub.docker.com/r/kb1rdweb/matrix-diskstation-bot)
## 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. 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|fairydust.space|426|
|2|privacytools.io|438|
|3|saferutar.com|487|
|4|maunium.net|534|
|5|heitkoetter.net|570|
|6|chatcloud.net|640|
|7|encom.eu.org|658.5|
|8|envs.net|697|
|9|matrix.vgorcum.com|847|
|10|neko.dev|879|
## 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>