matrix.org/content/blog/2023/12/2023-12-22-twim.md

18 KiB

+++ date = "2023-12-22" title = "This Week in Matrix 2023-12-22" path = "/blog/2023/12/2/this-week-in-matrix-2023-12-22"

[taxonomies] author = ["Thib"] category = ["This Week in Matrix"]

[extra] image = "https://matrix.org/blog/img/matrix-logo.png" +++

Matrix Live

{{ youtube_player(video_id="ejpjTZhL8MA") }}

Dept of Status of Matrix 🌡️

Matrix Community Year In Review 2023

Nico announces

(Please ignore, that I never know, what year number to attach to such a "Year In")

You may remember I organized a small blog post last year to collect stories from the different community projects and what they did in the year and maybe some sneak peaks at the next year. If not, you can find it here or on the Matrix.org blog.

Anyway, enough about 2022, I now encourage you to talk about 2023 and beyond! If you have interesting stuff to report about your projects or projects you have been involved in in 2023, feel free to join #year-in-2023:neko.dev and talk about it! The usual TWIM rules apply there, just that we talk about a whole year and it may involve lots of manual editing on my side, so don't try to break it. Also please be positive in your news and lets try to end 2023 with a bang!

And please share this with projects you want to hear about. :)

Dept of Spec 📜

TravisR 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:

MSCs in Final Comment Period:

  • No MSCs are in FCP.

Accepted MSCs:

  • No MSCs were accepted this week.

Closed MSCs:

Spec Updates

There hasn't been a whole lot of spec progress this month due to holidays and other time constraints, but we have been hard at work preparing for the new year's first release: Matrix 1.10. Expected sometime late February to March 2024, Matrix 1.10 will hopefully bring a lot of forward movement on major projects like Extensible Events, Custom Stickers & Emoji, and Authenticated Media.

Our plan is published here, and is open for comment until about January 10th, 2024 - let us know if we missed anything, or if there's something unexpected there!

As always, if you have an MSC which is ready for FCP and not on the plan, let us know in #sct-office:matrix.org - we'll aim to get it included.

Thanks, and see you all in January :)

(P.S.: no random MSC of the week because I can't get the script to run - sorry)

Dept of Clients 📱

Nheko (website)

Desktop client for Matrix using Qt and C++17.

Nico announces

Hey there! I was basically blown away the last few days (because of the weather though), but maybe these small changes will have the same effect for you!

Emma (not that Emma, the other one!) enabled deletion of sticker and emoji packs in Nheko. I never thought about it, but some people might genuinely want to remove an old pack from a room! I guess that is the kind of polish, that a feature needs, once people have used it for a while and that is easy to miss at the start. Thanks a lot!

On the other hand q234rty modified our workaround to palette switching to have less of a performance impact on KDE6. If you were using the development versions of KDE6 (like plasma 6 or just its themes), it might have taken up to 7 seconds to open a new window. Now it should be less than one. Sadly the workaround itself is still needed, but we might figure out how to fix it properly some day.

Apart from that we finally figured out how to make our appinstaller work properly. Turns out you really need range requests in your file store! And Microsoft documentation is as good as ever! If you want to install the latest Nheko Nightly on windows, you can now just click here. Note that the icon still has a blue background there. Microsoft requires us to add 2 more app icons to allow us to make the background transparent and I really am not motivated to do that at this point in time... But installing Nheko that way will automatically check for updates one a week. Of course that means you will ping our servers once a week, so if you want to avoid that, please install the msix directly instead of going through the appinstaller.

That's everything for this year, see you in the next one! 🎉

Fractal (website)

Matrix messaging app for GNOME written in Rust.

Kévin Commaille says

Let's celebrate the winter (or summer) solstice with a new Fractal beta release! Even though Fractal 5 was released only 1 month ago, development has been going at a steady pace with a few new contributors, so we want our users to benefit from our progress.

The staff's picks:

As usual, this release includes other improvements, fixes and new translations thanks to all our contributors, and our upstream projects.

It is available to install via Flathub Beta, see the instructions in our README.

As the version implies, there might be a slight risk of regressions, but it should be mostly stable. If all goes well the next step is the release candidate!

If you find yourself with time to spare during these end-of-year holidays, you can always try to fix one of our issues. Any help is greatly appreciated!

Dept of Non Chat Clients 🎛️

Circles (website)

E2E encrypted social networking built on Matrix. Safe, private sharing for your friends, family, and community.

cvwright says

Circles is an encrypted social networking app for families and friends. It is currently in open beta testing and will be launching early in 2024.

This week we released our biggest beta update yet on iOS. Circles iOS v0.9.0 (27) is available now on TestFlight and includes a long list of new features and UI improvements, including:

  • Better navigation with less wasted space on iPhone
  • New "pull down to refresh" on most screens
  • More responsive UI for invitations
  • Show search suggestions when inviting friends to a new circle or group
  • Better UI for finding friends of your friends and inviting them to follow you

Source code and more information are available from the FUTO Gitlab

Dept of SDKs and Frameworks 🧰

elm-matrix-sdk

Bram says

This week, beta version 2.0.0 of the Elm SDK has been published!

That might sound a bit quick since beta version 1.0.0 was released last week - but in Elm, the compiler decides the version bump, not the marketing team. If you're curious what exactly happened that forced this major version bump, feel free to join the conversation at #elm-sdk:matrix.org!

This week, I would love to get your feedback on customizability. 🎚️ We released a Matrix.Settings module which allows you to configure the Vault with certain variables. Take a look at the current two settings and please let me know what else you'd like to configure in an SDK before it starts talking to your homeserver.

Trixnity (website)

Multiplatform Kotlin SDK for Matrix

Benedict announces

I introduced a bot mode in Trixnity v4.1.1. It disables many features of the MatrixClient and speeds it up significantly. It can be used for E2EE-enabled event processing. First integration tests showed a processing time of less than 1 ms per encrypted event in a sync (on my notebook).

features/improvements:

  • introduce bot mode
  • add Kotlin/JS ByteArrayFlow helpers for Streams

bugfixes:

  • fix decrypt olm bug: device_one_time_keys_count has been processed before decryption -> one time keys were removed and could not be used for decryption

matrix-rust-sdk (website)

Next-gen crypto-included SDK for developing Clients, Bots and Appservices; written in Rust with bindings for Node, Swift and WASM

Jonas Platte reports

Matrix Dart SDK (website)

Matrix SDK written in pure Dart.

td reports

Matrix Dart SDK website

Nothing exciting this week as everyone glides into vacation mode, but we had a (very small) breaking change so here I am :D

v0.25.0

If you used any of the Timeouts values from the sdk in your client, they are now renamed to something a bit more sensible (CallTimeouts).

otoh we had some sweet internal changes like finally having tests for calls in the sdk! Here's the whole changelog

Dept of Ops 🛠

Dendrite-Admin-Interface

jjj333_p [envs variant] reports

A project has been begun to make interfacing with Dendrite's admin endpoints easier has been begun. Currently administration of a Dendrite server requires interfacing with http endpoints (using curl or similar), and it is still essential to read directly from PostgreSQL in order to fetch some of the information necessary to properly maintain a public homeserver. The goal of Dendrite Admin Interface is to simplify this and add functionality by allowing admins to interface with these endpoints and read only operations of the database using simple bot commands in a dedicated administration room.

This project is still in the baby stages, and only the evacuateRoom endpoint has been implemented, however most of the base code has been begun and development is picking up speed. If you are interested in contributing or learning more please visit our GitHub: https://github.com/jjj333-p/dendrite-admin-interface

Dept of Bots 🤖

OpenAI Translate Maubot Plugin

Tom Foster reports

v0.3.0

This is a simple GPT-based alternative to Maubot's Google Translate plugin to help people understand each other. 🤝

As we connect across different cultures and languages, understanding each other is crucial, and this bot is designed to help cross those barriers, making it possible to understand even very technical or nuanced messages in other languages.

I've configured over 200 language codes so far, including extended IETF codes like en-gb, fr-ca, pt-br, even nds for Low German (Plattdütsch), and so far the results are noticeably more natural and fluent than the Google equivalent, so I'm excited to see what the community does with it. 🚀

Considering the API has a cost, I've optimised the default prompt to minimise token usage, and added rate-limiting options so you can limit the requests each user can make over a given period of time to minimise abuse.

Through actual usage across several public rooms this week, I've observed an average of only about 45 input tokens and 15 output tokens per request. In real terms, that's just over 133 translations for $0.01 using the gpt-3.5-turbo model, making it a very cost-effective solution for communities of almost any size! 💸👍

You can add your own custom language codes (it comes with en-cockney and lotr-sindarin as examples) and even use an alternative API if you have an OpenAI-compatible endpoint to use.

Visit the releases page to give it a whirl, contribute, or drop some feedback - I'm eager to make this as easy and flexible as possible, so would love to hear your suggestions! 🔧

Matrix Federation Stats

Aine says

collected by MatrixRooms.info - an MRS instance by etke.cc

As of today, 8423 Matrix federateable servers have been discovered by matrixrooms.info, 2241 (26.6%) of them are publishing their rooms directory over federation. The published directories contain 168349 rooms (such difference with previous week is due to the enabled automatic retention policy in MRS for unpublished/removed rooms)

How to add your server | How to remove your server

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.

#ping:maunium.net

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 maunium.net 294
2 nerdhouse.io 334
3 plocki.org 343
4 fostered.uk 364
5 grmml.de 407.5
6 matrix.its-tps.fr 693
7 intelfx.name 996
8 matrix.sp-codes.de 1261
9 mailstation.de 1277
10 norrland.xyz 1583

#ping-no-synapse:maunium.net

Join #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 nerdhouse.io 163
2 spqr2gang.com 171.5
3 dendrite.matrix.org 198
4 dendrite.s3cr3t.me 226
5 matrix.its-tps.fr 240.5
6 fostered.uk 287
7 kanp.ai 631
8 conduit.grich.sk 776.5
9 darkness.services 1251
10 l1qu1d.net 2138.5

That's all I know

See you next week, and be sure to stop by #twim:matrix.org with your updates!