This Week in Matrix

321 posts tagged with "This Week in Matrix" (See all Category)

Atom Feed

This Week in Matrix 2020-04-03

03.04.2020 00:00 β€” This Week in Matrix β€” Ben Parsons

Matrix Live πŸŽ™

Featuring p2p, E2EE, FTUE, Open Tech Will Save Us and Mirage

Dept of Status of Matrix 🌑

Open Tech Will Save Us

Open Tech Will Save Us is a virtual meetup, taking the form of a monthly live video stream broadcasting on the second Wednesday of every month at 5pm UTC.

The first event will have speakers from Jitsi, IPFS and Matrix.

We'll cover the importance of preserving privacy and ways to keep your communications under control. Read more at https://matrix.org/open-tech-meetup/

GSoC Student Applications closed

Google closed the door to applications on Tuesday, and we have an absolute bounty of proposals. More information will be shared when the announcements are made in a few weeks.

Dept of Spec πŸ“œ

anoa said:

Here's your weekly spec update!

MSC Status

Merged MSCs:

  • No MSCs were merged this week

MSCs in Final Comment Period:

  • No MSCs are currently in FCP

New MSCs:

Not much changing state this week as most people are focusing on implementation and existing MSCs.

Spec Core Team

Next week the Spec Core Team is focusing on the same as last week: MSC2457 (password invalidation), MSC2454 (SSO UI Auth), and MSC2472 (Symmetric SSSS).

Dept of Servers 🏒

Dendrite / gomatrixserverlib

Neil Alexander offered:

  • Dendrite now has support for sending v2 invites, and partial support for receiving them

  • The typing server in Dendrite has now been renamed to a more general-purpose EDU server and support for sending/receiving typing notifications has been fixed

  • Room version v3 and v4 support in Dendrite is mostly finished, hopefully will be merged soon

  • A new version of the P2P demo was released yesterday with some fixes (more information and discussion in #p2p:matrix.org)

  • gomatrixserverlib now has new types and support for the new invite format, as used in the v2 endpoint

  • gomatrixserverlib has received some bugfixes, including with event ID generation and avoiding null in marshalled JSON for auth_events and prev_events

Construct

Update from Jason:

End-to-end encryption support has landed in Construct. The server now supports cross-signing, secret storage, and key backups for clients. I'm pleased with how this all came together on schedule for the upcoming transition to e2ee by default for Matrix. If you haven't been paying attention in #construct:zemos.net last week full support for push-rules including efficient highlight-counting also landed. Next week Application Service support is scheduled.

Construct is quickly nearing complete coverage over the full breadth of the Matrix protocol, and the transition into release packaging is fast approaching. Construct is the C++ homeserver built for maximum performance with the lowest possible cost of ownership. If you're in need of a faster homeserver please show your support in #construct:zemos.net and tell all your friends to lend a hand today!

Thanks Tulir for relaying

New Rust Homeserver

timo announced:

Hello! This week I worked on a Matrix homeserver written in Rust. Registering and logging in works already and I am currently adding support for sending events and inserting them into the event graph. I spent most of my time reading the Matrix specification to understand how this process works, because with federation (which I plan to add to my homeserver in the future) servers might disagree on which event was created first and there are strictly defined rules to resolve this. The Matrix homeserver uses the Ruma libraries as it's base and handles requests and responses using the Rocket crate. I use sled to store information as (key, value) pairs in a database. Most of these libraries are still experimental and I take this attitude myself by straying off from the reference implementations and changing algorithms in hopes of better performance. If you want to help, check out #rustmatrix:koesters.xyz.

mautrix-asmux

Tulir offered:

mautrix-asmux wasn't made this week, but I haven't mentioned it on TWIM before. Basically, it acts as a proxy between appservices and the homeserver. The primary point is to make it possible to dynamically provision appservices.

The dynamically provisioned appservices connect to mautrix-asmux with individual access tokens, which asmux checks and then proxies the requests to Synapse with its own global access token. Synapse is only aware of one appservice, which will have a large user ID and alias namespace (e.g. everything starting with _). In the other direction, mautrix-asmux maintains a room ID -> appservice mapping, which it uses to send incoming events to the correct appservice. As a side effect, mautrix-asmux implements MSC2190, which is needed for end-to-bridge encryption.

πŸ“‘ Sygnal 0.4.0

Half-Shot told us:

Hey, some non-bridge news from me. We've released Sygnal v0.4.0 which allows folks to use postgresql to store state rather than sqlite3.

...and then...

another release, https://github.com/matrix-org/sygnal/releases/tag/v0.4.1

Synapse

Neil told us:

We continue on our performance drive. We’ll get Redis into production early next week replacing our home grown TCP based replication system. We also landed some SSO fixes for user interactive auth. Additionally we shipped a bug fix release in 1.12.3.

Synapse Deployment πŸ“₯

Kubernetes

Ananace offered:

Just bumped the K8s-optimized Synapse image to 1.12.1

Docker-matrix

Mathijs told us:

The docker image for synapse v1.12.1rc1 is now on mvgorcum/docker-matrix:v1.12.1rc1

Dept of Bridges πŸŒ‰

mautrix-telegram

Tulir said:

mautrix-telegram now has experimental support for end-to-bridge encryption. It's intended for cases where you don't want the homeserver to have access to messages, e.g. user-hostable appservices. It's currently on the e2be branch and should be merged to master soon. You can find setup instructions on the wiki: https://github.com/tulir/mautrix-telegram/wiki/End‐to‐bridge-encryption

The same feature will make its way to mautrix-facebook and mautrix-hangouts in the near future. After that, I'm going to start working on porting matrix-nio's crypto code to Go to bring end-to-bridge encryption to mautrix-whatsapp and possibly also general e2ee support for gomuks.

New tooling for plumbing IRC rooms

Cos announced:

I got annoyed by how difficult plumbing IRC rooms is and wrote a simple Python script to do it more easily from command line. Also cleaning old rooms and chats in Riot is quite tedious so I added support for easily leaving rooms to the script. I decided to creatively call it matrixtools and created a github repo for it for others to enjoy. It's still in infancy but more features are already planned such as more IRC management stuff and creating tombstone events to point rooms to other rooms. The tool uses Python and matrix-nio library. Contributions welcome! https://github.com/vranki/matrixtools

mx-puppet-bridge

mx-puppet-bridge is a general bridging library that supports (double)bridging and relays. The goal is to make it as easy as possible for others to bridge new third-party protocols to matrix. Support room Donate

sorunome said:

The bridge bot now sends read indicators for messages successfully delivered to the remote network - only supported on protocol implementations with event synchronising. 🦊

mx-puppet-slack

Advanced relay support! Similar to the discord bridge, you can now make an advanced relay, where, if in relay mode, the messages from matrix users appear correctly with username+avatar on the slack side. This works for both classic slack apps and new slack apps, via the events API.

For that the underlying slack client connection had to be significantly re-written, which became its own repository.

mx-puppet-skype

The skype puppet received a couple of bugfixes, so that it shouldn't need to be manually restarted every day anymore.

mx-puppet-voipms

mx-puppet-voipms is a puppeting bridge for the SMS functionality provided by voip.ms. It is based on mx-puppet-bridge.

zoe reported:

Initial release of mx-puppet-voipms, a puppeting bridge for the voip.ms SMS api built on top of the amazing mx-puppet-bridge framework.

πŸ€™ node-jitsi

Half-Shot told us:

Hey folks! I've not posted a proper bridge update in a while, so let's go into another project that isn't a bridge. I've started working on a new project called node-jitsi, which will allow people to connect their services to Jitsi Meet conferences. It's designed to allow bridges to start bridging across actual calls into Matrix via Jitsi, but could really be used by any project which is Node.JS based and wants Jitsi call functionality. The goal is to keep the interface clean and simple, and do all of the heavy lifting (WebRTC negotiations, XMPP handling) itself.

Currently the project has just started, although progress should hopefully be swift! Come check us out in #node-jitsi:half-shot.uk and get chatting

Dept of Clients πŸ“±

RiotX

valere reported:

Main focus in on getting cross-signing out (bootstrap will soon be merged)

But we also started efforts on database migration from Realm to SQLDelight!

Develop Change log:

Features ✨:

  • Cross-Signing | Support SSSS secret sharing (#944)

  • Cross-Signing | Verify new session from existing session (#1134)

Improvements πŸ™Œ:

  • Verification DM / Handle concurrent .start after .ready (#794)

  • Cross-Signing | Update Shield Logic for DM (#963)

  • Cross-Signing | Complete security new session design update (#1135)

Bugfix πŸ›:

  • Missing avatar/displayname after verification request message (#841)

  • Crypto | RiotX sometimes rotate the current device keys (#1170)

  • RiotX can't restore cross signing keys saved by web in SSSS (#1174)

Nio for iOS

kilian said:

Nio for iOS has been getting some attention this week. Message display is now much better (visually grouped by sender) and I added some preliminary support for contextual event actions. For the time being emoji reactions and redactions have been implemented. (The context menu does trigger the best result of the visual flipping workaround in SwiftUI though πŸ˜…)

What's new on the fluffy side?

krille told us:

FluffyChat 0.11.0 is now available in the F-Droid repo:

https://mtrnord.gitlab.io/fluffychat-flutter-fdroid/fdroid/repo/

New features

  • Voice messages

  • New message bubble design

  • Share content with FluffyChat

Changes:

  • Use SnackBars instead of Toasts

Fixes:

  • Minor fixes in the SDK

  • Loading dialog when sending files is displayed too long

  • Fixed device settings list

  • Fix a lazy loading bug

  • Improve app icon

The current version in the PlayStore is outdated. I need to write a privacy policy first and this can take some time. A TestFlight version for iOS is planned too but not yet ready. Here is a screenshot of the new voice messages feature:

2020-04-03-hPD8k-img_1585931100851.png

Quotient project

kitsune reported:

The Quotient project has made two "sustaining" releases this week, and then three^Wfour more to fix foolish mistakes - right on the Fools' Day! Long story short - if you're on Quaternion 0.0.9.4* (with any trailing letter) and, respectively, libQMatrixClient 0.5.x, make sure to upgrade to Quaternion 0.0.9.4e and libQMatrixClient 0.5.3.2 because, as of this writing, these are the latest and fixedest in the breed. Aside from many backend bugfixes (mostly described in release notes from 0.5.3), this refreshed pair can handle SSO and no more interferes with Pantalaimon in encrypted rooms. Further plans include scrapping the whole Quotient thing and switch to Python because it's so much easier. Just kidding :) the plans didn't change, Quotient 0.6 is the next milestone, and the backend for the next Quaternion release. And you won't need to wait another year for them, I promise.

Mirage

miruka reported:

Mirage 0.4.3 was released today, AppImage and Flatpak included.

Some of the most notable changes:

  • Redactions support: individual or selected messages can now be removed from the context menu or using keyboard shortcuts

  • New shortcuts for inviting to, leaving or forgetting a room

  • Support for environment variables to specify config and user data folders

  • Fixed the crash after login for KDE users

Riot Web

Ryan announced:

Riot Web 1.5.14 and 1.5.15 were released this week with a simpler Jitsi integration, new keyboard shortcuts (along with shortcut help via Cmd / Ctrl+/), and layout performance fixes. 1.5.14 has a security issue with the Jitsi widget wrapper, so please remove any copies of 1.5.14 if you installed it. Lots of cross-signing polish work continues as we get closer to release.

Riot-iOS

Manu announced:

We made a hot fix release (0.10.5) this week. Cross-signing work is still progressing well. We will run much more tests next week with other Riots to finish the feature.

Ismail, who joined the team mid-week πŸ₯³πŸŽ‰, has started to do some maintenance work required by iOS 13 SDK.

Dept of SDKs and Frameworks 🧰

ruma

jplatte announced:

Through a steady increase in demand thanks to GSoC, matrix-rust-sdk and timokoesters' homeserver, our foundational crates are receiving more attention than ever before, resulting in the following releases last week:

  • ruma-events 0.18.0

  • ruma-api 0.15.0

    • This release contains a change that allows endpoint definitions to have an associated error type
  • ruma-client-api 0.7.0

    • This release once again gets us closer to r0.6.0 compatibility

    • We now use the standard libraries Duration type for a few things including the /sync request's timeout parameter

    • We now have an Error type that error responses from the homeserver will be deserialized into

New PHP library

a_v_p announced:

Hello! I'm working on a PHP library (GPL v3.0+) that allows to communicate with a Matrix instance. Currently the library allows to create users, rooms, login to the Matrix server and send messages, although more work needs to be done: https://github.com/artyom-poptsov/matrix-php

I created the library due to my own needs, but probably it will be of some interest for others.

Apparently the author has a need for Matrix-Moodle integration, sounds interesting! An update! Late breaking:

I've updated Matrix-PHP, now there's documentation in README.md on how to use the library. If anyone wants to use it/contribute, this should make the things easier.

There's no release yet though. But for now, the library is capable of:

  • creating users with on the servers where registration is disabled;
  • changing users passwords (by users themselves or by admins);
  • logging in to the server using m.login.password method;
  • sending text messages to rooms;
  • checking if a username is available for registration on a server (only for admins.)

Dept of Ops πŸ› 

matrix-docker-ansible-deploy

Slavi said:

A few interesting matrix-docker-ansible-deploy updates this week:

Thanks to Christian Lupus's efforts, the playbook now supports installing to an Archlinux server.

Thanks to Marcel Partap's efforts, the mxisd identity server, which has been deprecated for a long time, has finally been replaced by ma1sd.

dacruz21/matrix-chart

Typo Kign reported:

I've just released v1.0 of my Matrix helm chart, to help deploy a complete homeserver stack in Kubernetes. Partially inspired by spantaleev's wonderful ansible playbook, dacruz21/matrix-chart aims to be an all-in-one installation of Synapse, Riot, bridges, and other services. It includes a number of Kubernetes security and scalability features, and is ideal for anyone running a large homeserver, or a homeserver in a corporate environment where security is paramount.

More details at https://github.com/dacruz21/matrix-chart, and visit #matrix-chart:typokign.com for any questions or support.

Dept of Bots πŸ€–

CovBot

Peter Roberts said:

Lives in the cloud now so should be more reliable.

Fairly sure Peter is referring to his tracking bot being on new hosting. He could mean that he has ascended to the clouds, and is therefore more reliable, but perhaps he wouldn't have posted to TWIM in that case.

dice bot

Tulir told us:

The maubot dice plugin got a new release. The primary change was a config option to show results of individual rolls.

OBS bot v0.5

msirringhaus announced:

In addition to some performance fixes, the chat bot integration in Rust for openSUSEs Open Build Service can now listen also to openQA events.

openQA is an operating system level integration testing framework that makes it possible to test the installation process, GUIs and TUIs by simulating user interaction on different hardware or virtualization technologies. OBS is used for development of the openSUSE distribution and can build packages from the same sources for Fedora, Debian, Ubuntu, SUSE Linux Enterprise and other distributions.

Sources can be found here, RPMs exist as well.

Dept of Hackathons πŸ•

Mozilla is hosting a Fix-the-Internet Lab

Aaron told us:

Mozilla is hosting a Fix-the-Internet Lab from April 15th - June 15th that specifically calls out decentralization and messaging.

Mozilla’s Fix-The-Internet MVP Lab is an 8 week-long incubator-style program this Spring to mobilize & fund around products and technologies that enable everyone to connect and build a better society.

Sounds like it could be a good fit for a Matrix community project. Each participant would get a $2500 stipend and access to mentorship. There are also significant prizes.

Applications are due Monday April 6 at 11:59PM ET.

https://blog.mozilla.org/blog/2020/03/30/were-fixing-the-internet-join-us/

Swedish government launching a three-day remote hackathon

Ananace reported:

Maybe more tangentically relevant, but the Swedish government is launching a three-day remote hackathon starting tomorrow (3rd-6th of April) focusing on saving lives, communities, and businesses. A Matrix solution may very well be interesting to develop for this, perhaps something taking another look at the CoAP/CBOR work.

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
1envs.net357
2gottliebtfreitag.de429
3maunium.net456.5
4kif.rocks520
5imninja.net632.5
6encom.eu.org657
7fairydust.space676
8xethos.net804
9chat.matrix4me.de913
10synod.im1096

That's all I know 🏁

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

This Week in Matrix 2020-03-27

27.03.2020 00:00 β€” This Week in Matrix β€” Ben Parsons

Matrix Live πŸŽ™

Dept of Spec πŸ“œ

anoa said:

Here's your weekly spec update!

MSC Status

Merged MSCs:

MSCs in Final Comment Period:

  • No MSCs are currently in FCP

New MSCs:

Closed MSCs:

Finally some merged MSCs, and so much activity in other areas! Thanks for everyone getting involved :)

Spec Core Team

Next week the Spec Core Team is focusing on MSC2457 (password invalidation), MSC2454 (SSO UI Auth), and MSC2472 (Symmetric SSSS).

Dept of Servers 🏒

Dendrite / gomatrixserverlib

Neil Alexander reported:

  • Backfill over federation and room history visibility are now mostly implemented in Dendrite
  • Most of the room version support code is now merged into gomatrixserverlib
  • More of Dendrite has been converted to use new headered events from gomatrixserverlib
  • Room version support code has now been merged into Dendrite

Synapse

Neil told us:

We released 1.12.0 this week which contains some decent performance wins. Our theme for the moment is to continue working on performance, and the sharding project is starting to make some real progress. Hopefully we get onto breaking out event persistence next week.

Aside from that you'll see a lot of work to improve SSO support, in particular the ability for SSO and User Interactive Auth to work together is just around the corner.

Sorry for all the matrix.org slowness, we're doing everything we can!

Thoughts on matrix.to

julian told us:

The current http://matrix.to/ link handler is centralized and unfriendly. Before real matrix: URIs are done ( https://github.com/matrix-org/matrix-doc/pull/2312 ), I decided matrix.to needs redesigning, so I've written about it and am working on mock-ups and changes: https://blog.foad.me.uk/2020/03/24/improving-matrix-to-links/ Feedback would be appreciated. Please discuss in [#matrix.to:matrix.org.

Synapse Deployment πŸ“₯

Kubernetes

Ananace announced:

Updated the Kubernetes-optimized images of Synapse to 1.12.0. Both the alpine and debian-based - with jemalloc support - tags use the latest twisted package.

NB; If you're using both workers and application services, make sure that your application service config files are mounted into the worker pods as well.

Various updates on Debian packaging

andrewsh reported:

Debian backports for Buster will see updated synapse and Twisted around the weekend when packages migrate to testing

Debian packages for synapse have been updated and now pull the patched version of Twisted with CVE-2020-10108, CVE-2020-10109 and other security vulnerabilities fixed

the patched version of Twisted in Debian is 18.9.0-8, Ubuntu ships security fixes in 18.9.0-6ubuntu1; both include all necessary security fixes 20.3.0 is currently in Debian experimental and hopefully will be uploaded to unstable by the end of the week

synapse-purge

Ananace announced:

Submitted a PR that adds support for running the Synapse state compression tool to the synapse-purge utility written by djmaze. So that it's able to both launch purges for all rooms, as well as compress their state afterwards.

Dept of Bridges πŸŒ‰

mx-puppet-skype

mx-puppet-bridge is a general bridging library that supports (double)bridging and relays. The goal is to make it as easy as possible for others to bridge new third-party protocols to matrix. Support room Donate

sorunome said:

There is a new skype bridge! mx-puppet-skype, also based on mx-puppet-bridge.

It already features:

  • Sending normal and rich formatted text in both directions
  • Sending images, audio and other media in both directions
  • Some skype emoji are parsed to normal emoji
  • Skype->Matrix typing and read indicators
  • Skype->Matrix user updates

Please note that skype seems to be having some issues lately where sometimes messages aren't received (also in the official client), and that sadly also affects the bridge.

Icinga GoNotify Matrix v2.0.1

Oleg offered:

  • A simple client to send notifications from Icinga to a [matrix] room.
  • This is a rewrite of a Perl version (https://github.com/oleg-fiksel/matrix_icinga_notify).
  • New and fancy notification template (thanks @micha:msqu.de !).
  • Written in Go and uses mautrix-go (thanks ο»Ώ@tulir:maunium.net !).
  • Doesn't need any dependencies other than ca-certificates.
  • Support/Feedback: #icinga-gonotify-matrix:fiksel.info

Dept of Clients πŸ“±

Mirage

miruka told us:

Mirage is a new fancy Matrix client written in Qt/QML + Python, currently in alpha and available on Linux. Some of its main features are:

  • A fluid interface that adapts to any size
  • Keyboard shortcuts for (almost) everything, including filtering/switching rooms, scrolling, sending files, selecting and copying messages...
  • A dynamic, programmable theming system
  • Multiple accounts in one client
  • Support for end-to-end encryption

Mirage client

Nheko

Nheko is a desktop client using Qt, Boost.Asio and C++17. It supports E2EE (with the notable exception being device verification for now) and intends to be full featured and nice to look at

Nico (@deepbluev7:neko.dev) told us:

  • The image overlay you get, when you click on an image, should now stay out of your way, when downloading an image (adasauce)
  • Nheko now shouldn't show a console on launch on Windows anymore (abma)
  • Typing notifications now won't sanitize users twice. This shouldn't increase Corona infections, just make special characters like < and & show up correctly, so you can put more <3 into your names. (Emi)
  • A lot of edge cases, where avatars didn't show up correctly were fixed. One issue with dynamic thumbnailing and synapse is still waiting for a synapse pr to be merged.
  • If you restart your server, Nheko should now use less CPU in the time the server is down. It may take a bit longer to reconnect though.

I'd like to thank all the contributors, that contribute seemingly random, small patches. It really helps make Nheko better in the long term and I really appreciate your help! <3

Quotient 0.5.3 RC

kitsune reported:

Quotient 0.5.3 RC goes out - this is a backwards-compatible release that you can safely use with your Quaternion 0.0.9.4. Packagers are welcome to do all the preparations necessary - 0.5.3 release will happen right after the weekend! Despite back-compatibility, this version sports quite a few recent improvements backported from the master branch, including SSO, support of reactions and message editing, .well-known and, of course, quite a few bug fixes. Check it out at https://github.com/quotient-im/libQuotient/releases/tag/0.5.3-rc. P.S. For those who want more, Quotient 0.6 (and Quaternion 0.0.9.5) are coming real-soon-now, too!

Riot-iOS

Manu told us:

We are still working on cross-signing but we see the end :). Gossiping of cross-signing private keys is now automatically done in background. We have a new modal that pops up on unverified sign-ins. We started to make cross-platform tests and fixed issues. Next week will be all about polishing this feature.

riot.swedneck.xyz (Riot on IPFS)

swedneck reported:

I have started maintaining riot.swedneck.xyz again, so riot will once again be available on IPFS! You can try it out at https://ipfs.io/ipns/riot.swedneck.xyz, or via a local IPFS gateway at http://127.0.0.1:8080/ipns/riot.swedneck.xyz Expect updates a couple of days after every new riot version is released.

Dept of Ops πŸ› 

matrix-docker-ansible-deploy optionally supports jitsi

Slavi announced:

matrix-docker-ansible-deploy can now optionally install the Jitsi video-conferencing platform and integrate it with riot-web. See our Jitsi documentation page to get started.

You need to tell the playbook to use the :develop riot-web though. The documentation page instructs people to do that (for now).

I did a 4-person video conference the other day and all Jitsi components combined seemed to take some ~500MB of memory and quite a lot of CPU, while the call was ongoing.

Dept of Bots πŸ€–

CovBot v0.1.1

Peter Roberts offered:

  • Add Public Health England data for more granular stats in the UK.
  • Available on WhatsApp and Telegram.
  • Send a welcome message to new rooms.
  • Improve !help messages.
  • Add !announce to notify all rooms.
  • Gracefully handle rate limiting.
  • Cleanup empty rooms once per day.
  • Send m.text instead of m.notice so it plays nicely with WhatsApp bridge.

MIT licensed on GitHub.

CovBot v0.1.2

Peter Roberts offered:

  • Add !compare - thanks to @bertieb:matrix.bertieb.org. Works like !compare china;uk;spain. See !help for more info.
  • Improve readability of !help on mobile.

MIT licensed on GitHub

CovBot v0.1.3

Peter Roberts said:

Now comes with a !risk command that takes an age and calculates some outcome probabilities for that age group. Thanks to @dctremblay:matrix.org for adding this in!

MIT licensed on GitHub.

reminder maubot plugin

Tulir said:

v0.2.0 of the reminder plugin for maubot was released recently. The primary change was a new custom date parser, which should have less weird results than before.

It also has a locale system. You can set locales with !reminder locale <list of locales>. The system is fairly simple: it just tries to parse the input with each locale in the order specified and uses the first match. It doesn't have many locales so far, so contributions are welcome if you're not afraid of regexes (contributions for reducing the number of regexes are also welcome :D)

Matrix in the News πŸ“°

Matthew said:

for those who quite understandably couldn’t endure listening to 90 minutes of waffle about Matrix on The Changelog, the transcript is now up at https://changelog.com/podcast/384!

New Public Rooms 🏟

nico said:

To help people stay in contact in times of coronavirus, there are now coronavirus rooms in 4 languages (German: #covid-19-de:ungleich.ch , English: #covid-19:ungleich.ch, French: #covid-19-fr:ungleich.ch and Korean #covid-19-kr:ungleich.ch) They are all listed on https://ungleich.ch/u/blog/coronavirus-chats/ to give new matrix users an easy entrance

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
1servicedesk-ttc.com343
2ccc.ac419
3gottliebtfreitag.de421.5
4envs.net476
5maunium.net478
6c-base.org484
7mailstation.de506
8maescool.be576
9encom.eu.org585.5
10matrix.vgorcum.com648

Final Thoughts πŸ’­

Next Tuesday is the student submission deadline for GSoC! Check out our list of projects and come and chat to us.

That's all I know 🏁

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

This Week in Matrix 2020-03-20

20.03.2020 00:00 β€” This Week in Matrix β€” Ben Parsons

Matrix Live πŸŽ™

Matrix Live S04E30 - Matthew updates on Synapse perf, P2P and new Jitsi

Dept of Spec πŸ“œ

anoa announced:

Here's your weekly spec update!

MSC Status

Merged MSCs:

  • No MSCs were merged this week

MSCs in Final Comment Period:

New MSCs:

Spec Core Team

Next week the Spec Core Team is focusing MSC2432 (alias changes), MSC2451 (remove query_auth), and implementation.

Dept of Servers 🏒

Dendrite / gomatrixserverlib

Neil Alexander announced:

  • P2P work is continuing at p2p.riot.im, with various fixes and a new public room directory
  • Room version work is continuing with new headered event support in Kafka, the internal APIs and the sync API in Dendrite, and in the event code in gomatrixserverlib
  • Joining rooms over federation is a bit more reliable now, as prev events are handled properly in this case and therefore the first message into the room doesn't get lost
  • Some improved error handling work has been merged - thanks to prateek2211 and abbyck
  • The /joined_rooms endpoint is now implemented - thanks to prateek2211

Notes on usage:

In order to try p2p.riot.im, do I need to create an account or should I be signing in to some user?

Just register as normal. Be aware you are registering into your local in-browser Homeserver, rather than a remote service.

Neil Alexander also mentioned:

We've also created #homeservers-dev:matrix.org as a general non-implementation-specific channel for homeserver developers :-)

matrix-media-repo

TravisR offered:

v1.1.0 has been released with experimental (incomplete) IPFS support, memory leak fixes, and other improvements. This is a highly recommended upgrade if you use expireAfterDays or have memory problems.

Synapse

Neil reported:

This week we have seen a huge increase in traffic and so we are spending a lot of time battling with scaling. Most notably we shipped an optimisation to improve state resolution for room versions > 1. Our sharding effort continues and we are working towards backing matrix.org with redis for pub sub which is prerequisite for the project.

Aside from that we had some problems with push reliability, this should now be fixed. Sorry if you were bitten!

We also put out 1.12.0rc1 expect a full release early next week.

Next week performance performance performance. We’ll also complete improvements to user Interactive Auth for SSO installations.

Synapse Deployments

Mathijs told us:

The docker image for synapse v1.12.0rc1 is now on mvgorcum/docker-matrix:v1.12.0rc1

Dept of Bridges πŸŒ‰

Welcome Christian!

Welcome to Christian, who is joining the Bridges team as an employee. He'll start out on the Slack bridge but will be working more generally with Half-Shot on all bridges.

mx-puppet-bridge

mx-puppet-bridge is a general bridging library that supports (double)bridging and relays. The goal is to make it as easy as possible for others to bridge new third-party protocols to matrix. Support room Donate

sorunome told us:

  • add adminme thanks to dhmf
  • more tests
  • unified namespaces!

Unified namespaces is a big update! This means that, if the remote protocol has globally unique IDs (e.g. as discord has the case) it will only create one room on matrix for any amount of puppets. Combining this with the advanced relay option, this means that protocol implementations (e.g. discord) now can act like a normal relay bridge only with super awesome puppeting! As in, the for the puppets, the DMs work and channels&guilds that the relay bot is not in. All this is possible without any changes to the protocol implementation, should the protocol have unique global IDs.

Dept of Clients πŸ“±

Quotient / Quaternion SSO support

kitsune told us:

In preparation to the upcoming (long-awaited) releases for Quotient and Quaternion, the library has gained full-blown support of SSO flow, such as the one used by the Mozilla's homeserver, and adventurous Mozilla Matrix users can use the master branch of Quaternion to login to their accounts. Next step - official releases and backports.

gomuks

Tulir said:

gomuks now supports markdown formatting in rainbow messages.

Or if you prefer:

gomuks now supports markdown formatting in rainbow messages.

Nheko

Nheko is a desktop client using Qt, Boost.Asio and C++17. It supports E2EE (with the notable exception being device verification for now) and intends to be full featured and nice to look at

Nico (@deepbluev7:neko.dev) told us:

Emi added a new sorting method to the room list, that keeps rooms with unread messages on top, even when the messages are older than the messages in silenced or read rooms. It makes the room list a lot nicer to use and after being skeptical at the start, I now use it on all my systems. Huge thanks to Emi for bearing with my long and confusing review!

Riot Web

Ryan reported:

  • Keyboard shortcuts are more discoverable with a help popup that explains them
  • Jitsi support for voice and video is moving into Riot itself (the integration manager is no longer used for this)
  • Self-hosted Riots can be configured to use a different Jitsi server if desired
  • Encrypted messages are faster to encrypt and send
  • The room directory server selector has been reworked and is much easier to use and understand
  • Many cross-signing polish fixes continue to land, hoping to ship cross-signing in a few weeks

RiotX, Quick corrective release 0.18.1

valere told us:

Improvements πŸ™Œ:

  • Implementation of /join command

Bugfix πŸ›:

  • Message transitions in encrypted rooms are jarring #518
  • Images that failed to send are waiting to be sent forever #1145
  • Fix / Crashed when trying to send a gif from the Gboard #1136
  • Fix / Cannot click on key backup banner when new keys are available

Riot-iOS

Manu told us:

We are still working on cross-signing. QR code screens have landed on develop like storing and gossiping of cross-signing private keys.

Dept of SDKs and Frameworks 🧰

py-matrix-utils

swedneck offered:

I'm working on a Gtk GUI for py-matrix-utils, progress can be followed at https://gitlab.com/Swedneck/py-matrix-utils This isn't going to be a fully fledged matrix client, it's just a graphical interface for various matrix tools.

Dept of Ops πŸ› 

matrix-docker-ansible-deploy Raspberry Pi support

Slavi offered:

Thanks to Gergely HorvΓ‘th's efforts, matrix-docker-ansible-deploy now supports installing at least some of its services to a Raspberry Pi server.

See our Self-building documentation page to learn how to get started.

Dept of Bots πŸ€–

CovBot v0.0.10

Peter Roberts announced:

  • Search by country code.
  • Better handling of issues in the data.
  • Do more things with asyncio.

MIT licensed on GitHub.

Thanks to the super awesome bridging powers of Matrix anyone on WhatsApp can now chat with the bot! Feel free to chat with it and share with anyone who prefers to use WhatsApp!

More magic bridging means Telegram users can now chat with the bot! Please feel free to share with anyone who prefers to use Telegram!

Additionally:

CovBot has a couple of contributors working on it now too πŸ™‚

Check the repo for details!

Final Thoughts πŸ’­

Organising IT Support via Riot

Karl told us:

We are mid in building a team to give free IT support and security help to critical infrastructure operators during Corona times organized via Riot. Added a local alias for this room here at #helpeurope:matrix.org . room where we started creation #helpeurope:matrix.ctseuro.com. Everybody wanting to help is welcome.

Join the room and get involved for more info.

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
1maescool.be369
2imninja.net379.5
3envs.net380
4gottliebtfreitag.de382.5
5swag.industries423
6maunium.net449
7shortestpath.dev452
8lyseo.edu.ouka.fi454.5
9ilmari.org464
10nct08.de485

That's all I know 🏁

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

This Week in Matrix 2020-03-13

13.03.2020 19:16 β€” This Week in Matrix β€” Ben Parsons

Matrix Live πŸŽ™

Matthew talks to Kegan and Neil about the status of P2P Matrix, and about Dendrite development.

You will know Matrix Live as a weekly video produced by the Matrix team and shared on YouTube. We are now offering the same content as an audio-only podcast, as a way of reaching more people. You can find the podcast:

Dept of Status of Matrix 🌑

Matthew on The Changelog podcast

Matthew announced:

The Changelog invited me to do a podcast on all things Matrix - the 90 minutes of high density braindump can be found over at https://changelog.com/podcast/384

Google Summer of Code

We are still welcoming GSoC students who want to apply to work on Matrix projects this summer. You can browse the suggested projects list or submit your own by chatting in the appropriate project room or #gsoc:matrix.org. Student applications begin on Monday!

Dept of Servers 🏒

Dendrite / gomatrixserverlib

Neil Alexander announced:

  • The P2P in-browser demo has been improved to use a single set of keys, like the previous Go demo
  • The P2P code no longer performs unnecessary federation requests to find server keys when they can be derived from the node ID
  • Other hardening bits for the P2P demo
  • Fixed a race condition in Dendrite when creating guest accounts
  • Room version work is progressing still

Dendrite/P2P

Matthew also mentioned the work that is going on with Dendrite P2P:

  • We've got our first ever public Riot running with P2P Matrix, by compiling Dendrite to WASM and embedding it in the browser as a service worker. It's still quite early, but you can try to play with it now at https://p2p.riot.im. You can hear (and see!) all about it in this week's Matrix Live.
  • It's using libp2p (IPFS's network layer) for P2P, coordinating via our shiny new libp2p websocket rendezvous server at https://rendezvous.matrix.org:8443
  • Lots of limitations still: the room directory isn't hooked up; it doesn't persist your database yet; and no store-and-forward for users who are offline.
  • Meanwhile Neil has been making good progress on v3, v4 and v5 room versions in Dendrite
  • Spent a few days in London discussing the shape of P2P and Dendrite to come... watch this space ⭕️

Synapse

Neil reported:

This week we’ve been working on alias abuse support, fixing a SSO limitation with user interactive auth which will allow SSO users to deactivate devices etc. We’ve also fixed a few SSO registration bugs and are currently investigating a push problem causing push to be delayed for certain users.

Next week more of the same, plus a return to Synapse performance work.

Synapse available on OpenBSD

Synapse is now available on OpenBSD from ports. https://marc.info/?l=openbsd-ports-cvs&m=158368701415531&w=2

Thanks Linda for making us aware.

Dept of Clients πŸ“±

Quotient prgressing to 0.6

kitsune announced:

Quotient is getting traction again, with 0.6 release finally in sight. This week a long standing PR from aa13q has been merged with a few (still very much work-in-progress) E2EE additions. One notable change is that by default the master branch (and the upcoming release) now builds without E2EE. This is to relieve packagers from a chore of adding E2EE dependencies (QtOlm and olm) for not much merit, while the work on E2EE stack for Quotient continues. In the meantime, the recommended way of using E2EE with Quotient-backed clients is to use pantalaimon next to your client application.

Nheko

Nheko is a desktop client using Qt, Boost.Asio and C++17. It supports E2EE (with the notable exception being device verification for now) and intends to be full featured and nice to look at

Nico (@deepbluev7:neko.dev) reported:

One could say not much exciting stuff happened. Emily contributed a fix, that drops the filesystem access requirement from the nheko flatpaks. Otherwise I've heard someone working on hiding events in the timeline and some random branches named device-verification appeared. We'll see, where that will lead...

Riot Web

Ryan announced:

v1.5.13-rc.1 available on staging with some more goodies like an option for alphabetically sorted room list, an option to dismiss the read marker and a fix for the right panel causing scroll jumps. Cross-signing work continues and is tantalisingly close to completion for release!

Interesting article about using matrix-client.el with Pantalaimon

gergely offered:

Some folks over at #matrix-client.el:matrix.org suggested i should submit my article here. ItΚΌs about making matrix-client.el able to participate in encrypted rooms via Pantalaimon.

FluffyChat for Android

krille said:

There is a new FluffyChat for Android version in the F-Droid repository:

  • Improved design
  • Minor bug fixes
  • End2End encryption for normal messages (not yet files)
  • Key sharing
  • Device keys verification UI

The encryption feature still needs some testing but should be fully compatible with Riot so far.

Paul added this link which krille previously wrote: https://ko-fi.com/post/FluffyChat-for-Android-and-iOS-S6S71BMEY

And finally:

You can find the F-Droid repository at http://fluffy.chat

RiotX

valere announced:

RiotX 0.18.0 has been released:

Improvements πŸ™Œ:

  • Share image and other media from e2e rooms (#677)
  • Add support for /plain command (#12)
  • Detect spaces in password if user fail to login (#1038)
  • FTUE: do not display a different color when encrypting message when not in developer mode.
  • Open room member profile from avatar of the room member state event (#935)
  • Restore the push rules configuration in the settings

Bugfix πŸ›:

  • Fix crash on attachment preview screen (#1088)
  • "Share" option is not appearing in encrypted rooms for images (#1031)
  • Set "image/jpeg" as MIME type of images instead of "image/jpg" (#1075)
  • Self verification via QR code is failing (#1130)

SDK API changes ⚠️:

  • PushRuleService.getPushRules() now returns a RuleSet. Use getAllRules() on this object to get all the rules.

Build 🧱:

Other changes:

  • Restore availability to Chromebooks (#932)
  • Add a documentation to run integration tests

Riot-iOS

Manu said:

We have been working mainly on cross-signing verification. The QR code verification code has landed in the SDK. Now we are attacking the UI.

Dept of SDKs and Frameworks 🧰

Ruby SDK

Ananace reported:

Just released version 2.0.1 of the Ruby SDK - which should probably by 2.1.0 but I'm apparently quite tired today - adding support for non-final MSCs without polluting the main APIs. Currently only MSC2108 - Sync over Server Sent Events - is implemented, but more MSCs can easily be plugged in as wanted.

As always, #ruby-matrix-sdk:kittenface.studio is available for discussion and questions.

Dept of Bots πŸ€–

auto-invite-matrix-bot

MTRNord reported:

The auto-invite-matrix-bot utility bot now not only can relay invites to one primary account but it also is relaying mentions from your secondary accounts to your primary account now!

Check it out at: https://github.com/MTRNord/auto-invite-matrix-bot

CoV Tracking Bot

You may have learned that recorded cases of COVID-19 are increasing exponentially. Also increasing exponentially are updates from Peter Roberts, who has developed a maubot to help provide information:

My first maubot! It tracks SARS-COV-2 statistics using data from https://offloop.net/covid19/ and was inspired by BrainstormBot on freenode IRC.

It's running as @covbot:shortestpath.dev. Send !cases for world-wide stats or !cases <location> for something more specific. E.g. !cases US.

screenshot

v0.0.1 MIT licensed and on GitHub.

covid-bot-example

he continued

I've done a flurry of updates today:

  • Searching is now limited to countries until search is improved more. I'll add region breakdowns back in soon!
  • When the bot has multiple matches for your search it will let you know what they are and ask for more details.

It's running as @covbot:shortestpath.dev. Send !cases for world-wide stats or !cases <country> for more specifics. E.g. !cases Italy.

v0.0.4 MIT licensed and on GitHub.

and then

Another update:

  • Search within states / regions / counties.
  • Better feedback on ambiguous matches.
  • Made unreliability of recoveries clear in the messaging.
  • Made the messaging clearer when there are no matches.

v0.0.5 MIT licensed and on GitHub

and most recently

A few more changes:

  • Improve search for provinces / regions / states / counties / areas.
  • Add case numbers as well as percentages.
  • Format numbers nicely for humans to read.
  • Add a !help command.
  • Add a !source command to get details on the bot source code and data.
  • Improve handling when fetching the latest data fails.
  • Improve handling of malformed data.

v0.0.9 MIT licensed on GitHub.

You can invite @covbot:shortestpath.dev to your own room to catch the latest.

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
1imninja.net341
2envs.net342
3maescool.be346
4nct08.de420
5maunium.net454
6utzutzutz.net463
7pixie.town496
8shortestpath.dev508
9selfhosted.eu618
10swag.industries684

Final Thoughts πŸ’­

Last week we featured a new stickerpack, Isabella, check out the composite image below!

isabella-monero-girl-all

I got to use a sneak preview of Riot nightly on Electron earlier, look out for more news on that soon if that's your thing.

That's all I know 🏁

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

This Week in Matrix 2020-03-06

06.03.2020 00:00 β€” This Week in Matrix β€” Ben Parsons

Matrix Live πŸŽ™

Dept of Servers 🏒

Dendrite / gomatrixserverlib

Neil Alexander said:

  • Initial support for building for WASM with the P2P demo has been merged into the Dendrite master branch
  • Initial State Resolution v2 code has been merged into gomatrixserverlib master branch, with wiring for Dendrite to follow shortly
  • Further room version support is in progress
  • Error logging now actually reports where errors happened
  • A minor bug in the sync API has been fixed
  • gomatrixserverlib now doesn't make unnecessary key requests over federation

matrix-media-repo

TravisR told us:

matrix-media-repo has early support for IPFS! Currently it's only gateway support, but in the coming days it should be possible to also upload into the IPFS world. See https://github.com/turt2live/matrix-media-repo/issues/115#issuecomment-593772429 for details.

Synapse

richvdh said:

A busy week in Synapse this week! We've released Synapse 1.11.1 to fix a security problem with single-sign-on, Patrick has been putting the finishing touches to the room-alias-spam mitigation measures in MSC2432, and Erik has been doing some exciting work in replacing the inter-process replication protocol for worker-based deployments.

We've also started the design work on single-sign-on support for user-interactive-auth, which we'll be starting implementation work on next week.

Also:

Oh hello... is that Synapse replicating data streams using Redis, paving the way to multi-master Synapse clustering for arbitrary horizontal scalability!?! 😍 pic.twitter.com/E7pcFWQEgC

— Matrix (@matrixdotorg) March 6, 2020

Synapse Deployment πŸ“₯

multi arch synapse docker image

Black Hat announced:

I finally remembered to update my multi arch synapse docker image to 1.11.0. Now with more architectures!

Docker-matrix

Mathijs offered:

The image for synapse 1.11.1 is now available as avhost/docker-matrix:v1.11.1 and mvgorcum/docker-matrix:v1.11.1. As always these images use jemalloc and mjolnir anti-spam.

Dept of Bridges πŸŒ‰

Matrix Icinga notifier

Oleg told us:

Send notifications from Icinga(1,2) to a Matrix room.

v1.2.0

  • Changed POST to PUT for sending the message to comply with the spec (https://matrix.org/docs/api/client-server/#!/Room32participation/sendMessage)

Roadmap

  • New, cool templates from @micha:msqu.de
  • Rewrite in Go and gomatrix (https://github.com/matrix-org/gomatrix) to have a static binary

mx-puppet-slack

sorunome said:

mx-puppet-slack supports xoxc tokens now! That means you are able to bridge slack workspaces without the need of legacy tokens or oauth - no permission from the workspace admins are required for those!

mx-puppet-bridge

mx-puppet-bridge is a general bridging library that supports (double)bridging and relays. The goal is to make it as easy as possible for others to bridge new third-party protocols to matrix. Support room Donate

sorunome offered:

  • Added optional parsing of file metadata (filling in the info block) for images, video and audio (requires ffprobe to be installed)
  • Adding advanced relays --> protocol implementations can e.g. use webhooks to display relayed messages more nicely
  • Add userlist syncing options for rooms

mx-puppet-discord

  • Use the advanced relay to bridge relay messages using webhooks
  • Implement userlist syncing: The userlist on matrix now accurately reflects the discord members in that room

Mumble Bridge

There is a simple Mumble-Matrix Bridge available.

A simple Matrix to Mumble bridge. It sends messages between bridged rooms and tells you when people join / leave Murmur.

Written in TypeScript and based on matrix-appservice-bridge.

The creator, mymindstorm said:

Hello again, I made a public room at #mumble-bridge:evermiss.net

Dept of Clients πŸ“±

gomuks

Tulir announced:

gomuks now supports sending replies, reactions and redactions with commands. You can either run the command (e.g. /react πŸ‘οΈ) first and then select the message with up/down arrows and enter, or you can click on a message to select it first and then run the command.

Ditto v0.3.0 Release

Annie offered:

Ditto is a user-friendly Matrix client for iOS and Android.

Updates

  • Long press to show button for leaving a room
  • Data is stored on the device, you can now browse offline
  • More helpful error messages on login failure
  • Show if a chat has unread messages in chat list
  • Send typing notifications
  • Send read receipts
  • and a lot of other major code-quality things!

See the full list of changes here

Help Wanted

In general, we'll welcome any help if someone would like to contribute - great way to get some experience with React Native! Just reach out!

If anybody has the skill set or interest, we are also looking at creating a React Native specific Matrix SDK to improve performance and allow others to develop RN clients easily.

Website | #ditto:ditto.chat | Contact Annie

RiotX

benoit said:

We have fixed several errors on file and media sending/downloading/sharing. Also we are still working on cross-signing and e2e stabilization.

Riot-iOS

Manu said:

Riot-iOS: We have fixed an issue with push notifications but we are still investigating rageshake logs before doing the release. In parallel, we are still working on cross-signing: QR code and Secret Sharing.

Nheko

Nheko is a desktop client using Qt, Boost.Asio and C++17. It supports E2EE (with the notable exception being device verification for now) and intends to be full featured and nice to look at

Nico (@deepbluev7:neko.dev) reported:

  • We welcomed adasauce as an official member to the Nheko project on Github! Adasauce has been working on a lot of the smaller annoyances and layout issues.
  • Adasauce started working on configuring what events get shown in the timeline on a per room or account wide basis.
  • We have merged the dev branch to master, because it confused a lot of people. If your packages use 0.7.0-dev, now is the time to switch
  • red_sky merged the dev branch and started updating everything, that depends on this branch. This includes the AUR package and our Weblate instance (for translations).
  • Nheko now has experimental support for MSC2448. This adds a blurry preview for images (and videos) sent via nheko directly into the event body (at the cost of ~30 bytes). This considerably reduces latency until clients show something, that isn't an empty box, to preview media, since downloading the media over federation and generating a thumbnail has positive latency.
  • Avatars should now not be blurry when using display scaling. Please report, if this is still happening to you (in the timeline or room list, there is a known issue with the user profile dialog and servers that don't do dynamic thumbnailing)
  • Misc fixes and translation updates from multiple contributors.

Various Riot-theme news

Dylan told us:

Selenized Light, Dark, and Black for Riot! If you have your own build of riot-web you can simply modify the config.json and add this theme to it!

I particularly like the Selenized Dark:

2020-03-06-kxlmu-image.png

Nord Light Theme for Riot is also available from Dylan:

Aaron said:

Dylan created #riot-web-themes:m.dhdf.dev

If you use https://github.com/spantaleev/matrix-docker-ansible-deploy/ it will automatically download and install all of the themes just by setting matrix_riot_web_themes_enabled: true

Dept of SDKs and Frameworks 🧰

simplematrixlib

swedneck reported:

i have updated simplematrixlib and py-matrix-utils adding (among other things) the ability to upload and download media, and send messages! Simplematrixlib is available on PyPi.

simplematrixlib now also has a matrix room, #simplematrixlib:matrix.org (also used for py-matrix-utils)

Dept of Ops πŸ› 

Kubernetes

Ananace announced:

Another image bump, this time to 1.11.1 The accompanying Helm chart I've been writing has sadly gotten rather delayed due to prioritisations at work, so might be a bit until then.

Dept of Bots πŸ€–

OBS bot

msirringhaus told us:

During last hackweek, I wrote a chat bot integration in Rust for openSUSEs Open Build Service. OBS is used for development of the openSUSE distribution and can build packages from the same sources for Fedora, Debian, Ubuntu, SUSE Linux Enterprise and other distributions.

The bot follows given packages and pull requests and pings a room if any changes occur (build finished, PR got commented or accepted, ..).

Sources can be found here, RPMs exist as well.

Dept of Interesting Projects πŸ›°

Matrix Notepad v0.2.1

KB1RD reported:

  • Fixes some bugs
  • Adds a new theme
  • Allows the editing of room names

Unfortunately, there still are bugs. Sorry ;(

2020-03-06-CGTyV-Screenshotfrom2020-02-2812.39.52.png

2020-03-06-oTyHd-Screenshotfrom2020-02-2812.41.03.png

Final Thoughts πŸ’­

There's a new stickerpack available in Riot, Diego "rehrar" Salazar offered:

Isabella the Monero Girl is a fun sticker pack made by Cypher Stack designed to be cute, fun, and used by anyone. We hope you enjoy emoting with Isabella.

We'll have a cool image and more info next week.

Tulir offered:

also working on mautrix-manager, although I'm not sure if/when that'll be ready for general usage

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
1envs.net378.5
2maescool.be379
3gottliebtfreitag.de391.5
4dodsorf.as397
5imninja.net418
6maunium.net437
7shortestpath.dev445
8midov.pl455.5
9ocean.joedonofry.com458
10wcore.org469

That's all I know 🏁

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

This Week in Matrix 2020-02-28

28.02.2020 19:25 β€” This Week in Matrix β€” Ben Parsons
Last update: 28.02.2020 18:57

Dept of Status of Matrix 🌑

Meetup Event in London

This week Matrix held a Meetup Event in London! There were presentations demonstrating E2E Cross-Signing (including the next, sleeker QR codes), P2P in the browser with Dendrite, Message retention, and Github bridging. There was also plenty of P2E* and B2D**.

You can catch up on what was missed by watching this week's Matrix Live (below), or check out the full event playlist, particularly the P2P with Dendrite demo.

* Pizza to eat
** Beer to drink

Γ‰ibhear told us:

Hi TWIM, I don't know if you've noted this yet, but I got my company to interview Matthew and Amandine on their podcast: https://www.version1.com/one-zero-one/matrix-org/. Γ‰ibhear

Matrix Live now available as an audio podcast

Reminder that Matrix Live is also available as an audio-only podcast. You can find the it:

Google Summer of Code

Last week we announced that Google had selected Matrix for the Google Summer of Code progamme, and requested projects get involved under the Matrix banner. We had a great response to this call: Ditto, Ruma, opsdroid and Nheko are all offering projects this year, as well as projects under the core Matrix team.

We updated suggested projects list (more to come), so if you're a student please take a look. Think about what you'd like to work on, get involved with suggested projects, and join #gsoc:matrix.org to discuss.

Dept of Spec πŸ“œ

Spec

anoa offered:

Here's your weekly spec update!

MSC Status

Merged MSCs:

  • No MSCs have been merged this week.

MSCs in Final Comment Period:

  • No FCPs have entered Final Comment Period this week.

New MSCs:

Spec Core Team

Next week the Spec Core Team is focusing on MSC implementation.

Dept of Servers 🏒

Dendrite / gomatrixserverlib

Neil Alexander told us:

  • Experimental support for state res v2 (and, by extension, room version 2) is now in a PR and undergoing testing
  • The hashing algorithm has been fixed which improves federation reliability with Synapse
  • A significant number of SQLite bugs have been fixed and we now have the ability to run Sytest against Dendrite in SQLite mode
  • Kegan has been doing great work on building Dendrite for WASM and running it in the browser as a Service Worker!
  • Sending EDUs in transactions with no PDUs has been fixed, which also seems to fix sending outbound typing notifications

Sydent

Brendan announced:

Sydent v2.0.0 has just been released! πŸŽ‰

The biggest changes in this release are the privacy improvements we've worked on last year, along with Python 3 support and improved documentation.

More details can be found in the full changelog, and folks can get their hands on this new version from PyPI or from GitHub πŸ™‚

matrix-media-repo v1.0.1 patch

TravisR reported:

matrix-media-repo got a v1.0.1 patch release to fix a memory leak. Downloads and the very small changelog available at https://github.com/turt2live/matrix-media-repo/releases/tag/v1.0.1

Matrixmon v0.5.0

jaywink said:

Matrixmon, the perl based c2s probe with metrics to track your Synapse server client API responses is now at v0.5.0 and now allows using an access_token for the probe user.

Synapse

anoa reported:

This week Erik been tackling the work on sharding the master process in Synapse, Patrick has been working on the new room alias semantics while richvdh has been doing some background preparation to allow us to change the way events are redacted in future room versions.

Next week: SSO/User Interactive auth is still in the pipeline, alongside an option to allow users to change their password without logging out their other devices, and of course, more sharding.

Dept of Ops πŸ› 

arm64 support for all Tulir-projects:

The docker images of my projects (specifically mautrix-{telegram,whatsapp,facebook,hangouts} bridges, maubot and mautrix-manager) now support arm64 in addition to amd64. They're multiarch images, so the same tag will work with both architectures.

Dept of Clients πŸ“±

Nheko

Nico (@deepbluev7:neko.dev) offered:

  • adasauce fixed the settings page to properly display on narrow screens, like the PinePhone or Librem5
  • We fixed rooms being stuck on unread. This only applies for rooms, where you receive an event after you updated.
  • Avatars should now render in high res on high dpi screen with display scaling enabled.
  • We fixed some smaller annoyances regarding what happens, when clicking elements of replies and the reply button now only shows on hover (or tap on the right side, like the timestamp, on mobile)
  • We fixed the logic around user interactive authentication needed for registration, which means you should be able to register on servers using recaptcha and other registration requirements again! Note that this currently doesn't seem to work on servers, that use workers. This may be because of a synapse bug, but the jury is still out, it may still be our fault ;-)
  • We wrote some proposals for GSoC, which Nheko was invited to participate in under the matrix.org umbrella.
  • Someone packaged Nheko for Guix!

Nheko in Guix

That "someone" was nixo:

nheko-reborn is now available on the guix package manager! Guix feature reproducible builds, allowing users to verify the binary cache correctness, and the possibility to create tarball/docker images to easily share the build results with all dependencies to systems without guix package manager.

Guix also aims at reducing bootstrap binaries to a minimum (see this blog post for example), reducing the effect of trusting trust attacks. Those properties led guix to be the package manager of choice for bitcoin development.

Riot Themes

Last week Aaron said:

I made a place where you can post Riot Web themes https://github.com/aaronraimist/riot-web-themes

Which like the flap of a butterfly wing has caused a series of events:

A Nord Theme for Riot!

Dylan announced:

If you have your own build of riot-web you can simply modify the config.json and add this theme to it!

A wild Discord themed Riot has appeared!

Dylan reported:

If you have your own build of riot-web you can simply modify the config.json and add this theme to it!

2020-02-28-As3g2-image.png

matrix-docker-ansible-deploy support

Slavi reported:

matrix-docker-ansible-deploy now makes it easy to install custom riot-web themes, either by having you manually define them or by automatically pulling whatever themes are available in aaronraimist/riot-web-themes. To learn more, take a look at our riot-web documentation on Themes.

Fractal

Alexandre Franke announced:

Our current Outreachy intern implemented many nice media related things. Videos now have a preview playing directly in the room history and clicking on them opens a player view with the usual controls.

Audio messages have a nicer presentation too. The audio player downloads the whole file to make seeking possible.

The narrow view (used e.g. on the Pinephone and Librem 5) gained a new swipe-back gesture to go back from room to room list

gomuks

Tulir said:

gomuks now has support for lazy-loading room members, which might mean that small servers won't explode when gomuks does an initial sync.

RiotX 0.17.0

benoit reported:

RiotX: We have released version 0.17.0: new attachment management, with media preview and edition. This release also contains a lot of bug fixes. We are also still working on cross-signing implementation.

Riot iOS

steve told us:

This week we continued to implement verification by QR code at application and SDK level.

Dept of Interesting Projects πŸ›°

Matrix Notepad

KB1RD offered:

Finally, version 0.2.0 is here, which...

  • Introduces the new version of logootish-js
  • Gets ready for conflict resolution systems
  • Fixes some (but not all) bugs encountered (thanks to the new algo)
  • Removes the debug panel in favor of native browser console based debug

Dept of SDKs and Frameworks 🧰

nio template

anoa told us:

...is a template repo based on the matrix-nio library that you can use to get quickly up and running with making simple, yet powerful matrix bots in Python!

πŸ”’οΈ Encryption Support is now built-in πŸŽ‰! This does shift the login model from access token to username/password. Note that by entering a device id however, you won't be creating a new device every time you start up the bot!

Other notable fixes:

  • /sync is no longer spammed! This should take some load off of your homeserver.
  • Config file parsing is a lot simpler now by way of a _get_cfg method, which allows you to easily device down into yaml dictionaries, set default values, mark whether a config value is required etc.

Thanks to alturiak for motivating me to make these changes :)

The repo is https://github.com/anoadragon453/nio-template, and room is #nio-template:amorgan.xyz.

Dept of Bridges πŸŒ‰

mx-puppet-bridge

sorunome told us:

mx-puppet-bridge received a few additions:

  • tulir made a PR to add a provisioning API - said PR is already merged. Thanks a lot!
  • Way better relay mode: You can now configure individual puppets to be a relay rather than a puppet. Additionally you can configure default room visibility and autoinvite.
  • Don't unbridge a room on leaving anymore - it will remain bridged. You can get invites to rooms via the new invite command. With the knock MSC it will also be possible to get an invite via a knock.

If you have any questions, please join our support chat and maybe consider to donate. Thank you!

mx-puppet-slack

tulir made a PR for custom provisioning API endpoints. It is already merged. Thanks a lot!

mx-puppet-tox

mx-puppet-tox is finally functional again! It is updated to the latest mx-puppet-bridge library, giving it all the new features. Yay!

Dept of Bots πŸ€–

Hemppa the bot

Cos reported:

Hemppa the bot gained ability to run shell commands via Matrix. It's a small feature but enables a lot of possibilities in system management and monitoring, home automation, and whatever you can do in linux shell. As an example project I plan to use it for running a script to open hackerspace door with Raspberry Pi's GPIO if sender is a member. https://github.com/vranki/hemppa

remindbot the bot

stefan announced:

remindbot got support for reacting when mentioned. This allows the bot to be used in rooms with more than 2 participants. The timespec got a minor update, supporting now the variant tomorrow HH:MM. Furthermore, the bot now sends a reaction when a notification has been scheduled instead of a noisy message.

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
1gottliebtfreitag.de334
2envs.net349.5
3imninja.net425.5
4swag.industries427
5maunium.net431
6maescool.be594
7shortestpath.dev632
8matrix.vgorcum.com657
9utzutzutz.net688
10matrix.m31.zone712

That's all I know 🏁

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

This Week in Matrix 2020-02-21

21.02.2020 00:00 β€” This Week in Matrix β€” Ben Parsons

Dept of Status of Matrix 🌑

Google Summer of Code 2020

Wise Google have again selected Matrix as a GSOC Mentor Organisation. Matrix has been successful with GSOC for several years now, so please think about what you'd like to work on, get involved with suggested projects, and join #gsoc:matrix.org for more insights.

If you have a Matrix project of your own, and think that you would benefit from mentoring a GSOC student, then let me know. We are very happy to have Matrix-related students working on your project under the Matrix umbrella. (Just like we did with kitsune last year.)

Dept of Events and Talks πŸ—£

It's happening Next Week!!

Are you interested in a real-life, real-time Matrix-related meetup? Can you make it to London? Join us on the 26th February at Second Home in Spitalfields! Check out the agenda and register at https://www.eventbrite.com/e/matrix-london-meetup-26th-february-2020-tickets-93320354693.

Matrix Live πŸŽ™

Spec

anoa offered:

Here's your weekly spec update!

MSC Status

Merged MSCs:

  • No MSCs have been merged this week.

MSCs in Final Comment Period:

  • No FCPs have entered Final Comment Period this week.

New MSCs:

The section where I talk about mscbot

Hey look, I finished.

Spec Core Team

Next week the Spec Core Team is focusing on MSC implementation.

Dept of Servers 🏒

Synapse

Neil announced:

This week we’ve been working on managing alias abuse, and also improved performance for state res v2. The perf work massively improved average send times on matrix.org. Here’s the heat map.

2020-02-21-2wOF1-Screenshot2020-02-21at14.52.52.png

More excitingly we’re working on sharding out the master process in Synapse, so that worker based installations can scale more efficiently.

Next week it’s all about more alias abuse mitigations, fixing some SSO/User Interactive Auth bugs and continuing with our performance work.

Synapse Deployment

Mathijs reported:

The image for synapse 1.11.0 is now available as avhost/docker-matrix:v1.11.0 and mvgorcum/docker-matrix:v1.11.0. As always these images use jemalloc, and mjolnir anti-spam got added to the images.

Ananace told us:

Just pushed the K8s-optimized Synapse images for 1.10.1

and:

Just pushed version 1.11.0 of the K8s-optimized Synapse images, find them on dockerhub as ananace/matrix-synapse

Dept of Bridges πŸŒ‰

matrix-github

Half-Shot offered:

Hola. I wrote the matrix-github bridge a while back to support bridging issues and pullrequests into Matrix as rooms, so that the history of an issue can be tracked within a room, and users can comment on them within Matrix. As of today, you can now bridge in your own notifications into Matrix. It's early days, but is actually proving to be useful.

2020-02-21-t0y89-image.png

matrix-appservice-slack 1.1.0

Half-Shot offered:

More news! This week matrix-appservice-slack has reached 1.1.0-rc1 and included is a whole bunch of puppeting and membership sync features. The headline features are:

  • Add ability to sync Slack channels and users automatically to Matrix
  • Sync Slack membership changes to Matrix
  • Add whoami user command.
  • Create private rooms on demand if they do not exist

...and then...

has reached 1.1.0. Nothing has changed. It's just not called 1.1.0-rc1 anymore.

matrix-xmpp-filter

mijutu offered:

matrix-xmpp-filter can now handle multiple XMPP clients per process and multiple Matrix accounts per XMPP client. It's like matrix-ircd, but with XMPP instead of IRC. Made with libQuotient and libqxmpp. Available at https://k2c42.dy.fi/matrix-xmpp-filter.git Feedback to #matrix-xmpp-filter:ellipsis.fi

mx-puppet-bridge

sorunome said:

mx-puppet-bridge now automatically stops typing indicators for a specific ghost if the remote protocol sends out a message as it.

matrix-discord-parser

sorunome offered:

matrix-discord-parser now utilizes https://mau.lu/ to neatly bridge inline matrix images / custom matrix emojis over to discord! mx-puppet-discord already includes the new version.

Dept of Clients πŸ“±

gomuks: SSO and more

tulir (Mozilla) offered:

gomuks now does single sign-on, which means you can log into mozilla matrix accounts with it.

Check the docs for information on how to add SSO to your Matrix client.

Later:

In addition to the SSO support mentioned earlier, gomuks now has initial support for rendering reactions and full support for edits (both sending and rendering). Some bugs have also been added and/or fixed.

Radical

stoic offered:

Formerly known as Riot WebExtension.

anoa asked:

I'm curious how you got seshat working in a browser, considering wasm doesn't have support for multi-threading?

stoic responded:

it's not actually running in the browser, it uses native messaging to spawn a local rust binary and talk to it over stdio poljar did a great job with seshat, so it wasn't much left for me to do πŸ‘Œ

Radical Native

stoic announced:

Formerly known as Riot Booster Pack.

  • Support for traditional Riot Web over HTTP landed in v0.1beta7, so you can use Radical Native with every Riot instance on the web. We're still in early beta, so no official Firefox AMO install available yet, if you want to give it a try you can follow these install instructions

Riot Web themes repository

Aaron reported:

I made a place where you can post Riot Web themes https://github.com/aaronraimist/riot-web-themes

See also: Riot theming docs

RiotX

benoit told us:

RiotX: this has been a good week on RiotX. We are making progress on cross-signing and SSSS implementation. We are fixing many small annoying issues and also starting to implement little missing features to improve users' life! The big next coming feature is improvement of attachment and share to RiotX flow, already merged in the develop branch, so available in the next release.

Regarding "SSSS", uhoreg helpfully links us to https://github.com/matrix-org/matrix-doc/pull/1946, and also added:

(I usually expand SSSS to "Secure Storage Something Something")

Dept of SDKs and Frameworks 🧰

Matrix Dart SDK (Pattle)

MatMaul told us:

This week a pull request has been pushed to integrate directly the SQL persistence backend inside the SDK, using Moor instead of sqflite. The code is smaller and a lot more readable, and it opens some nice perspectives: Moor has a web backend using sql.js, and now uses FFI by default instead of iOS/Android bindings, which should be faster (untested). https://git.pattle.im/MatMaul/matrix-dart-sdk/tree/moor

Riot iOS

steve announced:

This week is still about cross-signing. We added support of self key verification by to_device and we are currently implementing verification by QR code at SDK level.

simplematrixlib updated

swedneck offered:

I just updated my python library, simplematrixlib, as well as py-matrix-utils, adding the ability to upload files.

ruma

jplatte offered:

Another set of new crates have been released:

  • ruma-events 0.16.0, with a few minor improvements
  • ruma-api 0.14.0 (and ruma-api-macros 0.11.0) has been released, fixing a bug where it would fail to deserialize most matrix requests if used server-side (bug found by timokoesters while experimenting with a new Rust homeserver implementation)

ruma-client-api is also continually being worked on to bring us up to date with r0.6.0 (thanks iinuwa!), but no new release was made this week.

Dept of Bots πŸ€–

auto-invite-matrix-bot

MTRNord offered:

I made a small utility Bot which allows you to redirect people that send messages to one of your "wrong" accounts to your "real" account.

https://github.com/MTRNord/auto-invite-matrix-bot

It currently does join on invite, invites your "real" account and sends a customizable message.

It does also support listening to multiple accounts or Homeservers.

Dad Bot, the saga

If you were in #twim:matrix.org this week you may have seen that the most popular bot was "Dad Bot"...

Dylan reported:

I made Dad Bot for Matrix which mocks users who use "i'm" or "im" in their sentences.

...and then...

Quick update about Dad Bot:

  • I added edits
  • Dad Bot now sends m.notice instead of m.text and doesn't respond to other m.notices

Thanks Dandellion, and KB1RD

...but suddenly...

DadBot 2.0.0 is already here! With the quick feedback given by the community I added all the features

  • Dad Bot will now edit the response message if the original message was edited
  • Dad Bot won't respond to other Dad Bots (lol)
  • Dad Bot won't respond to old messages on the first time syncing

What's in the works:

  • Responding with images in the message
  • Jokes! (because it's not a full dad bot without jokes)

...and finally...

I opened a room for discussions about dad bot if you want to send feedback there. #dadbot:m.dhdf.dev

lightweight reminder bot

stefan said:

I got my first silly matrix bot running last evening. It is a lightweight reminder bot. The source is over there: https://git.sr.ht/~rumpelsepp/remindbot

2020-02-21-WzON0-screenshot.png

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
1imninja.net365
2shortestpath.dev384
3maescool.be405
4envs.net421
5matrix.vgorcum.com535
6gottliebtfreitag.de535.5
7maunium.net545.5
8queersin.space657
9asra.gr672
10saces.de795

That's all I know 🏁

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

This Week in Matrix 2020-02-14

14.02.2020 00:00 β€” This Week in Matrix β€” Ben Parsons

Matrix Live πŸŽ™

Matrix Live now available as an audio podcast

You will know Matrix Live as a weekly video produced by the Matrix team and shared on YouTube. We are now offering the same content as an audio-only podcast, as a way of reaching more people. You can find the podcast:

Dept of Events and Talks πŸ—£

Are you interested in a real-life, real-time Matrix-related meetup? Can you make it to London? Join us on the 26th February at Second Home in Spitalfields! More details to follow, for now please register your interest at https://www.eventbrite.com/e/matrix-london-meetup-26th-february-2020-tickets-93320354693.

Dept of Spec πŸ“œ

Here's your weekly spec update from anoa!

MSC Status

Merged MSCs:

  • No MSCs have been merged this week.

MSCs in Final Comment Period:

No FCPs have entered Final Comment Period this week.

New MSCs:

Random happenings

I (anoa) am still working on the re-write of mscbot. Only needs a few more touches (concern parsing [in comment threads!] and review commands) before it's ready for use.

Spec Core Team

Next week the Spec Core Team is focusing on MSC implementation.

Dept of Servers 🏒

Dendrite

Neil Alexander told us:

  • A big chunk of early SQLite work has been merged into master this week, providing support in the client API, room server, sync API, account/device/key databases, federation APIs, appservice API, public room APIs and media API. Much of this is experimental at this stage.
  • Some missing device management features have been merged (#835)
  • Configuration is now passed by reference rather than by copy (#819)
  • A number of defer-closes have been added to SQL queries (#844)
  • Some gomatrixserverlib types have been updated (#808)
  • Some initial work on retrying failed federation requests has been done, although not merged yet
  • Made it through quite a few PR reviews finally, and will be continuing to do so!

Synapse

Neil told us:

In Synapse land this week we shipped 1.10.0. Which contains a temporary hack to mitigate room alias abuse and an important bug fix for anyone trialling cross signing.

Aside from that we’re working on fixing alias abuse properly. Improving User Interactive Auth for SSO customers and rolled out our new py3 compatible sydent version.

Coming up, more e2ee UX bug fixing, and we’ll start hacking on sharding out event persistence on Synapse’s master process, which basically accounts for 40% of the CPU. The idea is to scale this function horizontally such that Matrix.org is no longer CPU bound after which point much rejoicing can occur.

Synapse Deployment

Ananace announced:

Just pushed the 1.10.0 K8s-optimized images for Synapse, this release contains the necessary scripts to also run signing key generation and upload as a step towards one-click install support for Synapse without any requirements on storage classes.

Mathijs told us:

The docker image for synapse v1.10.0 is now on mvgorcum/docker-matrix:v1.10.0 the avhost/docker-matrix:v1.10.0 will follow shortly.

Dept of Bridges πŸŒ‰

matrix-appservce-irc

Half-Shot told us:

Hey! This week we have a minor release for the IRC bridge, 0.15.2. It contains a few fixes that have been plaguing the matrix.org instances, and will hopefully smooth out some of the reconnection troubles.

Notes from the changelog:

  • The bridge will now notify you if a DM recipient is offline. (#978)
  • Fix "User did not rejoin" error when bridge debounces QUITs (#977)
  • Fix an issue where users were not rejoined to channels on netsplit/password change. (#979)

🌈 matrix-bifrost

Half-Shot told us:

Fresh off the heels of FOSDEM, we've been working on making Bifrost a smoother experience for our XMPP friends.

This week we released 0.1.5-0.1.8 which

contains quite the bundle of features and fixes. The bridge is now running on matrix.org, if you didn't hear the

news so give it a spin by following the instructions on the wiki

Matrix EmailBridge

Jojii reported:

Iam happy to announce some of the new features the Matrix-EmailBridge got recently. It's been some time since the last update came out because I had some other projects to do first.

  • A Docker image is available for the bridge which gets updated instantly.
  • Blocklist of email addresses (prevent displaying emails from certain email addresses)
  • Bugfixes

Dept of Clients πŸ“±

RiotX news

benoit said:

A new Android developer joined the RiotX team! Onuray has started working on Monday on issues and features to get used to the codebase and the process in place.
We are currently preparing a release (v0.16.0) which contains a first implementation of poll (here is a demo), and some bugfixes.
We are still working on stabilizing the cross-signing feature, and optimizing the overall performance and stability of the application.

2020-02-14-image.png

Read more: https://github.com/matrix-org/matrix-doc/blob/travis/msc/inline-widgets/proposals/2192-inline-widgets.md

seshat+riot-powered WebExtension

If you're looking forward to using seshat to index and search your encrypted message history, you may be interested in this work from stoic. The working title is "Riot Booster Pack" - but we're looking out for a better name!

stoic said:

Searching in encrypted rooms in the browser would be nice? I agree, so that's something I'm working on (powered by seshat). If you want to give it an early experimental spin, beware of the dragons and follow these secret steps (Riot Firefox Add-on + Linux & MacOS only, for now):

  1. Install the latest Riot Add-on Prerelease for Firefox (and don't mind the huge red warning page from Riot, skipping that is fine, it'll be gone in the next release)
  2. Adjust the Riot config.json in the Add-on preferences to include the feature_event_indexing labs feature
  3. Follow the instructions to install the Riot Booster Pack
  4. Report bugs πŸ›

Riot iOS

Manu offered:

We have been spending most of our time on cross-signing to manage the m.verification.ready event and the verification by QR code. In parallel, we have fixed some issues and merged some PRs from the community.

Riot Web

Ryan said:

  • v1.5.9-rc.1 is now available at https://riot.im/staging. This includes some security improvements (adding a CSP) for self-hosted installs, options to hide typing notifications, a redesigned invite experience, as well as various bug fixes.
  • The team's main focus continues to be getting cross-signing ready for release, including polishing the verification experience, building Riot with Seshat for desktop platforms, and improving QR codes

new docker container for riot-desktop

Mathijs told us:

Cadair and me (the Matrix Doctors) have been working to make it easy to build the development version of riot-desktop. This resulted in a docker container and an azure pipeline. The latter also builds riot-desktop versions with seshat included for both linux and macOS though currently this requires manually installing sqlcipher (use brew on macOS).

Nheko

Nico announced:

  • sorairolake contributed a complete japanese translation! (#116)
  • adasauce fixed an issue, where the image overlay opened always on your primary screen instead of your current screen (#114)
  • Multiple people have been trying out nheko on their PinePhone or Librem 5. There were some successes, but part of the UI was never intended for that size and there is a nasty crash in the recent nightly, probably related to the networking code/library. We've been working on fixing those issues.
  • There are now nightly flatpak bundles. Stable releases will still be on Flathub, but if you want to try out the development builds, you can download and install those bundles manually.

2020-02-14-librem-portrait.png

2020-02-14-librem-landscape.png

Dept of SDKs and Frameworks 🧰

Famedly Dart SDK E2E Preview

Krille reported:

I'm going to finish the implementation of end to end encryption in our new Famedly Dart SDK. Here is a little preview:

Check it out: https://github.com/famedly/matrix-dart-sdk/

matrix-bot-sdk v0.5.0 released!

TravisR announced:

matrix-bot-sdk has just released v0.5.0 which includes some new helper functions, async storage providers, and a new SynchronousMatrixClient for when you really need things to happen in a specific order. Check out the diff here: https://github.com/turt2live/matrix-bot-sdk/compare/v0.4.1...v0.5.0

ruma

jplatte offered:

  • We released ruma-client-api 0.6.0, with lots of updated API revisions (and also lots of breaking changes). The changelog can be found here
  • ruma-client 0.3.0 is out of beta! This release contains
    • access to the raw http response for non-success responses
    • async/await support πŸŽ‰

Ruby SDK

Ananace told us:

Just pushed version 2.0(.0) of the Ruby SDK, coming with a few backwards-incompatible changes as well as a whole bunch more endpoints exposed as methods on the low-level API client. Docs have been improved tremendously, some internal methods have been properly exposed to make it easier to use in a bot context, and another example's now provided which shows a different way to use the higher-level Client abstraction.

Dept of Ops πŸ› 

matrix ansible modules

JCG said:

After entirely too much time, I finally present my 5 new and improved matrix ansible modules.

  • matrix-notification: This is a port of my upstream matrix module over to matrix-nio and async/await syntax
  • matrix-login: New module to log in and create an access token
  • matrix-logout: New module to log out and invalidate an access token
  • matrix-room: New module to idempotently join or create a room based on an alias
  • matrix-state: New module to idempotently set state in a room

The work on this also included sending a few patches upstream to matrix-nio, so if you want to use the last two modules, you will need to install nio from source from my PR there.

Get the modules now from https://gitlab.com/famedly/ansible/modules/matrix!

Dept of Bots πŸ€–

twim-o-matic ranks by score

This one is a little meta: I've made some improvements to twim-o-matic, the tooling I use to generate TWIM. One of the improvements is that the bot will now sort the output per-section, in descending order of how many reactions the entry received when posted in #twim:matrix.org. So, if you see something you think should be at the top, made sure to react to it!

Even as I'm typing right now I can't think this will lead to any unforeseen consequences at all.

httpdog

Aaron said:

I coded up this real complicated bot... very different from the cat one. HTTP dogs!

(actually just changed two lines in a config file 🐢)

@httpdog:raim.ist replied:

2020-02-14-200.jpg

Matrix in the News πŸ“°

German Blog comparing Matrix to WhatsApp

Oleg offered:

German Blog basicthinking.de posted the article, which compares Riot to WhatsApp completely missing the point of the [matrix] network.

Spoiler: it was.

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
1imninja.net394
2gottliebtfreitag.de408.5
3shortestpath.dev470
4maunium.net491
5matrix.vgorcum.com557
6finallycoffee.eu561
7queersin.space585
8envs.net624
9andresco.de633.5
10kittenface.studio687

That's all I know 🏁

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

This Week in Matrix 2020-02-07

07.02.2020 00:00 β€” This Week in Matrix β€” Ben Parsons

Matrix Live πŸŽ™

Every month (in theory), we do an in-office wrap-up of some interesting project work from the team. This Matrix Live was recorded this afternoon in the Matrix Office, and features Valere explaining Cross-Signing, and Matthew demonstrating P2P/dendrite. (Apologies for the incorrect recorded screen at times! Video came straight from a live demo!)

Dept of Spec πŸ“œ

Here's your weekly spec update!

MSC Status

Merged MSCs:

No MSCs were merged this week.

MSCs in Final Comment Period:

No MSCs entered FCP this week.

New MSCs:

No new MSCs have been created.

Random happenings

I (anoa) have been re-writing mscbot as it hasn't gotten much development love in the past year and there's lots of features we'd like to implement. Expect to see some of that next week. First feature the new implementation has is being able to track who is in the Spec Core Team via github teams instead of a config file.

Spec Core Team update

The Spec Core Team is working on MSC2260, MSC2261, and a QR-via-SAS thing which uhoreg is currently working on (this means less complicated, easier-to-scan QR codes for verification, which may have the side effect of FOSDEM demos being slightly less hilarious).

Dept of Events and Talks πŸ—£

FOSDEM 2020

FOSDEM happened, Matrix had a great time! Was awesome to see so many people at the stand, and the talks, and even at our social on Saturday night.
Congratulations to everyone who was able to buy a limited edition Matrix FOSDEM 2020 t-shirt! Check out our round-up here.

@florian:dsn.tm.kit.edu said:

Reporting from FOSDEM: Currently sitting in the Fixing healthcare data exchange with decentralized FOSS: Building a decentralized Infrastructure to fix medical data exchange in The Netherlands talk, and was pleasantly surprised to learn that they also want to integrate Matrix for decentralized messaging between healthcare providers themselves and patients.

Mathijs announced:

last week was FOSDEM and it was great!

Yes we covered that.

Matrix Meetup: London, 26th February 2020

Are you interested in a real-life, real-time Matrix-related meetup? Can you make it to London? Join us on the 26th February at Second Home in Spitalfields! More details to follow, for now please register your interest at https://www.eventbrite.com/e/matrix-london-meetup-26th-february-2020-tickets-93320354693.

Dept of Services πŸš€

ungleich.ch offering paid Matrix hosting

@nico:ungleich.ch told us:

I was just pointed to here by evilham because of https://twitter.com/ungleich/status/1224375895995113474 - maybe it's of interest for anyone

This is quite exciting - a new provider is offering Hosted Matrix solutions, based in Switzerland. Go check out their offering: https://ungleich.ch/u/products/hosted-matrix-chat/.

Dept of Servers 🏒

Dendrite

Neil Alexander reported:

Quite a lot has been happening in the Dendrite space, both in terms of general development, usability improvements and also further P2P experimentation post-FOSDEM. The main highlights are:

  • We have decided to require Go 1.13 for Dendrite going forward (our CI and tools have been updated to reflect this requirement)
  • Some federation testing has taken place between Dendrite and Synapse and it's looking reasonably good bar a few bugs
  • Initial support for distinguishing room versions has been added - this is the foundation work for being able to implement state resolution v2 and later room versions soon
  • The /capabilities endpoint has been implemented and now contains information about m.room_versions
  • Account data GET endpoints have been implemented
  • Guest registration should now be working - thanks to prateek2211 for the contribution!
  • The public rooms API is now wired up for roomserver events and (mostly) works for local rooms
  • Some more /sync fixes are in now
  • SQLite work is continuing thanks to Kegan's on-going efforts

We've also been really encouraged by the number of people at FOSDEM who came to speak to us about Dendrite and P2P. We're hoping to strategise further about the P2P work further in the coming weeks once Dendrite is in better shape, so watch this space!

Synapse

This week we’ve been working on alias auth rules, acme v2 support and moving groups apis onto a worker to aid performance. Sorry matrix.org has been a bit slow these past few days, we’re working on it and shipped some fixes earlier today.

Coming up are more perf improvements, more alias rules, getting sydent running in production on python 3. We’ll also ship v1.10.0 which contains some cross signing bug fixes.

Docker-matrix

Mathijs told us:

A docker image for synapse 1.10.0rc2 is available on mvgorcum/docker-matrix:v1.10.0rc2

Dept of Bridges πŸŒ‰

matrix-appservice-irc 1.15.0

Half-Shot announced:

Good people, 0.15.0 is out!. Please go ahead and read the changes and see if there is something you like :). We will be shipping this out to all the other bridges in due course :)

mautrix-telegram

Tulir said:

I released v0.7.1 that includes some minor bugfixes, then added a !tg backfill command to backfill all history since the last bridged message. Future improvements may include more control over how many messages to backfill, automatically backfilling for new portals and freezing incoming message handling when a backfill is in progress.

Dept of SDKs and Frameworks 🧰

maubot

There's a new maubot plugin to post http.cat pictures to a room. It's installed into Cat Disruptor 6000 and can of course be self-hosted too. It has one command: !http \<status\>, that gets https://http.cat/<status>.jpg and posts it to the room.

mautrix-manager

Some time ago I also made this thing: https://github.com/tulir/mautrix-manager. It might theoretically do something useful in the future, such as allowing users to log into bridges from a single website instead of by talking to many bots. Currently it only does telegram and maybe facebook, but at least it has a fancy login UI. It could also support being embedded into Riot as a widget and/or integration manager at some point, since I made the auth thing with Matrix's OpenID feature and MSC1961.

Quotient project revived

kitsune told us:

The Quotient project is back from hibernation now that its lead developer settled in another half of the globe; commits and PRs start moving around again. Thanks to all those patiently waiting!

Dept of Clients πŸ“±

Nheko

Nico said:

  • You can now select more emojis in the emoji picker. (your font may not support them yet)
  • The timeline should scroll a lot faster and room switching should be a lot faster.
  • Fixed some alignment and sharpness issues in the logo
  • You can now mute rooms (or set them to mentions only)!
  • Some fixes around all kind of weird html escaping in usernames and messages.
  • Move the reply popup into the timeline to fix some alignment issues and improve the look and feel.
  • Fix an issue, where on windows the maximum database size was set to only a few bytes because of integer overflow.
  • Fix a regression when importing key backups from Riot.
  • Nheko now only sends the file name of a file as its name instead of the full path, fixing a privacy leak.

Riot WebExtension 🧩

stoic reported:

Version 1.5.8.5 is out

  • SSO Login is now supported (so mozilla.modular.im logins work πŸŽ‰)
  • Updated Riot Web to stable version 1.5.8
  • Firefox-only:
    • Now correctly reopens riot tabs that were in containers when the Add-on updates
    • General tips on how to use containers to have multiple accounts can be found on the AMO description
  • Get the Firefox Add-on here
  • Get the Chrome Extension here

Riot iOS

Manu reported:

This week, we polished the E2E by default and cross-signing features we have implemented so far.

Riot Web

Ryan offered:

  • Continuing focus on cross-signing post-FOSDEM to get everything ready for release
  • QR codes and key sharing improvements planned for delivery in the near future
  • Improved Seshat integration in Riot Desktop with more status info

Riot-Android

benoit reported:

Riot-Android (yes, the legacy app!): We have fixed the issue with SSO login with Firefox accounts, and issue with Video Call. Expect a release at the beginning of next week.

RiotX

benoit announced:

RiotX: we are still stabilizing the cross-signing implementation. Many other fixes are coming. Also SSO issue with Firefox accounts has been fixed, and we will also release a new version of the application next week.

matrix-presents

...is a matrix presentation client. The room of interest is #presents:half-shot.uk

It's also had a fair few changes since last time:

  • QR codes now render if you are the presenter, for easy joining.
  • You can react to slides as a guest, and they show up on the presenters screen :).
  • Slides and their contents are cached in indexedeb (browser storage), to lessen the load on homeservers.
  • Add UI to create rooms in the client, albeit without an editor just yet.
  • Various CSS tweaks to try and make life better.

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
1imninja.net435
2helsinki-systems.de449
3lyseo.edu.ouka.fi450.5
4encom.eu.org463.5
5matrix.vgorcum.com525
6maunium.net547
7gottliebtfreitag.de563
8neko.dev716
9openastronomy.org736
10t2bot.io755

That's all I know 🏁

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

This Week in Matrix 2020-01-31

31.01.2020 00:00 β€” This Week in Matrix β€” Ben Parsons

Dept of Status of Matrix 🌑

This weekend Matrix will be well represented at FOSDEM! We'll have a stand (come visit!), but also note that we have THREE speaking slots (all on Sunday):

No Matrix Live today - look out for a special edition this weekend!

FOSDEM logo

Dept of Spec πŸ“œ

Spec

anoa told us:

Here's your weekly spec update!

MSC Status

Merged MSCs:

No MSCs were merged this week.

MSCs in Final Comment Period:

No MSCs entered FCP this week.

New MSCs:

Random happenings

MSC2260: Update the auth rules for m.room.aliases events and MSC2261: Allow m.room.aliases events to be redacted by room admins are being progressed to help address ongoing alias spam, while [WIP] MSC1543: Key verification using QR codes has been updated as the feature is being implemented for cross-signing - to be demoed as FOSDEM this weekend! Sorunome's MSC2403: Add "knock" feature

Spec Core Team update

The Spec Core Team is still working on implementation. Expect things to ramp up again after FOSDEM! (Looking forward to seeing some of you there!)

Dept of Servers 🏒

Synapse

Neil offered:

This week we’ve been continuing our E2EE UX bug hunt, getting Sydent ready for python 3, working on alias rules (MSC2260, 2261) and fixing some bugs in our ACME support.

Next week, we’ll ship the new improved Sydent, keep going with alias rules and dust off our master process sharding plans.

Synapse Deployment

Many projects updated:

Ananace announced:

Just pushed updated 1.9.1 tags for the K8s-optimized Synapse images, including support - and example config - for running with securityContext features enabled. With a separate media repo, it's now fully possible to run these images without root, and in completely read-only environment.

Mathijs announced:

The synapse 1.9.1 release images are available on avhost/docker-matrix:v1.9.1 and mvgorcum/docker-matrix:v1.9.1 The latter image also contains simple-antispam

and then

A docker image for synapse 1.10.0rc1 is available on mvgorcum/docker-matrix:v1.10.0rc1

ma1sd 2.3.0 released

ma1uta announced:

ma1sd 2.3.0 https://github.com/ma1uta/ma1sd/releases/tag/2.3.0 Changes:

  • Load DNS overwrite config on startup (from https://github.com/NullIsNot0)
  • Remove duplicates from identity store before email notifications (from https://github.com/NullIsNot0)
  • Fix room name retrieval after Synapse dropped table room_names (from https://github.com/NullIsNot0)
  • Add logging configuration. Add --dump and --dump-and-exit options to just print the full configuration.
  • Add the postgresql backend for internal storage.
  • Improve logging configuration. Introduce the root and the app log levels.

Dept of Bridges πŸŒ‰

mx-puppet-bridge

sorunome offered:

mx-puppet-bridge got some updates!

  • way more tests (still not good enough test coverage, though!)
  • enhanced reaction support (reaction deletions/redactions are now properly bridged from and to matrix)
  • presence status now sets im.vector.user_status event to be in line with riots status labs feature (why doesn't riot just use the spec on presence status here?!)
  • add a message deduplicator class that protocol implementations with echo back can easily implement
  • fix various small bugs

As always, if you have any questions check out the support channel and please consider to donate! (Thanks sooooo much to everyone who donated so far!) 🦊

matrix-slack-parser

matrix-slack-parser is, similar to matrix-discord-parser, a parser for slack->matrix and matrix->slack messages. It has been created over this week and does proper parsing (meaning HTML parsing and slack blocks, etc.). mx-puppet-slack already implements this, which leaves matrix-appservice-slack to follow suit! (cadair expressed interest, so looking forward to that!)

Dept of Clients πŸ“±

Nheko

@deepbluev7:neko.dev offered:

Nheko has added support kicking, inviting and banning/unbanning via the commands /kick, /invite, /ban and /unban with an optional reason specified after the userid. Kick and Ban buttons were also enabled for the userprofile. Furthermore some shortcuts for switching rooms (Ctrl+Up/Down) and paginating the timeline (PgUp/PgDown) were added. The shortcuts may change in the future though, so if those don't work for you, please give us feedback in #nheko-reborn:matrix.org or via the issue!

RiotX cross-signing implementation

benoit said:

RiotX: the team is mainly working on cross-signing implementation and device verification with QR code. It's nearly there https://twitter.com/matrixdotorg/status/1223205391531683845 !

FluffyChat Flutter is getting a Dark Mode

MTRNord said:

Sneak Peak of the next FluffyChat Flutter Update :)

FluffyChat Flutter is getting a Dark Mode for both mobile and web. Including a AMOLED compatible color version.

FluffyChat-Flutter

Dept of Bots πŸ€–

New Project: Pluggable Chatbot (PCB) written in Go

@sava:chat.zorbiro.com announced:

I started a new Pluggable Chatbot (PCB) written in Go. Still early development, but working hard on it. Bot is pluggable, meaning more functionality can be easily added to it. Check it out at https://github.com/srados/pcb.
Currently there are two examples available: echo and uppercase.

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
1matrix.jhell.org335
2server.matrix4ulm.de357.5
3remi.im383
4gottliebtfreitag.de386
5dodsorf.as443
6maunium.net453.5
7rcel.li470
8miniwa.space509.5
9aegiszero.is521
10geekbundle.org526

Final Thoughts πŸ’­

Half-Shot offered:

I know it's a bit naughty to post rooms in here, but for developers looking to play around with Vue.js (with matrix), we've created a support room over at #vue:half-shot.uk

That's all I know 🏁

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