Matrix Live 🎙

Half-Shot talks to Neil about his new(ish) project, matrix-presents

Dept of Spec 📜

anoa reported:

Here are your spec updates for this week!

Merged MSCs:

  • No MSCs were merged this week.

MSCs in Final Comment Period:

  • No MSCs currently in Final Comment Period

New MSCs:

The Spec Core Team is still working on implementation, and likely will continue to be until after FOSDEM.

Dept of Servers 🏢

Dendrite / P2P

Neil Alexander announced:

A fairly big PR was merged into Dendrite yesterday (and some more fixes today) which gets /sync working better and adds the /messages endpoint, so it's now actually possible to paginate around in channels and to see room history. This massively improves the user experience when logging into a Dendrite homeserver.

In addition, another small PR was merged to fix Riot user login in the normal login workflow (not registration) and the public rooms API has been wired up for roomserver events.

A couple of changes have also been merged into gomatrixserverlib, mostly fixing the creation of /backfill requests and allowing the use of custom http.Transports for federation traffic.

P2P work is continuing - stay tuned!

Synapse 1.9.0

Neil said:

This week we shipped 1.9.0 which contained new admin API endpoints as well as bug fixes for existing ones. Aside from that, we’ve been continuing on our E2EE UX bug hunt and python3ing sydent.

Next week, we’ll keep going on the e2ee ux bug hunt and sydent work. As well as dusting off MSCs 2260 2261 to improve room aliases management.

Deploying Synapse

Several packaging projects have been updated to deploy the new version:

Dept of Bridges 🌉

matrix-appservice-IRC hits 0.14.1

Half-Shot said:

Hello wannabe IRC and Matrix users! Today the bridge team bring you the 0.14.X series of the irc bridge. This is the mammoth release featuring all the Typescript changes and postgres stuff. The Postgres changes aren't as essential as they are for Synapse, but useful if you run a ~20k Freenode bridge.

The highlights are:

  • Typescript is now used everywhere across the project, bringing a range of refactors.
  • Postgresql support has landed, while still retaining NeDB support for the present.
  • Storing your password will now cause a seamless reconnect to the IRC network, allowing you to set a password without having to bother NickServ.
  • Sentry.io support has landed, to trace errors in the bridge.
  • Added a reapUsers API endpoint, which allows the bridge to automatically prune users who have not interacted with the bridge for a long time.

Some of these features are still more experimental than others, so the next release hopes to clean up a lot of the outstanding bugs. That's all from us for now :)

mx-puppet-bridge

sorunome said:

A lot happened on the mx-puppet-bridge front! Mostly documentation and code cleanup to make future development easier.

  • Introduce better documentation and a sample config
  • Introduce a demonstration protocol implementation, mx-puppet-echo, meant to help those out who want to write their own protocol implementation
  • Eliminate triple-usage of room/channel/chan, it's just called "room" everywhere now
  • Split matrix event handling and remote event handling into their own files/classes
  • Eliminate all usage of the any keyword, with the help of matrix-bot-sdk's event models
  • Start writing tests to, well, auto-test the library
  • Various small bugfixes

As always, feel free to drop by the support room and please consider to donate!

matrix-discord-parser

sorunome also added:

matrix-discord-parser is the joint matrix->discord and discord->matrix parser that both mx-puppet-discord and matrix-appservice-discord use. For sending messages matrix->discord optional auto-detection of code language for code blocks using highlight.js has been implemented.

Dept of Clients 📱

Riot WebExt 🧩

stoic announced this pretty cool project:

Always wanted to host your own version of Riot Web locally but never came around doing it? Meet Riot WebExt, an unofficial proof of concept Browser Extension that bundles Riot Web, so everything is locally served with the click of a button. Available for Firefox and Chrome!

Firefox AMO: https://addons.mozilla.org/firefox/addon/riot Chrome Store: https://chrome.google.com/webstore/detail/lgpdpggoahhnlmaiompkgghldllldcjh GitHub: https://github.com/stoically/riot-webext Room: #riot-webext:matrix.org

Ditto Chat [v0.2.0] released!

Annie announced Ditto Chat v0.2.0!

Ditto Chat is a Matrix Client in React Native.

Added

  • Ability to Create a New Room & Search for Users
  • Notifications for Android
  • Improved Timeline Rendering (support for m.notice)

Changed

  • Color scheme is darker / night mode
  • Improved Direct Message vs Group Detection
  • Settings Screen Design (smaller, scrolls now)
  • Loads fewer events, thus initial sync is faster

Fixed

  • Various Visual Bugs

Download Links: https://dittochat.org
Room: #ditto:elequin.io

koma and Continuum, Kotlin Matrix projects

yuforia said:

koma, Kotlin library for building clients:

  • Responses of the sync API can be received continuously using Flow (async lazy sequence) now. Compared to previous method which used Channel, Flow can be transformed and combined in a much more flexible way, and Flow stops when it's no longer being consumed, so no coroutine will be left running accidentally.

Continuum desktop client based on Koma:

  • Improve startup speed a bit more (Render more UI widgets without waiting for IO operations to finish).

FluffyChat-Flutter is now available as a web app!

MTRNord reported:

Check it out at: https://christianpauly.gitlab.io/fluffychat-flutter/

It includes everything that the Android App does except for currently notifications and file sharing.

FluffyChat-Flutter

Riot iOS

Manu told us:

This week, in the cross-signing side, we updated e2e decoration, replacing padlocks with shields. We started working on the new device list in the room member screen.

RiotX, rainbows and other new features

benoit said:

RiotX: We are making progress on cross-signing and verification by QRCode. Also we are working to improve the network detection and paused sync thread issue. But the most important is: "/rainbow" command will be available soon 🌈 !

Riot Web

TravisR told us:

We've done a lot this week, and probably even more next week:

  • Continuing on the cross-signing front with support for QR code verification, verification in the right panel, a bunch of shields to indicate trust, some bootstrapping in the secret store, and more!
  • A release candidate for 1.5.8-rc.2 (please give this a test on riot.im/staging)
  • An all-new invite dialog for creating DMs and bringing people into rooms.

Dept of Interesting Projects 🛰

Tampere Hacklab information display powered by Matrix

Cos reported:

tsw from Tampere Hacklab has made a read-only client for information displays. It's still in early development but can already be tried out. https://github.com/tswfi/matrix-viewer/

matrix-viewer

Dept of Jobs 💰

Neil announced:

Are there any French speaking Sys Admins reading this? If that's you then I want you to know that https://apply.workable.com/new-vector/j/766008FB0D/ exists and if you are interested to know more you should DM me. Remote is fine - though full time only.

Dept of Ping 🏓

Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by pingbot, a maubot that you can host on your own server. Join #ping:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.

RankHostnameMedian MS
1maunium.net375
2server.matrix4ulm.de453
3matrix.vgorcum.com481
4nerdsin.space492
5calamari.space538.5
6gottliebtfreitag.de579.5
7schwifty.net669
8neko.dev679
9matrix.kiwifarms.net687
10finallycoffee.eu693

That's all I know 🏁

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

The Foundation needs you

The Matrix.org Foundation is a non-profit and only relies on donations to operate. Its core mission is to maintain the Matrix Specification, but it does much more than that.

It maintains the matrix.org homeserver and hosts several bridges for free. It fights for our collective rights to digital privacy and dignity.

Support us