This Week in Matrix 2019-07-26

2019-07-26 — This Week in Matrix — Ben Parsons

Matrix Live - demos!

We had a great demo session this afternoon, unfortunately the recording quality for some of the items was not good enough to share - and it was interesting stuff too! I cut everything from the RiotX and Riot iOS sections - but we'll make it up to you by getting more news from those projects soon.

Dept of Status of Matrix 🌡

Matthew informed the community:

We're getting more and more folks reaching out for paid help setting up smaller self-hosted Matrix deployments. The core team has its hands full currently with helping out with larger deployments; so if anyone reading this wants to offer paid support to those getting up and running on Matrix then please make us aware so we can potentially route inquiries to you.

This is a great step for Matrix, and a great opportunity for you the reader! There are already several people prepared to start work on Matrix-related endeavours, but the fact that there is more work coming in than we can currently route is amazing. If you'd like to be on an informal shortlist, contact [email protected], or come chat to me directly.

Dept of Servers 🏢

Synapse

So said Neil, who oversees the Synapse-makers:

This week we shipped two new versions, 1.2 (https://matrix.org/blog/2019/07/25/synapse-1-2-0-released) and 1.2.1(https://matrix.org/blog/2019/07/26/critical-security-update-synapse-1-2-1-released). 1.2.1 contains critical security updates, the bugs are long lived and not regressions introduced in 1.2 so all admins are encouraged to upgrade asap.

We’ve also been having some success in improving database performance and hope to ship that rsn so everyone can benefit.

Next week

We’ll continue on db perf, improving logging verbosity (through recategorising some log lines) and generally looking to improve the experience for those admins running on smaller instances.

Ruma

Jimmy released TWIR:

GSOC project: Matrix Visualisations 🎓

Eisha:

The GSoc project “Matrix Visualisations” has continued its progression during the second period:

A “multi-view” has been implemented for the frontend application. It means that it is now possible to independently view multiple DAGs at the same time in the same canvas. It can be useful for observing the same DAG but on different HS’s, at the same time. The only current limitation is that you have to use the same backend for every view (with CS API or with the backend talking to a Synapse PostgreSQL database). This change took a long time as it required to make a lot of changes in the code.

The implementation of the support of the Federation API within the backend is in progress. It is slowly progressing as it needed some discussion before starting the work on it and its implementation requires me to become familiar with a lot of new things, regarding the federation process and the authentication of requests between HS’s.

Dept of SDKs and Frameworks 🏗

matrix-shell-suite taking feature requests

darnir:

Hey, I'd like to put out a call to everyone out there. If there's any script people desire for interacting with matrix homeservers, the #matrix-shell-suite:matrix.org project is taking feature requests.

Olm SAS interface for RubyOlm

Willem:

I had the code laying around for quite a while, but I just completed the Olm SAS interface for my fork of RubyOlm. It also includes interfaces for generating the emoji! 😀

Dept of Clients 📱

Pattle 0.10.0

I've been playing with Pattle 0.10 and have to say, it feels silky smooth to scroll with. It's really making me look again at Flutter development.

From Wilko, project lead:

A new version has been pushed to F-droid and TestFlight!

Note that for TestFlight the new version will be available in a few days.

  • Improve scrolling through chat messages!
    • Messages are now paginated under the hood, before the whole message list was rebuild when loading more messages, causing a jittery scrolling experience.
  • Support typing notifications!
    • Typing notifications are shown and send while typing.
  • Add chat settings screen
    • Currently you can see the chat name, avatar, description and members. More will be added in the future.
    • You can go to the chat settings screen by clicking on the title of the chat. This'll probably change in the future (at least to be easier).
  • Reverse swipe direction of images (thanks Nathan!)
  • Fix ripple not showing on send button
  • Make UI refreshing more efficient
  • The App Store (iOS) name is now 'Pattle' instead of 'Pattle IM'
  • When a chat is open, the UI will only be rebuild if that chat has updates.
  • Lot's of code clean ups and improvements, mostly in the SDK

What's coming up?

  • A release on Google Play!
  • A release on the official F-droid repo!
  • Remove Cupertino specific styling on iOS
    • Will now use Material Design, but altered for iOS. Having the discrepancy between Cupertino and Material was also the reason why some things didn't show up in iOS or why some things would be blue instead of the Pattle red.
  • Notifications!? (F-droid)

Follow development in #app:pattle.im!

Pattle 0.10

Spectral introduces support for reactions

Black Hat:

Reaction support is coming to Spectral!

Reactions in Spectral

Riot Web

From the team:

The edit history of a message now shows differences also for formatted (html) messages.

Riot iOS

From the team:

  • Reactions: We have now an Emoji picker and the screen that displays who reacted
  • Soft logout fully implemented

Riot Android

From the team:

  • New release of Riot (0.9.3) to fix crash on Android 4.x
  • The package is bigger because we embed both 32bits and 64bits, which is now required by Play Store

RiotX (Android)

From the team:

  • Room screen: Manage cancel/resend of unsent messages
  • New DM room creation flow
  • Room upgrade support

Dept of Encryption 🔐

New Pantalaimon release

poljar told us:

Pantalaimon got a new release. This release brings experimental support for search in E2E encrypted rooms, performance improvements in the database department, better support for true headless mode for all the bot lovers, and of course the usual bug fixes and small improvements.

Dept of Bridges 🌉

matrix-appservice-slack

Half-Shot announced:

0.3.1 of the slack bridge is out with a few bugfixes

Be sure to watch Cadair provide a demo in the Matrix Live video above.

Picard Bot (slack bridging)

Cadair:

SolarDrew and I have been working on re-writing our Picard Bot for a conference next week. Picard helps you bridge between a slack team and a matrix community.

This second version of Picard adds support for reacting to creation of new rooms on slack in real time as well as implementing a set of commands for creating new bridged rooms from either matrix or slack. In addition to this, Picard has matrix commands for inviting you to all the bridged rooms in the communtiy and automatically inviting you to new rooms as they are created. Finally, we have added support for sending welcome messages to all new members of your slack team or matrix community in a DM with the bot, which we are using to explain the chat setup to users and giving them a private place to issue commands.

This is uses matrix-appservice-slack for actually sending events in bridged rooms, and PIcard itself is a skill for the opsdroid bot framework #opsdroid-general:matrix.org and uses the matrix-database plugin for opsdroid which uses matrix room state to back the opsdroid memory.

mx-puppet-bridge, new bridge: mx-puppet-instagram

The work on mx-puppet-bridge things continue! The core library and the implementation received some bugfixes, however, a new bridge is there: mx-puppet-instagram. Currently it supports

  • Auth currently only by username+password :(
  • basic message sending
  • I->M photoes, voice messages, animated image thingies
  • M->I images
  • M->I files as links only

mautrix-whatsapp

tulir has been putting a lot of time into WhatsApp bridging lately, the bridge is more stable than ever:

There's a mysterious new mautrix-whatsapp branch. Related to that, I made a spec proposal and a synapse PR to allow appservice bots to use /sync.

GSoC Project: Reliable Bridges

Thanks for this update from Kai:

It's all coming together now. While all pieces of the puzzle were roughly there, now they are put into the big picture.

The bridge SDK PR has been merged to develop, now providing bridges the benefit of error reporting. The modifications to the SDK are non-breaking, but activation of the feature requires small changes to the bridge using it. But be warned, everything is still under an unstable prefix and rightly so – the implementation is still subject to change.

The MSC didn't get much love in public, but the concepts required to evolve it are taking shape. It was contemplated to piggyback on MSC 1410: Rich Bridging and to add a retry mechanism. So heads up for more to come on this front.

The display of bridge errors in Riot Web is now a PR and in the state of getting its last few kinks removed. It will start to be available under a lab flag soon.

With everything getting to play together nicely, there will be the first rooms enabling bridge errors to test the code in the wild. Stabilizing the code for everyday use and getting the MSC into a respectable form are the next goals for the project. Those will help in fostering broader adoption among bridges and clients.

Dept of Ops 🛠

k8s images

Ananace made sure everything is up to date for Synapse with 1.2.1 images now available.

Dept of Identity 🛂

ma1sd, identity server forked from mxisd released

ma1uta has been working on ma1sd, a fork of the discontinued mxisd:

ma1sd (https://github.com/ma1uta/ma1sd) is released. ma1sd is a fork of the discontinued mxisd (https://github.com/kamax-matrix/mxisd) is a federated Matrix Identity Service.

Changes:

  • rename the application name, configuration options to ma1sd. Internal names, packages still use old name mxisd
  • bump some dependencies to the latest versions
  • add openjdk-11 dependency for debian package due to debian 10 doesn't include openjdk-8 (yep, ma1sd can work with java 11).

Downloads:

Feel free to ask me questions about ma1sd in #ma1sd:ru-matrix.org

Final thoughts 💭

kitsune: "the latest versions of libQMatrixClient (0.5.2 - still under the old name) and Quaternion are now available in Debian unstable, thanks to uhoreg"

That's all I know 🏁

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