This Week in Matrix 2020-12-30

2020-12-30 — This Week in Matrix — Ben Parsons

Dept of Status of Matrix 🌡️

The Matrix Holiday Special 2020

If you didn't read it already, I encourage you to read Matthew's Matrix Holiday Special 2020 post. So much has happened this year!

Oleg responded:

Great summary! Very inspiring!

I have a feeling experiencing a revolution in how people perceive messaging. Now, public sector and multiple communities adopting Matrix, one cannot think of a world without Matrix any more.

Kudos to the Element team and to the wonderful Matrix community! ♥️

I'm very excited for the FOSDEM on Matrix!

Andy added:

What a wonderful year has been for matrix, and it looks like next year will be equally as exciting. I'm HYPED.

Honestly, I'm hyped too. Simple statements like "loads of different universities have rolled out Matrix for collaboration" don't quite capture how much work is going on, and how much excitement there is to get the growth in the network we're soon to see.

Homeserver versions graphs

Chris offered:

For the first time (since recording the homeserver stats from Feb 2019) a non-synapse homeserver is now in the top 15 deployed homeserver versions: Welcome Dendrite 0.3.4: https://graph.settgast.org/d/z1nplqXik/matrix?orgId=1

How exciting is that! If you haven't already, do check out some of the history on these charts - big thanks to Chris for making this available.

Homeserver Deployment 📥️

Ansible-Dendrite

jaywink announced:

Created a new Ansible role to easily install a Dendrite server. Currently only tested on Ubuntu 20.04 with Ansible 2.9. Uses Docker to maintain a monolithic Dendrite. Requires but does not include PostgreSQL. Designed to easily be used with Traefik as reverse proxy.

https://git.feneas.org/jaywink/ansible-dendrite

Dept of Bridges 🌉

mx-puppet-groupme

Robin told us:

Not to be confused with matrix-puppet-groupme, mx-puppet-groupme is a fancy new GroupMe bridge with support for as many features as the web client would let me get my hands on. Please try it out, and let me know on GitLab or Matrix if you have any issues or suggestions! 💜

Thanks for sharing Robin!

Dept of Clients 📱

NeoChat 1.0

Tobias Fella said:

The KDE Community is excited to announce the first release of NeoChat, a Matrix Client based on Spectral and libQuotient. With the power of Qt and KDE Frameworks, NeoChat currently runs on mobile and desktop Linux devices, Android and Windows. You can read more about NeoChat and how to get it at https://carlschwan.eu/2020/12/23/announcing-neochat-1.0-the-kde-matrix-client/

Congrats on the 1.0! I think we'll hear much more from the team next year. 🎉

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) reported:

We finally fixed the Windows build, so there are nightlies on Windows again! Also lorendb finished his profile work, which means that if you were using custom profiles before on one of the nightlies, you may need to login again, but the whole code is a lot cleaner now.

Dept of SDKs and Frameworks 🧰

libQuotient

kitsune reported:

Version 0.6.3 is out, another bugfix release on the stable branch. Nothing too significant, but .well-known-unaware homeservers should be treated better, and Matrix identifiers with special characters (ahem, slashes) can now be turned to valid URIs (matrix.to or proper Matrix URIs). Also, room tags starting with a . are no more considered valid, you'll get u. prepended to them.

Dept of Ops 🛠

matrix-docker-ansible-deploy

This Ansible playbook is meant to easily let you run your own Matrix homeserver.

Slavi offered:

matrix-docker-ansible-deploy now defaults to using the Postgres database engine for all bridges, bots and related services (ma1sd, Dimension, etc).

Previously we were only using Postgres for Synapse and couldn't reuse the same database server for other services.

With this huge pull request, we've added Postgres support to 17 other services.

Thanks to Johanna Dorothea Reichmann for starting the work on it and for providing great input!

Existing installations will get automatically migrated from SQLite/nedb to Postgres the next time you run the playbook.

Not only does this bring better performance and compatibility, but also, being able to reuse the same Postgres database for services other than Synapse paves the way for us to introduce other Postgres-only services such as Dendrite, the mautrix-signal bridge (existing pull request), etc.

For more information, refer to our changelog entry.

Dept of Bots 🤖

Timetracking Bot

MTRNord said:

We released v0.3.0 🎉 Feel free to follow development at #timetracking-bot:famedly.de or https://gitlab.com/famedly/bots/timetracking .

Also checkout the ansible role for the timetrackingbot: https://gitlab.com/famedly/ansible/collections/matrix/-/tree/main/roles/timetracking-bot

Changelog

Fixes

  • Print !in and !out responses in correct timezone

  • Make sure that we use the stores correctly

  • Make sure that "in" in the times table is not a primary key to allow multiple people at the same time to log in

  • Overall stability improvements

Features

Chore

  • Dependency Updates

  • Add DB indices

Breaking changes

See https://gitlab.com/famedly/bots/timetracking/-/blob/v0.3.0/UPGRADING.md

Middleman

kapina-jaywink told us:

Common accounts for support are tricky to handle due to needing the people using those accounts to keep separate clients open to use the common account. For this at Elokapina we created Middleman, which acts as a proxy between an account and a room.

It's a bit basic but works pretty well for pure text messages. Any messages in rooms where the bot is are relayed to the management room and any replies to those messages (prefixed with !reply) in the management room are relayed back. Optionally senders can be anonymised to enable a feedback bot.

Coming up is more configuration on for example ignoring non-mentions in rooms with lots of members and hopefully support for images and reactions in the not too long future.

Find it here: https://github.com/elokapina/middleman (built with nio-template).

2020-12-30-MVAuG-demo.gif

GDQBot

daenney said:

With Awesome Games Done Quick 2021 Online starting on the 3rd of January the bot will now announce when an event is about to start in channels it's in.

If you don't want to run your own, you can invite @gdqbot:ecef.xyz or come hang out in #gdq:ecef.xyz.

Hopefully we'll also have donation tracking squared away before the start of the event.

Final Thoughts 💭

Nico (@deepbluev7:neko.dev) reported something interesting:

Threema published the source code for their apps this week: https://threema.ch/en/open-source

While that is not strictly Matrix related, it is great to see other E2EE enabled chat systems publishing the source code for their clients. It's the only way to verify their encryption actually works and is secure.

This move was announced a while ago, but I think that it actually happened now deserves a small shoutout! 🎉

Quite right! Though Matthew, thought the news needed to be put into proper context:

it’s almost like they’re scrabbling to keep up with matrix ;)

:D

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.

RankHostnameMedian MS
1tchncs.de259
2envs.net432
3maescool.be501
4matrix.sp-codes.de832
5flobob.ovh833
6aria-net.org1130
7libre.bzh1159.5
8uraziel.de1706
9matrix.weebl.me1728
10mailstation.de2017

That's all I know 🏁

Good grief, what a year. Exciting but I'm not sure I can fit it all in my head!

See you next week (2021-01-08: Friday!), and be sure to stop by #twim:matrix.org with your updates!