This Week in Matrix 2019-02-15
16.02.2019 00:00 β This Week in Matrix β Ben ParsonsπMatrix Live, Synapse roadmap and Synapse 0.99.1.1
As 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.1
If 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:
thank you @matrixdotorg @RiotChat - with the new update the office is full of people yelling names of emoji at each other
β Russell Currey (@russelldotcc) February 15, 2019
πMSCs update provided by MSCBot
πIn Progress MSCs
Work has continued on trying to resolve MSC1194.πRiot iOS
- 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
Scheduling, holidaying and illness means no update from Riot Android this week.
πArtificial Intelligence Chat Bot tutorial
I 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-nio
Since 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 preview
FluffyChat 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.
π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.
πmatrix-tag-manager
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 released
Max:
mxisd v1.3.0 is out! This release brings the massive performance improvements, bug fixes and enhancements. 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!
πavecho
yuforia 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.
π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.0rc2
tulir 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:
- 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
Get release notes for v0.5.0-rc1 and v0.5.0-rc2.
πQMatrixClient project: libQMatrixClient and Quaternion
kitsune 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-keyring
Linda has been working on new Debian package called matrix-archive-keyring
:
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 add
for 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: Therepo-key.asc
downloaded from Matrix.org Debian repository should go to/usr/share/keyrings
, and must not be added byapt-key add
or added to/etc/apt/trusted.gpg.d
directly. 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 calledmatrix-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 fileapt-key add
most commonly uses, and the most commonly found bad advice on the Internet.) - Convert
repo-key.asc
to a de-armorized.gpg
format, understood better by apt(8). (Essentially,gpg --dearmor
.) - Install the converted
.gpg
key to/usr/share/keyrings
. - Make sure
apt(8)
uses the newly added key for Matrix.org repository only? - Deliver any updates to
repo-key.asc
directly to you viaapt upgrade
. Your operating system might then also do it automatically for you ifunattended-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.list
to get rid of the repository.
I have one more interesting enhancement to disclose.
We can ask you withdebconf
if you want to installdeb https://matrix.org/packages/debian $(lsb_release -cs) main
to/etc/apt/sources.list.d/matrix-org.list
while you're installing the new keyring withapt 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-keyring
and 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,
matrix-archive-keyring
version2015.12.09+debian0.10
is available for early testing (attached).# 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
Please follow Debian Bug#922155 for updates. Debian binary packages will be available later sometime this/next week from Debian's
unstable
distribution (contrib
), if all goes well and there are no remaining Debian policy violations or serious bugs.See also:
- vector-im/riot-web issue #6470: [website] change instructions for adding .deb repository key
- DebianRepository/UseThirdParty at Debian Wiki",
πGridepo
Max again:
Gridepo, as a Matrix Homeserver, is gaining basic support for Matrix Client API. We have basic login, room creation, 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!
πMention Bots page
We have a new location for listing bots: https://matrix.org/docs/projects/bots, message benpa with any you think should be included!
πThat's all I know
That's all we have for now, but come join us in #twim:matrix.org to share your project and share the fun, and I'll see you back here next week.