This Week in Matrix 2019-08-02

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

Matrix Live

I chatted to Rick about the new Small instances available on modular.im.

Dept of Spec 📜

Approved MSCs

No MSCs have been approved.

Final Comment Period

In Progress MSCs

(kudos to anoa for providing this well-formatted summary section)

KaTeX rendering support

Tim:

there's now a pull request in for full native math rendering support (via KaTeX), which will replace the shoddy bot that I made last week (or whenever)
https://github.com/matrix-org/matrix-react-sdk/pull/3251

Dept of Servers 🏢

Synapse

This week we’ve been working on implementing identifier hashing in sydent, a brand new installer for Synapse, we’ve trialled some new db perf improvements which look very promising (more on this soon) and finally very close to an all new implementation of room search.

Next week we’ll push out the all new Sygnal, continue with the installer and room search and pick up some tasks under our privacy umbrella to ensure that Synapse is not holding onto any data that it does not strictly need to.

Dendrite

anoa:

Dendrite progress marches forwards. This week we had:

  • Room tagging implemented (thanks peekay_46!)
  • A PR for redactions opened by our GSoC student cnly
  • A PR for authentication fallback (for when clients don’t have a web browser built in and want to use recaptcha from trion129
    • This has been in the works for a while, and just has a couple small changes left to go!
  • Two PRs for filtering database functionality from CromFr
  • A PR for fixing the scope of transaction IDs in Dendrite’s transaction cache from cnly

Cnly’s GSoC period ends on August 26th. He has been a massive boon to the project’s cadence so far and we hope he will continue even after GSoC ends when he has time :)

Dept of SDKs and Frameworks 🏗

koma, Kotlin Library

yuforia has this update about koma, the library used to power continuum:

Provide automatic deduplication and rate-limiting when downloading media resources. This improves performance of GUI applications, where avatars of many users may appear on screen at once, and some of them may be identical.

libQuotient

kitsune:

libQuotient's master branch now supports sending and receiving reactions, and receiving message edits. We also have another PR in the works from aa13q that would add support for events decryption, as a part of his GSoC endeavour.

Dept of Clients 📱

Fractal 4.2 released

Alexandre Franke announced a new edition of Fractal:

Nightlies of Fractal are currently stuck on a 2 weeks old build because of one of our dependencies… but the long awaited 4.2 stable release is out! You can get it out fresh from flathub as usual.

Changelog:

New features:

    Adaptive window, mobile friendly
    Window size and position are remembered
    Redesigned login
    Spellcheck
    Network proxy support
    Typing notifications
    Badges are shown for operators and moderators
    Keyboard shortcuts for easier navigation across rooms

Better uploads:

    Audio and video files are now tagged correctly
    Image files have a thumbnail
    Various tweaks to the file chooser

Bugfixes:

    Logs actually output something now
    A few issues with invites and direct chats have been resolved
    More reliable scrolling
    Some crashes fixed

Under the hood:

    Code refactor continues
    We’re now using Rust 2018
    Many improvements to the build system and CI

Neo huge update!

joepie91:

Lots of news about Neo!

  • There's now an additional maintainer (joepie91)!
  • A lot of the internals have been refactored, so they should be more maintainable and reliable going forward. Also some future work planned on refactoring the state handling using Redux, which should make it much faster to fix issues and add new features in the future. There are even some ideas already for a future plugin API!
  • Display has been improved in a lot of places. Error messages are now more clearly formatted, images in reply-quotes are now shown as thumbnails rather than just a filename, and the reply-to popup now shows the full event that you're replying to properly. The chat window now correctly sticks to the bottom when you're scrolled to the end and receive new messages, even when an image or video loads - though per-room scroll position restoration isn't done yet.
  • There's now an experimental compact mode! It uses a more IRC-client-like layout for messages, and generally just fits more content onto the screen. It can be enabled with an experimental flag. A screenshot of the compact mode can be found here.

You can try the compact mode at https://neo.pixie.town/app/?compactMode=true.

Riot Web

Message editing composer now supports undo/redo.

Riot iOS

  • Reactions: List of who reacted
  • Native Camera. The embedded camera view has been removed. There is now a new action “Take photo and video”
  • Privacy: We have been working on implementing terms to display before using integrations

Riot Android

  • VOIP / Remove default stun server
  • Make Integration Manager optional (disables widgets, calls)

RiotX (Android)

  • Feature / Direct Room Creation Flow
  • Improvement / Local echo of pending edits
  • Improvement / Seamless transition from timeline to fullscreen image preview
  • Bug fixes

Pattle

Wilko:

Pattle is now available on Google Play!

Dept of Bridges 🌉

Half-Shot:

Hey folks, first an update from the bridges integrations side. We've brought back snoonet and oftc on the integrations menu so you can once again connect matrix rooms to these networks. Other networks should work as standard.

matrix-appservice-irc

Half-Shot again:

On the matrix-appservice-irc side we've made a few fixes to the handling of IRC modes (things that handle how users should behave) when bridged to IRC. This should hopefully make opping and voicing users more reliable. There are a few other fixes in the pipeline too, so a release isn't too far off.

GitHub issue bridging !?

Half-Shot AGAIN:

I had an adventure this afternoon into the world of bridging again, and have made a Github to Matrix bridge. At the moment you can join aliases and saturate your homeserver with the entire history of a issue or PR. You can also chat to folks on issues in realtime.

Check it out at: https://github.com/Half-Shot/matrix-github

GitHub issue bridging

Dept of Ops 🛠

debian-based K8s-optimized image

Ananace:

Just pushed a debian-based K8s-optimized image as well, it's 150MB larger than the alpine one, but on the other hand it comes with jemalloc support so it's nicer on the RAM instead.

CLI federation tester

kai is someone with no fear of rapid iteration! Versions 1.2, 1.3, 1.4 and 1.5 of his script were made available this week:

I finished version 1.5 of my small command line based federation tester. The bash script relies heavily on popular Unix tools like awk, curl, jq, sed and so on. Compared to https://federationtester.matrix.org, the outputs are a little more detailed and additional tests are performed, especially on the supported SSL protocols. Currently, it has only been tested under Linux.
The current version improves the handling of port in the .well-known and DNS SRV configuration.
You can download it from #cli_federation-tester_de:matrix.chat-secure.de or directly via https://matrix.chat-secure.de/_matrix/media/r0/download/matrix.chat-secure.de/MDwYLdrxRdudmcgDzBEALCzN

Dept of Bots 🤖

jcgruenhage has been working on a bot in relation to the startup he's working with:

I made a bot for issuing Json Web Tokens to matrix users based on what homeserver they are on. It's implemented as a maubot plugin (best way to write bots right now) and licensed under the AGPLv3. You can find it over at https://gitlab.com/famedly/bots/jwt, and talk about it in #jwt-bot:famedly.de
As for the usecase, we want to give people from customer homeservers access to an API component, but don't want to maintain a separate account database. This way, they can request a token from the bot and then use that to interact with the API component

Dept of Services 🚀

jaywink used an underrated HTML tag tag to inform us:

<Feneas community hat> We've added a public fully featured Telegram bridge to our Matrix stack. More info in our forum. </Feneas community hat>

This is great - we must tip the hat to tulir, creator of this widely-used bridge.

Final thoughts 💭

red_sky: Nheko now has a weblate instance set-up for users to contribute translations: https://weblate.nheko.im/engage/nheko/

Interview about DINSIC's use of Matrix (all in French)

That's all I know 🏁

So that's all I have to say to you right now! See you next week, and be sure to stop by #twim:matrix.org with your updates!