matrix.org/content/blog/2022/01/2022-01-14-this-week-in-mat...

401 lines
24 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-01-14"
path = "/blog/2022/01/14/this-week-in-matrix-2022-01-14"
[taxonomies]
author = ["Thib"]
category = ["This Week in Matrix"]
[extra]
image = "https://matrix.org/blog/img/beeper-cover.png"
+++
## Matrix Live 🎙
{{ youtube_player(video_id="ra5Uqee59n4") }}
## Dept of Spec 📜
[anoa](https://matrix.to/#/@andrewm:amorgan.xyz) announces
> 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://spec.matrix.org/unstable/proposals.
> ## MSC Status
>
> **New MSCs:**
> * [MSC3644: Extensible Events: Edits and replies](https://github.com/matrix-org/matrix-doc/pull/3644)
> * [\[WIP\] MSC3639: Matrix for the social media use case](https://github.com/matrix-org/matrix-doc/pull/3639)
> * [MSC3635: Early Media for VoIP](https://github.com/matrix-org/matrix-doc/pull/3635)
>
> **MSCs with proposed Final Comment Period:**
> * [MSC1767: Extensible event types & fallback in Matrix (v2)](https://github.com/matrix-org/matrix-doc/pull/1767) (merge)
>
> **MSCs in Final Comment Period:**
> * [MSC3567: Allow requesting events from the start/end of the room history](https://github.com/matrix-org/matrix-doc/pull/3567) (merge)
> * [MSC2675: Serverside aggregations of message relationships](https://github.com/matrix-org/matrix-doc/pull/2675) (merge) 🎉
>
> **Closed MSCs:**
> * [MSC2589: Improve replies](https://github.com/matrix-org/matrix-doc/pull/2589)
> - Closed by the author in favour of [MSC2781: Remove the reply fallbacks from the specification](https://github.com/matrix-org/matrix-doc/pull/2781).
>
> ## Spec Updates
>
> Hot on the heels (relatively speaking) of v1.1 of the Spec being released in November, v1.2 is now on the horizon! As a reminder, we're working towards quarterly releases of the spec going forwards - no hard dates yet though.
>
> While this is certainly an improvement in speed, when it comes to writing software and updating implementations: quarterly spec updates may actually seem _too fast_. This is OK; implementations of the spec are __not__ expected to update as soon as a new spec release is published. Rather, it is more realistic to expect that the ecosystem updates gradually over the course of the next few months/year after the release.
>
> Look forward to more concrete dates soon!
> ## Random MSC of the Week
>
> The random MSC of the week is... [MSC2702: Specifying semantics for Content-Disposition on media](https://github.com/matrix-org/matrix-doc/pull/2702)!
>
> This looks like a small, but useful improvement to the spec that never really received much love. Feel free to give it some!
> ![](/blog/img/d30cc794ef185e521aa610d4bd8b006ead0d2783.png)
## Dept of Servers 🏢
### Synapse ([website](https://github.com/matrix-org/synapse/))
Synapse is the reference homeserver for Matrix
[anoa](https://matrix.to/#/@andrewm:amorgan.xyz) says
> Happy Friday everyone! Today the Synapse team has [released Synapse 1.50.0rc2](https://github.com/matrix-org/synapse/releases/tag/v1.50.0rc2). It fixes a particularly nasty federation-breaking regression that crept in during 1.50.0rc1. If you're currently running 1.50.0rc1, we implore you to update to 1.50.0rc2 as soon as possible!
>
> In other news, a reminder that as of Synapse 1.50.0rc1, we have ended support for Python 3.6 and PostgreSQL 9.6 as per our [dependency deprecation policy](https://matrix-org.github.io/synapse/latest/deprecation_policy.html), as upstream has marked them as end-of-life.
>
> We'll let the community test 1.50.0rc2 over the weekend to ensure that no other regressions have emerged (please test if you can)! If not, expect Synapse 1.50 to land sometime early next week.
### Conduit ([website](https://conduit.rs))
Conduit is a simple, fast and reliable chat server powered by Matrix
[Timo ⚡️](https://matrix.to/#/@timokoesters:fachschaften.org) reports
> It has been a long time since my last TWIM post, so here's a summary of all exciting news:
>
> Features:
> * We now support RocksDB as a backend. Migrating to RocksDB improved both my memory and IO usage a lot.
> * You can select the database backend at runtime. No need to recompile a special version anymore.
> * Lazy loading works. This means initial syncs are significantly faster (1-2 minutes instead of an hour!)
> * Voice calls are now supported (requires configuring a TURN server)
> * The report feature is now implemented and sends a report into the admin room
>
> Improvements:
> * Much faster state resolution
> * Batch inserts for events
> * Better appservice docs
> * Lots of bug fixes
>
> All of this is currently available on the `next` branch. We are preparing to make a v0.3.0 release soon!
>
> Join [#conduit:fachschaften.org](https://matrix.to/#/#conduit:fachschaften.org) to help us test it.
>
> Thanks to everyone who supports me on [Liberapay](https://liberapay.com/timokoesters) or Bitcoin!
## Dept of Bridges 🌉
### Heisenbridge ([website](https://github.com/hifi/heisenbridge/))
Heisenbridge is a bouncer-style Matrix IRC bridge.
[hifi](https://matrix.to/#/@hifi:vi.fi) announces
> Release v1.10.0 🥳
> * RELAYMSG sending support 🚀
> * Allow forwarding all IRC noise to network room 🤫
> * Support ZNC self-message caps ✅
> * Support CHGHOST caps (prevents leave+join on host change) ✅
> * Fix owner auto-registration (regression) 🐛
> * Upgrade to Mautrix 0.14 ⬆️
>
> Sending RELAYMSGs have been requested for a while so now we do support that if the cap is added to request list. This makes plumbs on networks that support it work nicer. Receiving RELAYMSGs has not been implemented yet so they show up as external like before.
>
> If you prefer keeping your IRC rooms clean without any IRC noise (mode changes etc.) you can now use a new FORWARD command in the network room to make all such events happen in the network room instead. This affects in-room commands as well.
>
> ZNC users can now enjoy messages coming from your own clone in IRC rooms (including PMs!) if you wish so by keeping the znc.in/self-message cap enabled. This isn't extremely well tested yet but feedback welcome.
>
> Not a breaking change but the caps support will cause connections to networks that ignore CAP requests take a few seconds longer unless you remove all the default caps for said network and it will never try requesting them again.
>
> Mautrix 0.14 upgrade bumps the minimum version as well so packages beware.
>
> Get some global warming from [GitHub](https://github.com/hifi/heisenbridge/releases), [PyPI](https://pypi.org/project/heisenbridge/) or [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy)!
>
> Thanks!
## 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
> We rewrote the whole settings page (as a stepping stone to 100% QML). Please test it and complain about everything I broke! We also tried to organize it a bit better so that similar settings are grouped together and tried to use the right controls for the right things. Best case you didn't notice anything. ;-)
>
> And we also now show which profile a notification is for on KDE. I don't think other DEs have such a feature, so those will just show the generic Nheko as always.
### Hydrogen ([website](https://github.com/vector-im/hydrogen-web))
Hydrogen is a lightweight matrix client with legacy and mobile browser support
[Bruno](https://matrix.to/#/@bwindels:matrix.org) reports
> We're about to release 0.2.23 after somewhat of a release hiatus. We've been working on two fronts:
> - Get the SDK out! Hydrogen was always meant to be easy to embedded, reuse in parts, and make customized versions of. But until now, actually doing that was quite challenging. Now that the SDK is out, you can use the [`hydrogen-view-sdk`](https://www.npmjs.com/package/hydrogen-view-sdk) package in your projects and use parts of Hydrogen in your application. It's still early days, and we're still working out what symbols should be exported (finding a balance between APIs we want to support and utility), etc. Expect updates in the coming weeks. We're also not yet promising API stability for now, some APIs will very likely still change. Once we hit 1.0, we won't change things from underneath you anymore without increasing the major version.
> - Rich reply previews: as part of providing minimal support for threads (representing them as replies), we're switching from using the embedded reply fallback and actually looking up the replied-to message. One benefit is that reply previews will now updated when they are redacted (and edited, once we support that :).
> - Also fix some minor other things, like loading images when they are only partially visible, and a very basic location tile.
### Element ([website](https://element.io))
Everything related to Element but not strictly bound to a client
[kittykat](https://matrix.to/#/@kittykat:matrix.org) announces
> **Threads**
> * Issue with thread panel rendering timeline has been fixed
> * Reviewing plans for backward compatibility with clients that dont support threaded messages
>
> **Polls**
> * iOS and Android starting on the next phase of development, look out for poll editing and other exciting changes! You can enable polls in the Settings, under Labs.
>
> **Community Testing**
> * 32 issues found during community testing! Join [#element-community-testing:matrix.org](https://matrix.to/#/#element-community-testing:matrix.org) to test the latest Element apps with us
>
> **Analytics**
> * You can now opt in to sending anonymous analytics data in the user settings on all platforms. Please enable it in the “Security & Privacy” menu, under “Analytics” to help us understand better how Element apps are used.
> * Mobile app users will see an opt-in screen on first startup on Android in 1.3.14 and iOS in 1.6.12
>
> <img src="/blog/img/ecqTtKhRucXQAigTWtUCxfMw.png" style="max-width:500px"/>
### 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)!
[kittykat](https://matrix.to/#/@kittykat:matrix.org) announces
> * Maximised widgets merged into the release candidate and on track for the next release (see the Beyond Chat section for more info on this feature)
> * Fix code blocks being wrongly wrapped causing the line numbers to misalign, this was a regression in 1.9.8
> * Fixed ability to edit horizontal rules in markdown
> * Fixed some edge cases around Spaces not updating properly causing rooms to show up in the wrong Space
> * Add ability to cancel an outbound message during its encryption phase
> * Fix wrongly sending typing indicator when restoring a draft when changing room
> * Replace `kick` terminology with `remove` to be more inclusive
> * In labs (you can enable labs in Settings on [develop.element.io](develop.element.io) or on Nightly)
> * Polishing bubbles layout
> * Upgrade to Electron 16 for Element Nightly - we are expecting this to help resolve some of the issues caused by Electron. Intending to release to production in 1.9.10 (two weeks away)
[J. Ryan Stinnett](https://matrix.to/#/@jryans:matrix.org) announces
> The maximised widgets feature in Element Web that Timo K. has been working on is now available for everyone on develop, and it's on track for the next web release. 🚀 It's a great match for widget-based collaborative editors, dashboards, games, and more. The widget becomes the focus of the room. You can optionally show chat from the room in a side panel, allowing easy discussion of the document / dashboard / game.
>
> To try it out, add a widget to a room in the usual way, then look for the new "maximise" button in the room info panel's widget section. Please let us know in [#beyond-chat:matrix.org](https://matrix.to/#/#beyond-chat:matrix.org) or in issues if you have any feedback. 😄
### 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)!
[kittykat](https://matrix.to/#/@kittykat:matrix.org) reports
> * Working on improving app startup speed (note that this is the green spinner, not the account sync)
> * Issue with home view in dark mode was reported this morning and fixed this afternoon
> * In development:
> - Finished implementing [room settings](https://github.com/vector-im/element-ios/issues/5231) for Spaces
> - Improving [room long press interactions](https://github.com/vector-im/element-ios/issues/5232) for Spaces
### 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)!
[kittykat](https://matrix.to/#/@kittykat:matrix.org) says
> * First time user experiences (FTUE) changes are starting to land, including changes to the login screen which will be available in next weeks release.
> * Replace `kick` terminology with `remove` to be more inclusive
> * Resolved issue with stuck event in the timeline, which will be released with 1.3.16
### Beeper ([website](https://www.beeper.com))
All you chats in one app.
[Brad Murray](https://matrix.to/#/@brad:beeper.com) announces
> Beeper is a universal chat app built on top of Matrix. We've created 12+ open source Matrix bridges and integrated them into an easy to use all-in-one service which does not require setting up your own homeserver. You can learn more at [beeper.com](http://beeper.com).
>
> Our team is growing! Were now at 25 people, all remote around the world. Recent additions include hifi (creator of [Heisenbridge](https://github.com/hifi/heisenbridge)) and Finn (creator of [signald](https://github.com/thefinn93/signald)).
>
> We are hiring many full-time remote roles including:
>
> * Bridge developers
> * iOS engineers
> * Product designers
>
> Learn more [here](https://www.notion.so/Jobs-Beeper-ff5da486daed462ebfc4b21eacc48cae) and apply through that site, or message @eric:beeper.com
>
> **Beeper Desktop**
>
> * We recently released a Beeper Desktop update with a new room list and a ton of UI improvements. Check out the video below!
> - Made it easier to triage your inbox by moving unread dots to left
> - Made the list of connected bridges more compact
> - New link previews
> - Loads of bug fixes including improvements to scrolling
>
{{ youtube_player(video_id="ToJEpVqcWHM") }}
> **Beeper Bridges**
>
> * We introduced a new version of our iMessage bridge designed for Mac OS computers with SIP disabled. [https://docs.mau.fi/bridges/go/imessage/mac-nosip/setup.html](https://docs.mau.fi/bridges/go/imessage/mac-nosip/setup.html) Now includes support for:
> - Tapbacks
> - SMS via Continuity
> - Threaded replies
> - Synced read states to other iDevices and
>
> Most importantly, we launched a cloud Mac service that allows you to use iMessage with Beeper if you do not have access to an always-on Mac computer. Included with your Beeper subscription!
>
> * Voice messages are bridged in native format in both directions for all Beeper bridges
> * Signal bridge now supports disappearing messages
> * All Instagram message types are now bridged
> * Added support for Telegram message reactions
> * WhatsApp bridge now backfills 3 months worth of chats
>
> **Beeper Android**
>
> * Coming soon: A recent addition to our Android team has added encrypted search by massaging `seshat` into the app. Expect an upstream PR for this into Element Android as well!
## Dept of SDKs and Frameworks 🧰
### Trixnity ([website](https://gitlab.com/benkuly/trixnity))
Multiplatform Kotlin SDK for Matrix
[Benedict](https://matrix.to/#/@benedict:imbitbu.de) says
> [Trixnity](https://gitlab.com/benkuly/trixnity) version 1.0.0 is out! I decided to make it 1.0.0 not because it is out of beta, but because it has most features you need to build a usable client.
> That means: cross signing has landed into Trixnity! The next big features will be room key backup and push notification.
>
> Here is the changelog:
> * fully support cross signing
> * load members of rooms in an async way (you don't need to catch errors anymore)
> * reactive displayname and avatar url of the logged-in user
> * reactive avatar url for rooms
> * reactive is-direct-room state for rooms
> * better Android support for thumbnails
> * make part of device keys API public
> * merge SecureStore into Store (encrypt your database if you want to keep secrets secure)
> * move trixnity-client-api model-classes into separate module to use them e.g. for a matrix server implementation (thanks to [@NicolasJouanin](https://gitlab.com/NicolasJouanin))
> * fixed long standing bug of wrong room name calculation
> * account data events are handled as if they have a key (like state events) to bypass inconsistency in the spec (maybe this will lead into a MSC)
### ruby-matrix-sdk ([website](https://github.com/ananace/ruby-matrix-sdk))
Ruby SDK for the Matrix communication protocol
[Ananace](https://matrix.to/#/@ace:kittenface.studio) says
> Just cut a new release of the [Ruby Matrix SDK](https://github.com/ananace/ruby-matrix-sdk), with 2.5.0 there's some preliminary support for Matrix 1.1 and the `client/v3` API, the information for room knocking is exposed properly, some threading issues have had workarounds applied, and a bunch of fixes have been applied.
>
> Additional thanks go out to the nice people submitting PRs on GitHub and the members of the [#ruby-matrix-sdk:kittenface.studio](https://matrix.to/#/#ruby-matrix-sdk:kittenface.studio) room.
[Ananace](https://matrix.to/#/@ace:kittenface.studio) says
> Currently running my own ping bot with it, I'm doing the GitHub (and hopefully also GitLab at some point) [releasetracker bot](https://github.com/ananace/matrix-releasetracker), I've got my definitely not suitable for production [MatrixFS](https://github.com/ananace/ruby-matrix-fs), there's a [notification module for TheForeman](https://github.com/ananace/foreman_notification_send) which we use at the university. And I've got some MSC hacks as well, like the [MSC2108 testbed](https://github.com/ananace/ruby-sinatra-matrix_sse).
### matrix-crdt ([website](https://github.com/yousefED/matrix-crdt))
Use Matrix as a backend for local-first applications with the Matrix-CRDT Yjs provider.
[yousefed](https://matrix.to/#/@yousefed:matrix.org) reports
> I just open sourced a library called Matrix-CRDT: https://github.com/yousefED/matrix-crdt - feedback very welcome! It allows you to use Matrix as a backend for decentralized, local-first collaborative apps. Above you see a **collaborative rich text editor (like Google Docs)** powered by Matrix!
>
> You can try the Rich text editor here: https://bup9l.csb.app (see also the links in the repo, e.g. there is also a collaborative todo-list example)
[J. Ryan Stinnett](https://matrix.to/#/@jryans:matrix.org) adds
> If you have a distributed data structure and an algorithm that ensures all participants end up with the same result when their actions are combined, then that's effectively a CRDT as well. For Matrix, there a few research papers like https://arxiv.org/abs/2011.06488 which examine the CRDT-like properties.
## Dept of Bots 🤖
### GH-Bot ([website](https://github.com/Jaedotmoe/gh-bot))
The worst (according to its author!) but simplest webhook bot for GitHub and Matrix.
[Jae Lo Presti](https://matrix.to/#/@me:jae.fi) announces
> First stable release of the [gh-bot](https://github.com/Jaedotmoe/gh-bot) which is a simple webhook to Matrix bot made in Python.
> As of now, the bot supports webhooks from Github, Gitlab and Gitea (although support for this one is very light).
> Some other projects might do that way better than this bot but this is a learning project, to learn step by step how client interact with servers.
> The next step would be to add a CRT.sh integration to get notified when a certificate is issued for a certain range of domains (which is something we want since we saw an IRC bot do the same).
## Dept of Interesting Projects 🛰️
### matrix-art ([website](https://github.com/MTRNord/matrix-art))
A Devianart Fork based on Matrix
[MTRNord (they/them)](https://matrix.to/#/@mtrnord:nordgedanken.dev) says
> Matrix-Art is a new social network prototype on Matrix.
>
> It is a direct Devianart style clone. It currently has a focus on only images but is going to get extended to other media types eventually.
> I am doing this as a toy project, so it may sometimes have slow progress. The goal is covering the main functions Devianart provides (Posting, Sharing, Profiles, Following, Collections, Comments) as well as integrations to other social networks on matrix using [MSC3639](https://github.com/matrix-org/matrix-doc/pull/3639).
>
> A lot of things are currently still missing, but I am trying to get uploading working next :)
>
> An instance is hosted at https://art.midnightthoughts.space/ and the code is at https://github.com/MTRNord/matrix-art
>
> Currently, the interface is limited to viewing basic data from a matrix room. In the future, there are plans to have an open registration as well as login with any account to use it. :)
>
> Note however that I suggest against using your personal account just yet, even though the login works, as it may have unexpected room joins at this time. This is known and expected, but not production ready.
>
> Also, at this time, there are no plans of e2ee support. This may get added after the main features are finished.
>
> For questions, feel free to join [#matrix-art:nordgedanken.dev](https://matrix.to/#/#matrix-art:nordgedanken.dev) :)
## Dept of Guides 🧭
[Stas'M](https://matrix.to/#/@binarymaster:reactos.org) says
> I just wrote an article about my experience using Matrix, and the question... is it worth posting in the news? The article is written in Russian and published on Habr... and since it's pretty big I'm not sure about translating it to English 😅
>
> Here is the link: https://habr.com/ru/post/599777/ - it also mentions TWIM.
## 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|442|
|2|mtx.koyax.org|584|
|3|kapsi.fi|698|
|4|finallycoffee.eu|877.5|
|5|aria-net.org|1032|
|6|trygve.me|1049|
|7|fff.chat|1528|
|8|samlord.me|1551|
|9|bitcoin.ninja|1598|
|10|kreatea.space|1845.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|conduit.supercable.onl|397.5|
|2|rustybever.be|655|
|3|dendrite.thomcat.rocks|672.5|
|4|dendrite.matrix.org|794.5|
|5|dendrite.neilalexander.dev|958|
|6|matrix.spooks.cyou|1405|
|7|matrix.awesomesheep48.me|1534|
|8|conduit.cyberdi.sk|3041|
|9|dendrite.beckmeyer.us|6883|
## 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!