21 KiB
+++ title = "This Week in Matrix 2020-10-30" path = "/blog/2020/10/30/this-week-in-matrix-2020-10-30"
[taxonomies] author = ["Ben Parsons"] category = ["This Week in Matrix"]
[extra] image = "https://matrix.org/blog/img/2020-10-30-ml.png" +++
Matrix Live 🎙
{{ youtube_player(video_id="42Q-zUfvv04") }}
sometimes you'll come across us at FOSDEM and we'll say "oh it's the future", and we're trying to make this an actual thing
- Half-Shot on getting from sci-fi to reality
Dept of Spec 📜
Spec
anoa told us:
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:
- [WIPish] MSC1777: peeking over federation (via server pseudousers)
- Obsoleted in favour of MSC2444
Merged MSCs:
MSCs in Final Comment Period:
- No MSCs are in FCP.
New MSCs:
Also heads up, the nomenclature for Communities v2 (groups-as-rooms) is now Matrix Spaces! Check out MSC1772 for the details!
Spec Core Team
In terms of Spec Core Team MSC focus for this week, we're continuing with the widget theme: MSC2774 (widget URL template param), MSC2765 (widget avatars), and MSC2790 (modal widgets).
New spec platform
wbamberg told us:
Updates on the new spec platform: we can render HTTP APIs (https://adoring-einstein-5ea514.netlify.app/spec/client-server/#login) and events (https://adoring-einstein-5ea514.netlify.app/spec/client-server/#room-events).
Dept of Built on Matrix 🏗️
Chupacabra Social
patrick told us:
From the creators of Noteworthy, introducing Chupacabra, a Matrix powered content sharing and discussion layer.
Video demo: https://youtu.be/hAouGTL7XAQ
Github: https://github.com/decentralabs/chupacabra
Join us in #chupacabra:chupa.social to learn more.
Dept of Servers 🏢
Conduit
Conduit is a Matrix homeserver written in Rust https://conduit.rs
Timo announced:
Hello everyone, I have some amazing news to share with you! While Conduit is getting better at federating, Famedly (https://famedly.com) has agreed to support me working on Conduit financially. With this news come some organizational changes:
Conduit development now happens at https://gitlab.com/famedly/conduit, please submit new issues and pull requests over there. I will update all links in the coming days.
Note: Famedly does not own the project and Conduit will stay free and open source forever!
matrix-media-repo
matrix-media-repo is a highly customizable multi-domain media repository for Matrix
TravisR announced:
v1.2.1 of matrix-media-repo, a third-party media repo for large homeservers, is out now. It's primarily a maintenance update though also has support for audio files if for some reason you need that.
Synapse
callahad said:
Synapse 1.22.0 is out! We announced its first release candidate last week, and after a small rc2 the final release was published last Tuesday. We anticipate a small 1.22.1 release later today with fixes for messages not always being sent to app services (#8673) and serialization errors with third-party event rules (#8678).
We continue to see improved client join Apdex scores for matrix.org, indicating that our work in 1.22.0 to split background tasks into separate workers and allow for sharded event persisters successfully improved the user-visible performance of large homeservers.
In other news, we pushed a temporary hotfix to the matrix.org homeserver earlier this week, instructing it to drop all cross-user
m.key_share_request
messages. This was necessary to mitigate a bug in a third-party library which caused some clients to flood the server with requests. We'll re-enable these messages once we resolve issue #8677. In the meantime, we strongly encourage FluffyChat users to upgrade to version 0.21.1.We're hard at work on the next release of Synapse, and the development branch already includes many bugfixes, several new admin APIs, and support for structured logging—stay tuned!
Dendrite
Dendrite is a next-generation homeserver written in Go
kegan said:
There is no release this week, be sure to have v0.2.1 installed for a more stable experience! A few documentation changes have been made this week:
Docker sample configs are now correct.
The
MaxMessageBytes
for Kafka messages is now configurable - thanks @S7evinK!A reverse-proxy sample now exists for Hiawatha - thanks @ErgoPoe!
Spec compliance remains unchanged:
Client-server APIs: 57%
Server-server APIs: 81%
Things have been quiet this week because Neil has been working on new P2P routing schemes and I have been working
on a Threading proposal which will be tried out in Dendrite in the coming days.
Synapse Deployment 📥️
Kubernetes
Ananace announced:
Just pushed the Synapse 1.22.0 versions for my K8s-optimized image and Helm chart.
... 🕛 time 🕗 went 🕟 by 🕥 ...
Updated my Synapse chart and K8s-optimized image to 1.22.1 as well, and got the element-web chart updated to 1.7.12
YunoHost
Pierre reported:
YunoHost is an operating system aiming for the simplest administration of a server, and therefore democratize self-hosting.
Synapse integration had been updated to 1.20.1 (1.21.2 available in branch
testing
)Element Web integration had been updated to 1.7.9 (1.7.10 available in branch
testing
)
Dept of Bridges 🌉
🌈🌉 Bifrost reaches 0.2.0
Half-Shot reported:
Hey folks, today I bring you a gift wrapped rainbow coated present, which could only mean Bifrost 0.2.0 is out!.
We've been making major progress trying to align bifrost with the many XMPP clients out there like Gajim and Swift, by improving it's compatibility with the various XEPs. I've also noticed a few users have started using it to bridge their Matrix and XMPP communities together which is super cool :)
Please read the latest changelogs over at https://github.com/matrix-org/matrix-bifrost/releases/tag/0.2.0 and upgrade away!
Gitter
Eric reported:
The merge request for the native Gitter bridge has just got underway and we're making progress towards sharing all Gitter messages in public rooms across to Matrix.
We'll continue to iterate on the Gitter
virtualUser
support as we go along.
mautrix-telegram
Tulir said:
v0.9.0-rc1 was released last weekend. Changes since v0.8.x include:
Prometheus metric names are now prefixed with
bridge_
Support for Telegram QR code login
Support for double puppeting for users on other servers
Options for automatic backfilling of missed messages and old messages when creating portals
Switched end-to-bridge encryption to use mautrix-python instead of the previous hacky matrix-nio solution
This week I fixed some bugs, so I'll probably make a rc2 in the near future.
Dept of Clients 📱
Fluffychat 0.21.1 is released!
FluffyChat is a cute cross-platform matrix client. It is available for Android, iOS, Web and Desktop.
sorunome announced:
It is already in fdroid, google play and ios should follow shortly. We highly encourage people to update, as it contains an important bugfix of sending out way too many key requests, which can cause bad server performance
Features
New user viewer
Add code syntax highlighting in messages
Updated translations: Thanks to all helpers
Changes
- Stories feature removed
Fixes
Fixes sentry
Fixes Android download
Minor fixes
quotient
kitsune reported:
Hot on the heels of 0.0.9.5 beta, Quaternion 0.0.9.5 beta2 is released, fixing a couple of blunders, notably inability to build with external libQuotient. Keep testing, keep translating!
Hydrogen
Bruno announced:
Hydrogen can now show images in encrypted rooms! I hope to also release a lightbox feature this afternoon to show a zoomed version of an image.
Element-iOS
Manu announced:
This week, we have almost finished the authentication for widgets and jisti in particular. The project is now fully compatible with Xcode 12.
Element Android
benoit offered:
We are making progress on the performance side. Now sending an event is much faster than before. We also are optimizing the crypto code. All those improvements will be available in the next release (v1.0.10), maybe next week?
Besides that, we are implementing the remaining features, we are trying to have the same level of functionality (= parity) than Element Web. We know that we have a great number of bugs to fix on the existing feature, we are also trying to fight them.
As a reminder, the new Android Matrix SDK is available at https://github.com/matrix-org/matrix-android-sdk2 and a nice sample application has been developed and is available at https://github.com/matrix-org/matrix-android-sdk2-sample.
You had me at "progress on the performance side"! I am looking forward to the new Element Android :D
Element Web
Neil reported:
This week we shipped Element 1.7.12 which contains some high priority fixes, specifically:
- Fixes secret storage / cross-signing reset to avoid asking for the previous key you no longer have
- Fixes widget pinning and Jitsi calls when custom themes are used
Aside from that we continue to work on the voice and video calling experience as well as improving the initial onboarding experience of the app.
Nheko
Nheko is a desktop client using Qt, Boost.Asio and C++17. It supports E2EE (with the notable exception being device verification for now) and intends to be full featured and nice to look at
Nico (@deepbluev7:neko.dev) offered:
{{ youtube_player(video_id="XPAgKgpQFJY") }}
This was an exciting week again. Trilene did the usual and just opened a PR, that implements the video part of call support. In my testing so far this seems to work amazingly well (ignore, that my webcam is crappy in the video, I only have so many devices...)! It's hard to overstate my satisfaction, if I am allowed to quote songs without getting a DMCA! If you want to try it out, you will need the qmlgl plugin at runtime (I had to patch some ebuilds on Gentoo to do so) and build Nheko from source. Support in our AppImage and Flatpak and for our Windows and MacOS builds will come at a later date. A big shoutout to trilene, who just works on VOIP in Nheko, without saying a word, and then drops a ready PR.
Another exciting new feature by lorendb, you can now specify
--profile <profilename>
, when you start Nheko, to create a separate profile. This allows you to open multiple instances and use multiple accounts at the same time (but it still uses separate instances of Nheko). This is pretty useful, if you have multiple accounts on different homeservers or are testing stuff for example. He also added a shortcut to delete the current content of the message area (Ctrl-U).We also fixed a long standing bug, that crashed Nheko when pasting an image on mac OS, prevented copying text in some cases and build times should be about halfed again.
That's all I got today. I guess we should do a new release at some point?
I asked about trilene, who is a reliable Nheko contributor, Nico replied:
trilene seems to be a bit camera shy and prefer to work on code than take credit and talk about upcoming features. I'm surprised everytime, when a new PR is opened or trilene asks a weird question, that can only end up in an amazing contribution :3
\o/
Dept of SDKs and Frameworks 🧰
matrix-bot-sdk 0.5.8 out now
TravisR told us:
matrix-bot-sdk v0.5.8 is out now with experimental support for EDUs being sent to appservices (per MSC2409).
To enable it you'll need Synapse 1.22.0 (released this week) and v0.5.8 of the bot-sdk. Then, add
"de.sorunome.msc2409.ephemeral": true
to your appservice registration file (at the root level) and turn on thede.sorunome.msc2409.ephemeral
flag in yourIAppserviceRegistration
supplied to the bot-sdk. If all goes according to plan, you'll be able to useappservice.on("ephemeral.event", (ev) => {})
to start processing EDUs.
Dept of Ops 🛠
Icinga End-to-End Check
Nik said:
I hacked together a maubot-based roundtrip test that leverages the echo bot's ping command reply and reports rtt to Icinga as a passive check result. Its practical use is scientifically questionnable, but it gives a hint on end-user experience. Find it here: https://edugit.org/nik/maubot-pingcheck
Dept of Services 🚀
Enabling encryption for bots on t2bot.io
TravisR offered:
Starting November 28th and 29th of this year, many bots on t2bot.io will be supporting end-to-end encryption. Though not all bots will be supporting it, this is an important milestone towards getting end-to-bridge encryption enabled on t2bot.io as a proof of being able to scale to the higher demand of encrypted rooms.
The eventual goal is to support encryption on all of t2bot.io’s bots and bridges, however we need to take small steps to get there 🙂. Note that in order to function, bots will decrypt all messages they see, but only respond to the ones they care about - this can still be uncomfortable for some rooms though, so feel free to kick them out.
For more detail on which bots are getting support and what all this entails/means, please see the dedicated blog post.
We teased this a little on Matrix Live last week (I think?), but so awesome to see this publicly announced.
Keymaker (Serverlist Project)
MTRNord reported:
Keymaker is a new WIP Project of some people (over at #serverlist:nordgedanken.dev ) that aim to provide a mastodon alike Server List and we would love to get some more input from the Community for this project on whats wanted, whats needed and whats maybe not that good to base on the mastodon counterpart.
This means we are building:
A list of Servers where Owners can add their servers
We try to do Quality controls (No fully self add. Servers get reviewed.) using a Code of Conduct Ruleset
Verified Listings using well-known files on serverside (Also allowing Admins to modify server data themself)
Server Details like:
Ping and Availability Stats (thanks to tulir for providing a API)
Public Room Lists fetched from the Server
NSFW Ratings (A NSFW tag was too generic for us)
A Section to list Rules
Admin addresses for easy ways of reaching the Server admins
Allowing to select registration state ("Open", "Invite Only", "Closed")
The Code is fully written in Rust and using Postgres as a backend. Have a look at: https://github.com/daydream-mx/keymaker
Join us at: #serverlist:nordgedanken.dev
In a further post we plan to announce the launch of this Project as a Website. Server owners might get a ping before that to allow for setting up servers for this. This Project is not yet deployed to be used.
This is really cool. I suggested it might start to kickstart people hosting their own small, publicly open servers.
MTRNord replied:
As we also allow non public servers (registration -> closed) it may also be a nice way to find communities that federate and have a look if they have a interesting room to join in the public rooms list. :)
Dept of Bots 🤖
Bubo
kapina-jaywink reported:
Bubo, the community helping bot-in-progress, gets releases and a new command:
breakout
. The command can be used to create a breakout room from the current room. Bubo will create the room, invite and make the requester an admin, and confirm in the original room. Anyone who reacts with an emoji to the confirmation will get an invite to the breakout room. Currently breakout rooms are non-public and non-encrypted by default.Find Bubo v0.2.0 here.
Dept of Events and Talks 🗣️
Neil on being an eng manager
Neil announced:
Hey all, I do engineering managery stuff at Element, if you ever wondered what on earth that actually means, here is a video of me going on and on about it. https://www.youtube.com/watch?v=2NflccKdGqU
Sell it Neil! This is an insightful chat - if you're interested in the dilemmas and thoughts of an eng manager, be sure to check this out!
Dept of Ping 🏓
Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by pingbot, a maubot that you can host on your own server. Join #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 | maescool.be | 653 |
2 | aragon.space | 707 |
3 | envs.net | 800 |
4 | matrix.vgorcum.com | 828 |
5 | elcyb.org | 1044 |
6 | neko.dev | 1104 |
7 | fab.network | 1112 |
8 | mailstation.de | 1128 |
9 | aragon.sh | 1364 |
10 | dodsorf.as | 1605 |
That's all I know 🏁
See you next week, and be sure to stop by #twim:matrix.org with your updates!