263 lines
15 KiB
Markdown
263 lines
15 KiB
Markdown
+++
|
|
date = "2024-03-08"
|
|
title = "This Week in Matrix 2024-03-08"
|
|
path = "/blog/2024/03/08/this-week-in-matrix-2024-03-08"
|
|
|
|
[taxonomies]
|
|
author = ["Hubert Chathi"]
|
|
category = ["This Week in Matrix"]
|
|
|
|
[extra]
|
|
image = "https://matrix.org/blog/img/matrix-logo.png"
|
|
+++
|
|
|
|
## Matrix Live
|
|
|
|
{{ youtube_player(video_id="jN0AobAzeak") }}
|
|
|
|
## Dept of *Status of Matrix* 🌡️
|
|
|
|
### Digital Markets Act (EU)
|
|
|
|
[Matthew](https://matrix.to/#/@matthew:matrix.org) reports
|
|
|
|
> Happy DMA day everyone - here's our analysis of where messaging interoperability is at today, and where it might go in future: <https://element.io/blog/the-eu-digital-markets-act-is-here/>
|
|
|
|
### Online Harms Act (Canada)
|
|
|
|
[Matthew](https://matrix.to/#/@matthew:matrix.org) announces
|
|
|
|
> more good crypto news this week from Canada: the Online Harms Act looks to be explicitly protecting end-to-end encryption and private communications - in contrast to the UK Online Safety Bill/Act. Looks like all attempts to educate around the UK OSB might have not been entirely in vain. You can see it direct from Justice Minister Arif Virani here: <https://youtu.be/TjDrAlfhNAA?t=1766>
|
|
|
|
<!-- more -->
|
|
|
|
## Dept of Spec 📜
|
|
|
|
[Andrew Morgan (anoa)](https://matrix.to/#/@andrewm:element.io) 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/proposals>.
|
|
>
|
|
>
|
|
> ### MSC Status
|
|
>
|
|
> **New MSCs:**
|
|
> * [MSC4117: Reinstating Events (Reversible Redactions)](https://github.com/matrix-org/matrix-spec-proposals/pull/4117)
|
|
>
|
|
> **MSCs in Final Comment Period:**
|
|
> * *No MSCs are in FCP.*
|
|
>
|
|
> **Accepted MSCs:**
|
|
> * [MSC4010: Push rules and account data](https://github.com/matrix-org/matrix-spec-proposals/pull/4010)
|
|
>
|
|
> **Closed MSCs:**
|
|
> * [MSC1920: Alternative texts for stickers](https://github.com/matrix-org/matrix-spec-proposals/pull/1920)
|
|
> * [MSC3270: Symmetric megolm backup](https://github.com/matrix-org/matrix-spec-proposals/pull/3270)
|
|
> * [MSC2638: Ability for clients to request homeservers to resync device lists](https://github.com/matrix-org/matrix-spec-proposals/pull/2638)
|
|
>
|
|
> ### Spec Updates
|
|
>
|
|
> Along with the typical rounds of review this week, there was a request on <https://github.com/matrix-org/matrix-spec/pull/1739> for client authors to voice their opinion on whether they'd be happy with deprecating the `<font>` tag in the spec. The tag has been dropped from the WHATWG HTML standard, and replaced by `<span>`. We'd like to follow this standard where possible in Matrix, though understand that many clients have not made the switch yet.
|
|
>
|
|
> If you're a client developer that's particularly interested in this bit of the spec, please do join in the conversation!
|
|
>
|
|
> ### Random MSC of the Week
|
|
>
|
|
> The random MSC of the week is... [MSC3741: Revealing the useful login flows to clients after a soft logout](https://github.com/matrix-org/matrix-spec-proposals/pull/3741)!
|
|
>
|
|
> This one is a real "how did we not think of that" moment. If you aren't familiar with [soft logout](https://spec.matrix.org/v1.9/client-server-api/#soft-logout), it's the mechanism by which the homeserver can sign out a client while hinting that it should NOT destroy the local client state (like encryption keys). This is useful for situations such as resetting your password, where you want your other devices to have to put in the password again, but don't necessary want to have to do an initial sync.
|
|
>
|
|
> This MSC aims to address [this issue](https://github.com/matrix-org/matrix-doc/issues/2853), where upon being soft-logged out, the homeserver doesn't tell the client *how* to log in again. A homeserver can have multiple methods of logging in (via a password, SSO, etc.). Yet a user is typically only tied to one of them. Thus, if you logged in via password login, then were soft-logged out, and tried to log in again via SSO... well you'd end up with a very confused client indeed!
|
|
>
|
|
> The solution is to allow access tokens that have been soft-logged out (but not yet deleted) to be provided to the [/login](https://spec.matrix.org/v1.9/client-server-api/#login) endpoint. When the server recognises that this is a soft-logged out client, it will tell that client only the one flow that it used to login. Thus there can be no confusion.
|
|
|
|
## Dept of Servers 🏢
|
|
|
|
|
|
|
|
### Synapse ([website](https://github.com/matrix-org/synapse/))
|
|
|
|
Synapse is a Matrix homeserver implementation developed by Element
|
|
|
|
[Andrew Morgan (anoa)](https://matrix.to/#/@andrewm:element.io) says
|
|
|
|
> This week we released [Synapse v1.102.0](https://github.com/element-hq/synapse/releases/tag/v1.102.0). This release fixes [a fairly annoying bug](https://github.com/element-hq/synapse/issues/16904#issuecomment-1977055249) introduced in Synapse v1.100.0 for mobile users (particularly iOS) in which notification counts were incorrect. Thanks for your patience there!
|
|
>
|
|
> Other bug fixes and performance improvements as well of course. See the link above for the full changelog.
|
|
|
|
## Dept of Clients 📱
|
|
|
|
### kazv
|
|
|
|
[nannanko](https://matrix.to/#/@nannanko:tusooa.xyz) announces
|
|
|
|
> kazv v0.1.1 has been released.
|
|
>
|
|
> ### Full Changelog
|
|
>
|
|
> #### Fixed
|
|
>
|
|
> * Make kazv run under Windows. <https://lily-is.land/kazv/kazv/-/merge_requests/68>
|
|
|
|
### SchildiChat ([website](https://schildi.chat))
|
|
|
|
SchildiChat is a fork of Element that focuses on UI changes such as message bubbles and a unified chat list for both direct messages and groups, which is a more familiar approach to users of other popular instant messengers.
|
|
|
|
[SpiritCroc](https://matrix.to/#/@spiritcroc:spiritcroc.de) announces
|
|
|
|
> This week, we published the first actual release of [SchildiChat Next](https://schildi.chat/android/next/), our fork of Element X for Android. While previously, you could already download bleeding-edge beta releases from my [testing F-Droid repository](https://s2.spiritcroc.de/testing/fdroid/repo/), this means we're now additionally starting to provide "stable" builds, that you can currently get either from [my main F-Droid repository](https://schildi.chat/android/next/install-from-sc-fdroid/) or from [Google Play](https://play.google.com/store/apps/details?id=chat.schildi.android). (Of course, even with the introduction of "stable releases", SchildiChat Next should still be regarded as some kind of preview, while we're still missing functionality from the old client, just like Element X has not replaced the old Element client yet.) So if you prefer less frequently updated but more thoroughly tested builds, or were waiting for a Play Store release, feel free to give it a try!
|
|
|
|
### Nheko ([website](https://nheko-reborn.github.io))
|
|
|
|
Desktop client for Matrix using Qt and C++17.
|
|
|
|
[Nico](https://matrix.to/#/@deepbluev7:neko.dev) says
|
|
|
|
> While there have been lots of theming fixes with the new plasma6 themes, I guess the most interesting change is that Nheko supports intentional mentions now. This means you can explicitly select who you want to notify and who not, when sending a message. This has a lot of weird interactions with the text input, so if you find any, please report how to reproduce them, so that we can fix them!
|
|
>
|
|
> With this change we should be compatible with Matrix 1.9 now, which means we bumped our maximum supported version appropriately. Before that we were stuck on 1.5, so this is basically a jump forward by a whole year! Such a small change and such a big step, one could probably make a good quote out of that one...
|
|
>
|
|
> Oh, and there is a new command to make your text glitch... Don't use it... it makes you text look bad!
|
|
>
|
|
> Anyway, a bit of offtopic in the end: I have seen surprisingly many mentions of people being happy with Nheko recently. I always appreciate those, so thank you for saying that out loud for me to notice!
|
|
>
|
|
> Have a nice day and I hope your cake will be plentiful!
|
|
|
|
### Moment ([website](https://mx-moment.xyz))
|
|
|
|
A Matrix client; forked from Mirage.
|
|
|
|
[Maze](https://matrix.to/#/@maze:mazie.rocks) says
|
|
|
|
> Release [0.7.5](https://gitlab.com/mx-moment/moment/-/releases/v0.7.5) of the [Moment](https://mx-moment.xyz/) client!
|
|
>
|
|
> Moment gains the ability to author spoilers add reactions to messages! As usual, we are focusing on keyboard-use, so in Moment, you add reactions by replying to a message with the `/react` command. A great idea, contributed by Ellie Clifford!
|
|
>
|
|
> We have also finally fixed those crazy graphical glitches, previously seen in many menu/settings screens!
|
|
>
|
|
> Other than that, we're just keeping up with our dependencies, so you shouldn't get compatibility issues when installing Moment on an up-to-date system.
|
|
|
|
### Element X iOS ([website](https://github.com/vector-im/element-x-ios))
|
|
|
|
A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+.
|
|
|
|
[Doug](https://matrix.to/#/@douge:matrix.org) announces
|
|
|
|
> * Room Filters, Mark as Favourite and Mark as Unread are finished and will be available in the next release.
|
|
> * Room Moderation features are nearing completion.
|
|
> * Auto-completion is being disabled in the message composer until we can fix the “death by scrabble“ bugs in the Rich Text Editor.
|
|
> * Legacy calls are now shown in the timeline and generate notifications.
|
|
|
|
### Element X Android ([website](https://github.com/vector-im/element-x-android))
|
|
|
|
Android Matrix messenger application using the Matrix Rust Sdk and Jetpack Compose
|
|
|
|
[Jorge](https://matrix.to/#/@jorgem:element.io) reports
|
|
|
|
> Following last week's RC, version `0.4.5` of the app has been publicly released on the Play Store.
|
|
>
|
|
> This week has been a really quiet one, focused on progressing through our ongoing work in several features that you can already test in the nightly version of the app:
|
|
>
|
|
> * Room moderation: you should now be able to change the roles of room members and promote and demote them as needed, from a new 'Roles and permissions' section in the room details screen. Note this is behind a feature flag you'll probably have to enable.
|
|
> * It's also possible to kick, ban and unban users from a room as long as you have the right power level.
|
|
> * The work on room filters continues, and we've been focused on tweaking the performance and UX for them.
|
|
> * We're also focusing on improving the localisation of the app: we've been working [on an tool](https://element-hq.github.io/element-x-android/) to quickly identify UI issues by comparing screenshots of the app in several languages. Please note it's under heavy development, so some parts of it may not be fully functional.
|
|
|
|
## Dept of SDKs and Frameworks 🧰
|
|
|
|
### Libkazv
|
|
|
|
[nannanko](https://matrix.to/#/@nannanko:tusooa.xyz) reports
|
|
|
|
> libkazv v0.3.1 has been released.
|
|
>
|
|
> ### Full Changelog
|
|
>
|
|
> #### Fixed
|
|
>
|
|
> * Make it build under windows. <https://lily-is.land/kazv/libkazv/-/merge_requests/68>
|
|
|
|
### Matrix Rust SDK
|
|
|
|
[bnjbvr](https://matrix.to/#/@benjib:element.io) says
|
|
|
|
> * It's now possible to get the unstable features of a server with `Client::unstable_features()`. Thanks to @hanadi92 for the patch!
|
|
> * One can now set a state store value without loading and returning the previous one. Thanks ben for the patch.
|
|
> * The UI Timeline now supports call invite events, showing such event as the latest room event too, if applicable.
|
|
> * The team keeps on focusing on the event cache, with PRs to extract the back-pagination logic from the UI timeline into the cache, and more preliminary work on storing events efficiently in memory and on disk.
|
|
> * and as usual, a few changes to the FFI, doc updates, and other goodies.
|
|
|
|
### Rory&::LibMatrix (.NET 8 matrix bot/client library/SDK)
|
|
|
|
[Emma [it/its]](https://matrix.to/#/@emma:rory.gay) reports
|
|
|
|
> Not too much to report on, mainly some work on HomeserverEmulator and light internal restructuring
|
|
>
|
|
> ## Changes
|
|
> * Restructured layout of git repos on [cgit](https://cgit.rory.gay/matrix)
|
|
> * Fixed all submodule references
|
|
> * Changed all submodules to clone over HTTPS rather than SSH (also using cgit.rory.gay where relevant)
|
|
> * Fixed READMEs for multiple repositories
|
|
>
|
|
> ## Additions
|
|
> * Added reference constants for error codes (You don't have to remember them off the top of your head anymore!)
|
|
> * Added a null check when trying to access event type with type=null
|
|
> * Changed `origin_server_ts` to be `long` instead of `ulong` (dotnet represents unix time as long)
|
|
> * HSE: merged state and timeline internally (where state is last event per type and state key, and statekey != null)
|
|
> * HSE: started implementing media repository
|
|
> * HSE: incremental sync should now work
|
|
> * HSE: explicit nulls should no longer be written on responses
|
|
> * HSE: non-implemented endpoints return `M_UNRECOGNISED` rather than `M_NOT_FOUND`
|
|
>
|
|
> _**And, as always:**_
|
|
>
|
|
> * The code is available at [cgit.rory.gay](https://cgit.rory.gay/matrix/LibMatrix.git)!
|
|
> - All contributions are more than welcome, be it documentation, code, anything! Perhaps, example usecases, bots, ...?
|
|
> * Discussion, suggestions and ideas are welcome in [#libmatrix:rory.gay](https://matrix.to/#/#libmatrix:rory.gay) (Space: [#mru-space:rory.gay](https://matrix.to/#/#mru-space:rory.gay))
|
|
> * Got a cool project that you're working on and want to share, using LibMatrix? Be sure to let me know, I'd love to hear all about it!
|
|
|
|
### Trixnity ([website](https://gitlab.com/trixnity/trixnity))
|
|
|
|
Multiplatform Kotlin SDK for Matrix
|
|
|
|
[Benedict](https://matrix.to/#/@benedict:imbitbu.de) reports
|
|
|
|
> Another small Trixnity release:
|
|
>
|
|
> features:
|
|
> * added more Regex
|
|
> * added `m.location`
|
|
>
|
|
> bugfixes:
|
|
> * fix that `Room::previousRoomId` is not set correctly on invite
|
|
|
|
## Dept of Ops 🛠
|
|
|
|
|
|
|
|
### matrix-docker-ansible-deploy ([website](https://github.com/spantaleev/matrix-docker-ansible-deploy))
|
|
|
|
Matrix server setup using Ansible and Docker
|
|
|
|
[Slavi](https://matrix.to/#/@slavi:devture.com) says
|
|
|
|
> Thanks to [FSG-Cat](https://github.com/FSG-Cat), [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy/) can now install [Draupnir for all](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-appservice-draupnir-for-all.md) (aka multi-instance Draupnir running in appservice mode).
|
|
>
|
|
> This is an alternative to [running Draupnir in bot mode](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-bot-draupnir.md), which is still supported by the playbook.
|
|
|
|
## Matrix Federation Stats
|
|
|
|
[Aine](https://matrix.to/#/@aine:etke.cc) says
|
|
|
|
> collected by [MatrixRooms.info](https://matrixrooms.info) - an [MRS](https://gitlab.com/etke.cc/mrs/api) instance by [etke.cc](https://etke.cc?utm_source=twim&utm_medium=matrix&utm_campaign=federation-stats)
|
|
>
|
|
> As of today, `9511` Matrix federateable servers have been discovered by matrixrooms.info, `2808` (`29.5%`) of them are publishing their rooms directory over federation.
|
|
> The published directories contain `20008` rooms.
|
|
>
|
|
> Stats timeline is available on [MatrixRooms.info/stats](https://matrixrooms.info/stats)
|
|
>
|
|
> [How to add your server](https://gitlab.com/etke.cc/mrs/api/-/blob/main/docs/indexing.md) | [How to remove your server](https://gitlab.com/etke.cc/mrs/api/-/blob/main/docs/deindexing.md)
|
|
|
|
## 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!
|