This Week in Matrix 2019-02-08

2019-02-08 — This Week in Matrix — Ben Parsons

Huge week! Let's go!

Matrix Live: Riot Redesign Chat (2019-02-08 - Season 3, Episode 13)

Riot-web new version coming out so soon. So soon! It looks and runs great, you can use it today at https://riot.im/develop. Includes a labs flag for displaying custom tags, which I love. Watch the vid.

FOSDEM 2019

FOSDEM happened.

  • two Matrix-themed packed-room talks
  • lots of people coming to chat at the stall to say things like "hi" or "I like Matrix" or "what is Matrix? … wow that sounds amazing, how can I get involved?"
  • 1000s of stickers decentralised out of my bag onto people's laptops
If you didn't yet, take a look at the summary blogpost, which also contains videos of both talks.

Synapse 0.99.0

With the release of Server to Server Spec r0.1, Synapse 0.99.0 is shipping now.
Synapse 1.0.0 will be compliant with r0.1 and the goal of Synapse 0.99.0 is to act as a stepping stone to Synapse 1.0. Synapse 0.99.0 supports the r0.1 release of the server to server specification, but is compatible with both the legacy Matrix federation behaviour (pre-r0.1) as well as post-r0.1 behaviour, in order to allow for a smooth upgrade across the federation.
It is critical that all admins upgrade to 0.99.0 and configure a valid TLS certificate. Admins will have 1 month to do so, after which 1.0.0 will be released and those servers without a valid certificate will no longer be able to federate with >= 1.0.0 servers.

Please read the announcement post and be sure to come and chat in #synapse:matrix.org if you need help!

GSOC 2019


Cadair has been helping admin this year's GSOC application:
Matrix.org has applied to be a GSOC (Google Summer of Code) mentoring organisation. If your matrix project has a feature a summer student could tackle and you have the time to mentor them over the summer, why not add a project idea to our website by submitting a PR to this repo. Feel free to ask questions in #gsoc:matrix.org as well.

Latest MSCs

Approved MSCs

In Progress MSCs

matrix-puppet-hangouts 0.1.0 released, with bidirectional image support

tom reports that:
matrix-puppet-hangouts version 0.1.0 has been released!
This release adds bidirectional (Hangouts -> Matrix and Matrix -> Hangouts) image support!
It also bumps the version of matrix-puppet-bridge (the common core of matrix-puppet-bridge bridges, which handles most of the stuff that's the same between different third-party service bridges, and makes implementing new matrix-puppet-bridge bridges easier) required to 1.16.2, the current latest, for recent bugfixes that improve all matrix-puppet-bridge bridges.
0.1.0 also requires Python 3.5+, for async. Older versions of python3 won't work. PRs getting python3 < 3.5 working again are welcome.

tom also gives credit to d3m3vilurr:
These changes are also brought to us by d3m3vilurr, Honored Hero of Matrix Puppet Bridge

Praise indeed!

Bifrost Bridge


Half-Shot working on matrix-bifrost, a matrix bridge for libpurple and xmpp.js:
This week I have been hard at work fixing a lot of the bugs that have cropped up from bifrost's rapid development. We now have a docker image available (https://github.com/matrix-org/matrix-bifrost).

SMSMatrix now available on F-Droid


A recent favourite of mine, SMSMatrix runs a tiny service on your Android device, which forwards SMS messages to and from Matrix rooms. This week tijder announced that it's now available on F-Droid:
SmsMatrix just got released in the F-droid store. Now everybody can install and get updates from the F-droid store. https://f-droid.org/app/eu.droogers.smsmatrix


matrix-media-repo from TravisR now supports .well-known server delegation


TravisR reports that:
matrix-media-repo now supports .well-known server delegation (compatible with Synapse 0.99 and r0.1 of the server-server specification), among many other bug fixes and improvements. Actually validating the certificates presented by servers will be implemented alongside Synapse 1.0's requirement for it.

Dimension from TravisR now supports .well-known server delegation

Similar to matrix-media-repo above, TravisR has been implementing .well-known server delegation in Dimension:
Dimension now supports .well-known server delegation (compatible with Synapse 0.99 and r0.1 of the server-server specification). Actually validating the certificates presented by servers will be implemented alongside Synapse 1.0's requirement for it.

mxisd v1.3.0-rc.3


Max:
mxisd v1.3.0-rc.3 is out. This is hopefully the last RC before release, but we would like as much testing as possible! the v1.3 branch is a big enhancement on the previous release with big performance and privacy improvements. It's smaller, faster, stronger and protects you privacy even better than before! You know you want it!

matrix-docker-ansible-deploy now supports Synapse v0.99

Slavi reports that:
matrix-docker-ansible-deploy now supports Synapse v0.99 and should be ready for Synapse v1.0.
If you're using the playbook to manage your Matrix server you should upgrade soon.
Depending on how you've customized your setup, you may not even have to do anything for the big Synapse v0.99/v1.0 transition, besides upgrading and re-running the playbook. A good place to start is the changelog entry: Synapse v0.99 support and preparation for Synapse v1.0
I have been using these playbooks to test my own homeserver deployment and am happy.

Tchap Android client

Willem reports that:
After seeing a demo at FOSDEM of Tchap, the app the French government uses to access their Matrix network, I decided to try to get it to work as a general-purpose Matrix client. The app uses email and password to log in, and infers the homeserver address from the homeserver name. So to get it to work, I had to patch the app and write a little proxy so it gets the proper homeserver (and optionally identity server) from an email address.
A patched version of Tchap can be found at https://github.com/14mRh4X0r/tchap-android, code for the proxy at https://git.snt.utwente.nl/14mRh4X0r/tchap-proxy. At the moment it's very crude, and images/files don't work since the virus scan API is unimplemented, but at least it can be used outside the French government. ?

Riot iOS

From the team:
  • Still iterating on key backup UX
  • Fix various share extension bugs (image sending failure, links share as text, etc…)

Riot Android

  • Still iterating on the key backup UX, changes concern Riot and the Matrix SDK
  • Valere has worked on Riot Android Notifications, we intend to merge this work on develop at the beginning of the next Sprint.
  • RiotX: no update this week due to François being out of the office

.NET SDK

Half-Shot, working on "not bridging":
I opened up the .NET SDK project for the first time in two years and revived it to just about work with a r0.4.0 home server. Its now based on .NET core 2.0.

Related .NET lovin'.

Spectral, soon for KDE Plasma Mobile


Black Hat is clearing:
I'm porting Spectral to KDE Plasma Mobile with Kirigami framework. This provides full convergence and mobile support.
Some progress pictures below, desktop and mobile version.

Preparing for Synapse on OpenBSD

Linda has been making progress on a project to get Synapse running on OpenBSD, and to that end has been preparing and improving the dependencies that we take for granted on Linux. To summarise the current status:

This week I've been porting Synapse's dependencies to OpenBSD -current distribution. There is no port yet for Synapse in OpenBSD. Ports missing from OpenBSD 6.4 for Synapse's dependencies were:
  • py-frozendict: ok'd, waiting…
  • py-unpaddedbase64: TBD
  • py-canonicaljson: TBD
  • py-signedjson: TBD
  • py-treq: WIP (this will take a while, lots of dependencies)
  • py-daemonize: ok'd, waiting…
  • py-pymacaroons: TBD
  • py-phonenumbers: 8.10.4 done, waiting to be imported…
  • py-prometheus_client done, needs to be tested/imported…
  • coturn: TBD, maybe?
waiting = usually waiting for an OpenBSD developer to "ok" and import
Of those, py-phonenumbers was added to OpenBSD
-snapshots (-current) distribution. py-phonenumbers (?) and py-service_identity received updates to ports. py-prometheus_client, py-daemonize and py-frozendict are ported ready and waiting to be given "ok" at OpenBSD's [email protected] mailing list.
There is an unofficial up-to-date Synapse port exists at GitHub maintained by someone else, which I've not yet tested. (At glance, I can take a guess the devel/tz port may not be required.)
(coturn doesn't have a port yet, may have to look at it later.)

c u l8r

Phew! That was a lot! See you next week, and if you have a project you'd like to see featured in This Week in Matrix, come chat to us in #twim:matrix.org!