matrix.org/content/blog/2019/03/2019-03-29-this-week-in-mat...

124 lines
10 KiB
Markdown

+++
title = "This Week in Matrix 2019-03-29"
path = "/blog/2019/03/29/this-week-in-matrix-2019-03-29"
[taxonomies]
author = ["Ben Parsons"]
category = ["This Week in Matrix"]
+++
## Matrix Live
Tom & Matthew talk through the <a href="https://github.com/vector-im/riot-web/projects/16">newly published Riot/Web roadmap</a>! Be sure to read <a href="https://medium.com/@RiotChat/whats-next-for-riot-web-be48f948c801">Tom's blog post which gets into his thinking for the roadmap</a> too.
{{ youtube_player(video_id="-pKHn0pittY") }}
## Matrix.org homeserver notice
The matrix.org homeserver will be down for essential database maintenance between 12:00 and 12:30 UTC on 2019-04-01
## Synapse
Neil, Synapse overseer, reports on the acceleration towards <em>1.0</em>:
> We have much improved sytest support for Synapse worker mode, Hawkowl landed a brand new super fast super shiny user directory implementation, Brendan fixed a bunch of niggles in <a href="/federationtester">the federation tester</a> and we <em>finally</em> got to the bottom of our <a href="https://github.com/matrix-org/synapse/pull/4956">sync caching bug that obscured accepting invites</a> (thanks richvdh for sticking with it). Erik solved our presence spamming bug and anoa fixed some LDAP auth bugs and submitted a PR for certificate checking - one of our final blockers for Synapse 1.0. For all the latest checkout out our latest release candidate <a href="https://github.com/matrix-org/synapse/releases/tag/v0.99.3rc1">0.99.3rc1</a>.
> Next week, we'll ship 0.99.3, we'll be looking at <a href="https://github.com/matrix-org/synapse/issues/4364">server key validity periods</a>, adding a <a href="https://github.com/matrix-org/matrix-doc/pull/1915">3PID unbind API</a> and starting work on tuning low powered Synapse installations.
> <a href="https://www.arewereadyyet.com/">https://www.arewereadyyet.com/</a> is still rising so keep banging to everyone you know that they ensure their federation certificates are valid.
<a href="/blog/wp-content/uploads/2019/03/Screenshot-2019-03-29-at-18.38.23.png"><img class="alignnone size-full wp-image-4155" src="/blog/wp-content/uploads/2019/03/Screenshot-2019-03-29-at-18.38.23.png" alt="" width="429" height="339" /></a>
## Pantalaimon
<a href="https://github.com/poljar">poljar</a> gave this update on his new project <a href="https://github.com/matrix-org/pantalaimon">Pantalaimon</a>:
> <a href="https://github.com/matrix-org/pantalaimon">Pantalaimon</a> is a new project that acts as a reverse proxy for clients to connect to. Once a client is connected Pantalaimon handles end to end encryption for the client transparently.
> The project is only a week old but already at a working prototype phase. A demo can be found here: <a href="http://webmshare.com/play/Qn4wg">http://webmshare.com/play/Qn4wg</a>
This is a huge gain! Use of this project, as you will see in the video, permits any Matrix client to support End-to-End encryption of messages, by handling encryption/decryption in a daemon rather than in the client.
<a href="http://webmshare.com/play/Qn4wg">Watch the video</a>, and you'll see <a href="https://github.com/tulir/gomuks">gomuks</a>, which does not support encryption, chatting in an encrypted room. Also, go chat in <a href="https://matrix.to/#/#pantalaimon:matrix.org">#pantalaimon:matrix.org</a> and get involved!
<a href="/blog/wp-content/uploads/2019/03/Screenshot-2019-03-29-at-18.55.05.png"><img class="alignnone size-large wp-image-4161" src="/blog/wp-content/uploads/2019/03/Screenshot-2019-03-29-at-18.55.05-1024x535.png" alt="" width="1024" height="535" /></a>
## Construct
Report from the Construct team:
> The matrix Construct server has made significant progress this week implementing the 1.0 specification and is very close to a 1.0 release! Special thanks to our star tester Yan Minari and expert Matrix consultants Tulir and Max and C++ developers Jason of Zemos and Mujx of nheko for all their hard work to make this happen. The Construct now fully supports IPv6 and is ready to participate in fully end-to-to-end encrypted ipv6 networks like <code>#yggdrasil:matrix.org</code> and <code>#cjdns:matrix.org</code>.<br />This week also saw additions for .well-known support, <code>m.fully_read</code> and even DNS caching inside a matrix room shared between servers (which is really cool if you ask me).
>
> I'd like to recognize our testers for their invaluable contributions this week, only a fraction of which are documented here: <a href="https://github.com/matrix-construct/construct/issues">https://github.com/matrix-construct/construct/issues</a> leading to the 1.0 release.
> The Construct is written in C++ for maximum performance and scalability. It is the first fully federating server after the Synapse reference implementation. Your contributions in code and participation are essential to bring Construct to its upcoming release; get involved at <a href="https://github.com/matrix-construct/construct">https://github.com/matrix-construct/construct</a> and in <a href="https://matrix.to/#/#zemos-test:matrix.org">#zemos-test:matrix.org</a>.
## Riot Web
From the team:
> We've been upgrading and optimising our Jitsi instance so people should see more reliable video conference calls, especially if they avoid connecting from Firefox over poor connections.<br />We've been squashing scroll jumps (where the timeline pops out of position unexpectedly due to images loading, etc.). We've come up with a radical reimplementation of the timeline (which should be imperceptible, except it doesn't jump) - try it out on <a href="https://riot.im/develop">https://riot.im/develop</a> now.
Bruno, who has been working on scroll functional for Riot deserves a call-out - scrolling in new Riot web works great, and he may now be the most qualified dev on <code>scroll: anchor</code> outside of Mozilla or Google…
You can now get all Riot updates from <a href="https://matrix.to/#/#riot-web-announcements:matrix.org">#riot-web-announcements:matrix.org</a>, the official room of Riot web announcements! You can especially get this update, which was also featured on Twitter:
> <p dir="ltr" lang="en">Attention Riot Web Admins! We reset Scalar tokens to address a potential security vuln. with some clients - if you run your own Riot instance please upgrade to at least v1.0.4 to keep using integrations (widgets, sticker picker, any bots and bridges configured through Scalar).</p>
>
> — Riot.im (@RiotChat) <a href="https://twitter.com/RiotChat/status/1110937638847111173?ref_src=twsrc%5Etfw">March 27, 2019</a>
Please upgrade your Riot web instances!
Additionally, <a href="https://matrix.to/#/@pacien:pacien.net">Notkea</a> has <a href="https://github.com/NixOS/nixpkgs/pull/57838">packaged Riot desktop for NixOS</a>.
## Riot iOS
> Another case of UTD (<a href="https://github.com/vector-im/riot-ios/issues/2320">https://github.com/vector-im/riot-ios/issues/2320</a>) has been fixed. Some logs have been added to track push notifications that disabled themselves. SAS verification implementation is still in progress.
UTD = "Unable to Decrypt", messages as seen in Riot
## Riot Android
> <ul>
> <li>Rework of EventStreamService, to fix many issues (crash) reported by users. The feature is available on the develop branch.</li>
> <li>Also we are trying to upgrade Jitsi library, to fix other errors reported by users.</li>
> <li>SAS verification implementation is still in progress.</li>
> </ul>
Also, you may have already seen the use of Android 9-style notifications, featuring "Mark as read" + "Quick reply" buttons. This addition has started to make Riot Android my client of choice for burning through notifying rooms.
## RiotX (Android)
> <ul>
> <li>Phase 1 started!</li>
> <li>Backporting RageShake feature, with better handshake detection.</li>
> <li>We are still fighting bug on the timeline rendering.</li>
> </ul>
## nheko packaging
<a href="https://matrix.to/#/@adridg:matrix.org">@adridg:matrix.org</a>:
> Quick note that nheko (v 0.6.3) is now packaged for FreeBSD as well. The C++ code was fine (we use Clang, that does trip up some people) but I have Opinions about the CMake code (in particular that the find code for nlohmann/json.hpp, lmdb++.h and tweeny.h could use a lot of work -- if I feel perky I may come up with a PR). Thanks for the good work!
## Dart SDKs
<a href="https://matrix.to/#/@bhat:encom.eu.org">Black Hat</a> has been using Dart and Flutter this week, and is making progress with an SDK and reference client:
> I am trying to use libaqueous(Matrix Dart SDK) to create a cross-platform matrix client for Android and iOS.<br />~~Almost nothing works except~~ Already a significant number of client features are available: <strong>login/logout, room list, basic timeline and message posting</strong>
> Flutter is quite good for rapidly building mobile apps. ? Strong-typed json serialization/deserialization in Dart is a bit difficult at first, but I managed to solve that.<br />the repo is <a href="https://gitlab.com/b0/aqueous">here</a>, the SDK is <a href="https://gitlab.com/b0/libaqueous">here</a>, and the room for discussion is at <a href="https://matrix.to/#/#libaqueous:encom.eu.org">#libaqueous:encom.eu.org</a>
>
> Debug build apk from Gitlab CI is <a href="https://gitlab.com/b0/aqueous/-/jobs/artifacts/master/raw/build/app/outputs/apk/debug/app-debug.apk?job=build-debug">here</a>
<a href="/blog/wp-content/uploads/2019/03/libaq1.jpg"><img class="alignnone size-large wp-image-4151" src="/blog/wp-content/uploads/2019/03/libaq1-529x1024.jpg" alt="" width="529" height="1024" /></a> <a href="/blog/wp-content/uploads/2019/03/libaq3.jpg"><img class="alignnone size-large wp-image-4152" src="/blog/wp-content/uploads/2019/03/libaq3-530x1024.jpg" alt="" width="530" height="1024" /></a> <a href="/blog/wp-content/uploads/2019/03/libaq2.jpg"><img class="alignnone size-large wp-image-4153" src="/blog/wp-content/uploads/2019/03/libaq2-530x1024.jpg" alt="" width="530" height="1024" /></a>
## Notes on manually upgrading rooms, from TravisR
<a href="https://github.com/turt2live">TravisR</a> has written a brief guide to manually upgrading rooms:
<a href="https://gist.github.com/turt2live/a99c8e794d6115d4ddfaadb72aabf063">https://gist.github.com/turt2live/a99c8e794d6115d4ddfaadb72aabf063</a>
Note that you generally won't need to do this.
## That's all I know
See you next week, and be sure to stop by <a href="https://matrix.to/#/#TWIM:matrix.org">#twim:matrix.org</a> with your updates!