This Week in Matrix 2019-02-15
Matrix Live, Synapse roadmap and Synapse 0.99.1.1As you may have seen, Matrix Live this week features Neil and Matthew discussing the newly announced backend roadmap.
We also have Synapse v0.99.1.1 available, as the race to Synapse v1.0 gets closer and closer and closer!
Brendan also said, regarding low-bandwidth:
Some of the week has been spent finalising the components used in the low-bandwidth demo we did at FOSDEM. This required polishing some internal developments, which are now almost ready to be published to the wide world! This should happen in the next few days so stay tuned :)
Riot 1.0.0, and hotfix 1.0.1If you're following Matrix much at all, you will surely have seen it by now: Riot, the most popular client, has announced the v1.0 milestone. I won't reiterate the features and improvements here, but do check out the blog post, or just head over to https://riot.im/app and see for yourself!
Particularly exciting is the new encryption verification process, involving sharing a list of emojis out-of-band:
MSCs update provided by MSCBot
In Progress MSCsMSC1194.
Scheduling, holidaying and illness means no update from Riot Andorid this week.
- Last iteration on key backup UX
- Finish reskin
- Support Room v3 events ids
- Key import (manual or backup restore) has been optimised. It is now 30x > quicker
- An RC candidate will be available over the weekend
Artificial Intelligence Chat Bot tutorialI like this short series on creating a Chat Bot using textgenrnn:
- https://www.youtube.com/watch?v=O-wLKnB6JvU for getting started with the library,
- and https://www.youtube.com/watch?v=hRVVn-8CzXE to see the Matrix integration!
New(ish!) Python SDK: matrix-nioSince we haven't featured their work here at all I wanted to give some space to poljar. They've been working on a Weechat-Matrix protocol script, but as part of this project they created a new Matrix client library, matrix-nio, "designed according to sans I/O principles".
As if this wasn't enough! python-olm is a library providing Python bindings for Olm (enabling E2E encryption for Matrix.)
FluffyChat v11 previewFluffyChat is a pure QML Matrix client, designed to be used on smartphones running Ubuntu Touch. Krille, the author is working on:
boring refactoring stuff :-( at the moment to prepare everything for e2e encryption work. . .which seems to me not boring at all - we can expect, in the next few months, another Matrix Client with E2EE support, and on mobile!
In my role as editor of this particular blog post, I enjoy certain luxuries that others might envy. For example, today, I tried a new preview build of FluffyChat. This I installed on my barely-repaired OnePlus One running Ubuntu Touch 16.04.
FractalChris from Fractal:
Over the past week, Fractal has adapted its main view and room settings views for mobile phones, and implemented long-press for right-clicks on messages for touch devices. It's also received some changes in the backend to use the serde_derive Rust crate instead of parsing JSON by hand.
To celebrate tags being available again in riot-web, TravisR has created matrix-tag-manager:
If you're a power user which uses room tagging to organize your rooms, I've made a web UI for you: https://tags.t2bot.io/
mxisd v1.3.0 releasedMax:
mxisd v1.3.0 is out! This release brings the massive performance improvements, bug fixes and enchancements. This release also marks the two years anniversary of the project. Thank you to all our users for your undying support!
EdimCoder new room
krixano reports that:
I made a room for my ed-inspired modern line editor called EdimCoder. Come check it out at #edimcoder:amorgan.xyz!
avechoyuforia reports that:
a new bot avecho is created using the koma-library. It's a simple bot that echos text messages prefixed with avecho, but renders it into an image and include the sender's avatar.
Ananace's k8s docker image
Ananace reports that:
Pushed 0.99.1.1 for the K8s optimized docker image, going to stop building Python 2 images after 1.0.
Half-Shot's .NET SDK
Half-Shot reports that:
More improvements to the .NET sdk, to make it stable in this 0.4.0 world. To that end, I've written a room archiver app (for moving "old" rooms into a archive tag without removing them) and a simple caching project for bridges https://github.com/Half-Shot/matrix-cache. Progress as always can be followed in #dotnet:half-shot.uk
mautrix-telegram now at 0.5.0rc2tulir has been working on the venerable Matrix<->Telegram bridge, mautrix-telegram:
mautrix-telegram got a bunch of changes and a release candidate.\\nMain changes this week:Get release notes for v0.5.0-rc1 and v0.5.0-rc2.
- Added Matrix room upgrade handling
- Fixed bugs
- Added new admin commands and config options
- Added new bugs to fix later
- Stopped using the ORM part of SQLAlchemy
QMatrixClient project: libQMatrixClient and Quaternionkitsune finds time to work on QMatrixClient!
QMatrixClient project has been busy merging PRs from contributors (close to tray and middle-click in room list and user list, to mention a couple) and streamlining the translation process before the upcoming releases of libQMatrixClient 0.5 and Quaternion 0.0.9.4. At the same time the feature branch to support room versions and room upgrades is at an advanced stage; expect the features to land in master next week.
matrix-archive-keyringLinda has been working on new Debian package called
I've paused porting Synapse to OpenBSD this week, while I attempt to both fix and revert some security issues caused by
sudo apt-key addfor Matrix.org and Riot.im packages for Debian-based GNU/Linux distribution users.
matrix-org/synapse PR #4609 was my first attempt to fix the problem, however I fell short this time in ease-of-use and my implementation had other issues. (Read: The
repo-key.ascdownloaded from Matrix.org Debian repository should go to
/usr/share/keyrings, and must not be added by
apt-key addor added to
/etc/apt/trusted.gpg.ddirectly. I attempted the latter with my first PR; but that would've allowed the Matrix.org signing key to also be used to verify packages from Debian's main repositories. Yikes!)
As my second attempt, I'm now creating a new Debian package called
matrix-archive-keyring. There's multiple things this package intends to do:
- A post-install script to remove any previously added Matrix.org package signing keys from
/etc/apt/trusted.gpg. (This is the file
apt-key addmost commonly uses, and the most commonly found bad advice on the Internet.)
repo-key.ascto a de-armorized
.gpgformat, understood better by apt(8). (Essentially,
- Install the converted
- Make sure
apt(8)uses the newly added key for Matrix.org repository only?
- Deliver any updates to
repo-key.ascdirectly to you via
apt upgrade. Your operating system might then also do it automatically for you if
unattended-upgrades(8)is installed on your system. ?
- Make sure everything goes away when this keyring package is uninstalled. No more
sudo sh -c 'apt-key del C35EB17E1EAE708E6603A9B3AD0592FE47F0DF61; rm /etc/apt/sources.list.d/matrix-org.listto get rid of the repository.
I have one more interesting enhancement to disclose.
We can ask you with
debconfif you want to install
deb https://matrix.org/packages/debian $(lsb_release -cs) mainto
/etc/apt/sources.list.d/matrix-org.listwhile you're installing the new keyring with
apt install matrix-archive-keyring.
You'll most likely notice the difference in install instructions, as a result of this package. Before and after:
# Before sudo apt install -y lsb-release curl apt-transport-https echo "deb https://matrix.org/packages/debian `lsb_release -cs` main" | sudo tee /etc/apt/sources.list.d/matrix-org.list curl "https://matrix.org/packages/debian/repo-key.asc" | sudo apt-key add - sudo apt update sudo apt install matrix-synapse-py3
# After sudo apt install matrix-archive-keyring sudo sh -c 'apt update && apt install matrix-synapse-py3
If you are a Debian or Ubuntu user and Synapse homeserver operator using Matrix.org repositories, I'll be towncrying when this package becomes available as much as I can. All you should need to do then is
apt install matrix-archive-keyringand it should patch the security holes in your operating system if you've formerly installed packages from Matrix.org or Riot.im! (The command may change a bit, because next Debian operating system release "Buster" has entered soft-freeze just today (2019-02-12) and not accepting new packages into that release.)
PS: I'm at #debian-matrix:matrix.org, please come talk to us if Debian packaging interests you!
For the eager early testers not afraid of building from source,
2015.12.09+debian0.10is available for early testing (attached).Please follow Debian Bug#922155 for updates. Debian binary packages will be available later sometime this/next week from Debian's
# Something like this! sudo apt install devscripts tar -xfvJ matrix-archive-keyring_2015.12.09+debian0.10.tar.xz cd matrix-archive-keyring_2015.12.09+debian0.10 debuild -us -uc sudo dpkg -i dpkg -i ../matrix-archive-keyring_2015.12.09+debian0.10_all
contrib), if all goes well and there are no remaining Debian policy violations or serious bugs.
Gridepo, as a Matrix Homeserver, is gaining basic support for Matrix Client API. We have basic login, room creationg, message sending and sync working! A little screen recording of the progress can be viewed here for live action with Riot. As a reminder, Gridepo is a clean rewrite of mxhsd.
This is not usable yet outside of a dev environment but we should have a first usable version with federation in a couple of weeks!