This Week in Matrix 2019-02-22

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

Matrix Live S03E15 - Push To Talk and XMPP Gatewaying!

(sorry that the audio from Nad & Half-Shot went missing from the recording... :( )

nheko_reborn roadmap

red_sky has continued to work on nheko, and shared a general roadmap in #nheko-reborn:matrix.org:
The remainder of 0.6.x is expected to be bug fixes. This includes bug fixes in mtxclient as well as nheko.
0.7.0 will be the next feature release. The end goal here is to add some of the capabilities that people have been requesting, and other things that people haven't been requesting.
AFTER 0.7.0 releases, I will then focus on updating the encryption to include more than just text messages.

libQMatrixClient project, Quaternion

kitsune has been writing the codes this week, Quaternion now supports room upgrades and more:
Master branch of Quaternion can now store access token in your secure storage/keychain, better integrating into frameworks of GNOME and KDE, as well as macOS and Windows.
Also, you can see the room version and upgrade rooms in Quaternion (just like Matthew said on FOSDEM ;) ) - this feature is enabled by libQMatrixClient, so other clients are welcome to support room versions/upgrades too!

All this is within the work on the upcoming release of libQMatrixClient 0.5 and Quaternion 0.0.9.4 - stay tuned!

Oh we will. Spectral support for these new features when?

Synapse


Neil:
With all the interest generated through Riot 1.0 we've seen a surge of new and returning users on matrix.org. So we've spent much of the week investing in stability and performance. We'll ship a new point release (0.99.2) next week.
Once again a big flashing advert that Synapse admins should no longer be using self-signed certificates for their federation API. Synapse 1.0 is scheduled in early March and will not accept self signed certs - so servers that do not update will lose the ability to federate with 1.0 servers. Updating your certs is straight forward, see our guide and FAQ for more info.

Matrix Ruby SDK


Ananace has continued his work on Ruby Matrix SDK:
Just tagged and pushed a new version (0.0.4) of the Ruby SDK, since I've completely forgotten to do that for a while now.

What's new?
A whole bunch of small stuff I did, mostly just additional exposed methods and parameters, and some fixed issues as well. I did add support for HS URL discovery using both SRV and .well-known though, which I think is probably the largest new feature.

As if all this wasn't enough, a room on Matrix!
Created a discussion room for the Ruby SDK - since it seems like there are now people who have actually used it apart from me; #ruby-matrix-sdk:kittenface.studio

synapse-netcore-workers

A project rarely seen has recieved a lot of attention this week!Half-Shot has been working on federation workers:
I've been working on a federation worker for synapse written in .NET to improve outgoing federation performance. It's still pretty barebones, but progress can be followed at https://github.com/turt2live/synapse-netcore-workers/pull/5

TravisR too has been working on the project:
I'm also working on my own netcore workers project by setting up an appservice sender. It's also very barebones (doesn't even send a transaction), but is being tracked here: https://github.com/turt2live/synapse-netcore-workers/pull/6
Also, if you'd like to follow along with the project from the comfort of Matrix, head on over to #synapse-netcore-workers:t2bot.io

koma project


yuforia is working on koma:
Fix txnId generation that made sending messages unreliable. Work around a bug in OkHttp that crashed the dispatcher thread when the server certificate was not received in time.

Good thing to fix! Here's a screenshot of Continuum-desktop, the client from koma:

yuforia continues:
Fix text processing in the bot avecho, feel free to try it out in #koma-im:matrix.org

mxisd v1.3.1 released

Max:
mxisd v1.3.1 is out. It is a maintenance release that fixes a set of regressions following the changes in v1.3.0 to massively improve performance. If you haven't updated to the v1.3 branch, now is the time!

Construct progresses toward Matrix 1.0 Spec


Over the past three weeks Construct has made rapid progress with covering the Matrix 1.0 specification!
Last week we implemented room version 1 and room version 2 authentication rules.
This week we implemented device support and management, and have nearly wrapped up successful End-To-End Encryption testing.
The Construct is a community-driven server implementation written in C++ for maximum performance. To all experienced C++ developers out there: we need your contributions to accelerate and test the 1.0 release!
Please check out https://github.com/matrix-construct/construct and stop by #test:zemos.net / #zemos-test:matrix.org today!

uMatriks planning

mariogrip announced his plans for going ahead with uMatriks:
  • Clean up c++ code
  • Make the c++ code less heavy, we should focus on speed
  • Offload js code to direct qml binding, with this i mean instead of having ablock if-else code that modifies qml object that runs on component load, we do this directly in qml: see 0a800fc and https://github.com/uMatriks/uMatriksblob/0a800fcdc0af4fa2e08526dbff88e06bcb591779/uMatriks/componentsChatItem.qml as an example for a cleaner code
  • Make all ui depended calls async, we should NEVER block ui
  • Offload heavy js logic to c++
  • Cleaner UI, with less crust
  • Async everything
  • Merge our WIP call support
  • Finish impl of call support (maybe move to a standalone webrtc module)
  • Slowly start moving to QQC2
  • Implement reply
  • Implement sending of media

Riot Android

  • Finalising version and delivery of Riot 0.8.23 on the Play Store.
  • RiotX: testing library to render events in the timeline.

Debian packaging

andrewsh:
Since Debian has entered soft freeze, updates to Synapse have been slow lately, but nevertheless we've got 0.99.1.1 in

matrix-archive-keyring


Linda is continuing to prepare matrix-archive-keyring:
matrix-archive-keyring (from last week's TWIM) is ready to be uploaded to Debian. Attempting to get it uploaded to unstable right now as I speak.

Riot breadcrumbs

We linked to the annoucement last week, and have been using it for even longer, but somehow I missed a great labs feature that shipped with Riot 1.0: "room breadcrumbs", which you can enable from the Labs page of Riot settings. This gives you a series of quick links with the history of rooms you were most recently in. So if you're like me, clicking between rooms all day, you can get where you're going a little faster.

mautrix-whatsapp

There is no big news about mautrix-whatsapp this week, other than that I installed it on my own server and found that it works really really well. I'd love to switch to this as a main interface for my less-decentralised friends, but like others, I've been stung by this issue in an upstream project. If there are go-fans reading (and I know there are), I wonder if it's an issue which can be fixed?

Around the Web

A tidy little article on "non-centralised" applications. Article by Jontheniceguy helps pin down some of the terminology around decentralisation and the like. https://jon.sprig.gs/blog/post/1041joenas wrote an article on configuring Synapse with Traefik: Matrix homeserver (Synapse v0.99.1.1) with Traefik

That's it

All good things must come to an end - and here we are!

Matrix is getting a lot of attention recently (has it been on the front page of HN every day this week? I remember that I used to be excited seeing that happen), and seeing a lot of growth as well.

If you have something to say here, something to add, come chat to us in #twim:matrix.org - I love that this is a supportive and engaged project ecosystem, so come share what you have!