This Week in Matrix 2018-09-21
Nheko 0.6.0 released!Get latest stable releases from GitHub.
- Support for sending & receiving markdown formatted messages.
- Import/Export of megolm session keys. (Incompatible with Riot)
- macOS: The native emoji picker can be used.
- Context menu option to show the raw text message of an event.
- Rooms with unread messages are marked in the room list.
- Clicking on a user pill link will open the user profile.
Spec Proposals: E2E Cross-signing and bi-directional key verificationuhoreg has written up a new work-in-progress proposal for E2E cross-signing.
Also, although it wasn't this week, I don't think that we have previously announced the proposal for bi-directional key verification using QR codes: https://github.com/matrix-org/matrix-doc/pull/1544
JeonMassive update from ma1uta about his Jeon project! This update brings Jeon into line with the most recent updates to the Client-Server, Application Service, Push and Identity APIs.
In ma1uta's words:
Jeon is a set of the java interfaces and classes which describes the Matrix API.Join #jeon:matrix.org to discuss the progress of this product more.
- client-api: r0.4.0-1 corresponds to the r0.4.0 C2S API.
- application-api: r0.1.0-1 corresponse to the r0.1.0 AS API,
- push-api: r0.1.0-1 corresponds to the r0.1.0 PUSH API,
- identity-api: r0.1.0-1 corresponds to the r0.1.0 IS API.
- All artefacts available from the Maven Central Repository.
Also updated the swagger schemas generated from the code:
- Full support for the corresponding Matrix api.
- Changed version for displaying the Matrix api version.
- Added support to the asynchronous responses.
VoIP signalling support has landed in libQMatrixClientExciting times for libQMatrixClient!! Thanks kitsune, developer of libQMatrixClient and Quaternion:
After some pretty long time of being in a PR/fork, VoIP signalling support has landed in libQMatrixClient! Many thanks to mariogrip (the founder of UBports) for the initial code and to delijati (a developer behind uMatriks) for getting it to work with the most recent library.Go chat in #quaternion:matrix.org to see the ways libQMatrixClient is developing.
The actual VoIP stack does not come included, client developers have to take whatever WebRTC implementation is available for their platform and glue the pieces together. However, as the example of uMatriks shows, this now becomes relatively easy if your platform is on good terms with WebRTC (like UBports). I look forward to further work with UBports community on keeping this platform a first-class Matrix citizen.
Matrique is now SpectralAfter intense discussion, there is a new name for Matrique: Spectral. The repo now sites at https://gitlab.com/b0/spectral, there is a new room at #spectral:encom.eu.org, and a new logo:
FluffyChat featured in OpenStoreFluffyChat is getting some love from OpenStore, the official Ubuntu Touch app store: this week it was the featured app.
Matrix Corporal@slavi:devture.com, creator of Matrix Corporal (a Matrix server configuration tool - "Kubernetes for Matrix"):
Matrix Corporal has received some updates over the past few weeks since its initial release: a couple of additional HTTP APIs for retrieving/destroying user access tokens; more consistency with the Matrix Client-Server specification when it comes to error responses; faster reconciliation for user accounts that are joined to many/large rooms.
Another project from @slavi:devture.com, for those who prefer their DevOps ansible-flavoured:
matrix-docker-ansible-deploy now also helps you set up service discovery as per the .well-known Matrix specification.
jcg ansible PR for matrix notificationsjcg has an upstream PR to have matrix notifications in ansible. Combined with Slavi's matrix-docker-ansible-deploy above, you can get Matrix notifications about issues with your Matrix deployment…
Seaglass E2E + self-updateneilalexander:
Seaglass end-to-end encryption support is now complete, including device verification and blacklisting, key sharing requests, key import and export (which should be compatible with Riot) and re-requesting keys
This is really exciting news for macOS matrix users!
I'm also working on auto-updating Seaglass with Aaron Raimist's help in addition to finishing E2E support :-)
:-) is right!
ma1uta must have been in a work-on-Matrix mode this week, because he has also updated jmsdk:
I have released a new version of the java client (https://github.com/ma1uta/jmsdk/tree/master/client-sdk). The new client works is asynchronous mode, each method doesn't block the thread and return the CompletableFuture (promise in java). Then you can block thread to get the response or build a asynchronous promises chain.
ma1uta is also looking forward to the release of Java 11:
with the Curve25519 key agreement (http://openjdk.java.net/jeps/324) and will try make a pure java implementation of the olm/megolm. Just for fun. :)
synapse-purgeMaze, seeing that his synapse database was already at several gigabytes, decided to produce a tool to shrink it:
The synapse-purge tool allows homeserver admins to free disk space by purging old room events from the synapse database. It is an alternative for synpurge which currently does not work correctly.
Configuration is minimalistic at the moment. Meaning it purges all remote rooms on the server with a globally configured preservation period.
synapseandrewsh: 0.33.4 uploaded to Debian's stretch-backports, pending approval.
0.33.5rc1 is now available, with the big news being the inclusion of support for Python 3.5 and 3.6! Hawkowl's Py3 has merged for monoliths and is working pretty well, looking like 2-3x RAM improvement. Please help us test!
Erik's state compressor tool is pretty much finished, we've been starting to run it on things and it reduces disk usage for the state group table by at least 10x.
The only catch is that it's quite DB heavy whilst it runs, so we haven't run it on Matrix.org yet.
FractalAlexandre Franke and the Fractal team:
refactoring of the history and other parts is going on in the master branch of Fractal. We also cleaned up build and dependency related bits.
maubot and sedbot
tulir used maubot to create a factorial bot:
I might also make some useful bots soonAnd so it was - late breaking news that maubot has been used to develop a Dictionary-definition-bot! Not available for public use yet but it proves that the project is useful!
Riot WebLazy Loading remains the focus, we're getting closer with more bugs solved this week! To enable Lazy Loading room members and get speed and memory benefits in Riot, use the develop branch and enable "Lazy Loading" under "Labs" in the settings.
Lots of final bug hunting for lazy loading - this is taking longer than you might expect because we're doing end-to-end CI everywhere.
Lots of work on E2E, Dave has been working on:
UI for e2e key backup that's waiting for some lower level bitsRedesign work continuing as well - Bruno has been working on it this week, Jouni the designer will visit next week to continue the process.
and hopefully our e2e core code is moving from asm.js to webassembly making it, by current estimations, significantly faster.
Nad has joined us to help with design bandwidth and is working on the onboarding flows for the redesign as well as fixing all the UX issues in Communities!