matrix.org/content/blog/2019/08/2019-08-09-this-week-in-mat...

283 lines
16 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

+++
title = "This Week in Matrix 2019-08-09"
path = "/blog/2019/08/09/this-week-in-matrix-2019-08-09"
[taxonomies]
author = ["Ben Parsons"]
category = ["This Week in Matrix"]
[extra]
image = "https://matrix.org/blog/img/2019-08-09-stickers.jpg"
+++
## Matrix Live
Something a little different this week: Erik helped me install Prometheus logging on my own homeserver, and we recorded it for Matrix Live.
{{ youtube_player(video_id="zCQt_I68LYI") }}
Interesting reading: <https://github.com/matrix-org/synapse/blob/master/docs/metrics-howto.rst>
## Dept of *Status of Matrix* 🌡
### The Official Merch Store
`<blink>`**YOU NEED MATRIX MERCH**`</blink>`
Yes, it's true: Official Matrix Merch is available now. There are stickers, t-shirts and hoodies all available now, go and claim yours from <https://shop.matrix.org>.
![stickers](/blog/img/2019-08-09-stickers.jpg)
`<blink>`**CONSUME**`</blink>`
### Free Open Source Conference appearance from Oleg
[Oleg](https://matrix.to/#/@oleg:fiksel.info):
> I will be doing a talk on Matrix this weekend (tomorrow) at the annual Free Open Source Conference (FrOSCon) in Sankt Augustin (Germany).
If you are around - come by and get some awesome [matrix] stickers! =)
<https://programm.froscon.de/2019/events/2330.html>
Visit [#FrOSCon2019:froscon2019.fiksel.info](https://matrix.to/#/#FrOSCon2019:froscon2019.fiksel.info) to talk about the event.
## Dept of Spec 📜
**Approved MSCs**
[[MSC 2134]: MSC2134: Identity Hash Lookups](https://github.com/matrix-org/matrix-doc/pull/2134) 🎉
**Final Comment Period**
*No MSCs have entered FCP*
**In Progress MSCs**
[[MSC 2213]: Rejoinability of private/invite-only rooms](https://github.com/matrix-org/matrix-doc/pull/2213)
[[MSC 2214]: Joining upgraded private rooms](https://github.com/matrix-org/matrix-doc/pull/2214)
## Dept of Servers 🏢
### Dendrite
Huge update from Andrew:
> This weeks stats for Dendrite are in! **4 authors** have pushed **11 commits** to master and **11 commits** to all branches. On master, **48 files** have changed and there have been [676 additions and 146 deletions](https://github.com/matrix-org/dendrite/compare/master@%7B1564757067%7D...master).
>
> Of note are the following merged PRs:
>
> * [Implement client single event retrieval - #671](https://github.com/matrix-org/dendrite/pull/693)
> * You can now request a single event from Dendrites DB, assuming you have permission to view it.
> * [Account data events filtering database API](https://github.com/matrix-org/dendrite/pull/513) and [State events filtering database api](https://github.com/matrix-org/dendrite/pull/438)
> * Very old PRs from CromFR have been updated and finally merged! These lay the groundwork for providing filters across various API endpoints (used in search, /sync, etc)
> * [Add typingserver service to docker-compose](https://github.com/matrix-org/dendrite/pull/692)
> * Another fairly old PR by [viccuad](https://github.com/viccuad) (their first for Dendrite!) finally reviewed and merged.
> * [Fix permission and 404 response for alias deletion - #654](https://github.com/matrix-org/dendrite/pull/706), [Replace membership and visibility values with constants](https://github.com/matrix-org/dendrite/pull/774), [Implement profile retrieval over federation - fixes #651](https://github.com/matrix-org/dendrite/pull/726) (this one is very useful), and [Fix transaction IDs in transaction cache have global scope](https://github.com/matrix-org/dendrite/pull/772)
> * A myriad of changes and fixes by cnly
>
> We also have a number of PRs that were moved forward but not merged. [Add auth fallback endpoint](https://github.com/matrix-org/dendrite/pull/405) (our oldest PR at the moment!) which we mentioned last week is so very close, but not quite there in time for this TWIM.
>
> In terms of passing Sytests, Dendrite now passes **172 tests**, up from **167** last week. This is out of **761 tests** in total. So just a small bump (0.6%), but note that things that are crucial for Dendrite development at the moment, such as federating, only cover a small subset of tests, so each passing one can bring us much closer to getting Dendrite usable day-to-day.
### Synapse
From Neil:
> The big news this week weve landed some massive DB improvements (https://github.com/matrix-org/synapse/pull/5706) which should make message sending on matrix.org (and any other server) feel noticeably snappier. :) It'll be in the next release.
>
> Outside of perf, weve also been continuing with our privacy project, sydent now supports hashing third party identifiers instead of storing the raw form, and in the coming week well look at minimising the meta data we store. You can track our progress across the full project here (<https://vector-im.github.io/feature-dashboard/#/plan?label=privacy-sprint&repo=matrix-org/synapse&repo=vector-im/riot-web&repo=vector-im/riot-ios&repo=vector-im/riot-android&repo=vector-im/riotX-android&repo=matrix-org/matrix-doc&repo=matrix-org/sydent>)
>
> Work continues on our installer to make it easier to configure Synapse and well be looking for some community feedback rsn. The room directory revamp is now very close and we hope to have something live on matrix.org in about a week.
>
> Finally were working on improving the efficiency of smaller instances sending messages into large rooms, were still at the design stage, but it will make a huge difference for anyone self hosting.
[andrewsh] also informs us:
> synapse in up-to-date in Debian unstable — and in buster-backports (uploaded last week)
### Ruma
This Week in Ruma: <https://ruma.dev/news/this-week-in-ruma-2019-08-04/>
Also, get live-streamed Ruma development: <https://www.jimmycuadra.com/posts/twitch-live-streams-of-ruma-development/>
Does the video include time spent waiting for `async` to land in Rust?
### signaller - new "lightweight server"
[ChronosX88](https://matrix.to/#/@chronosx88:netwhood.online) announced that he is "developing a lightweight Matrix server" - check on their progress at <https://github.com/signaller-matrix/signaller>, also join [#signaller_dev:netwhood.online](https://matrix.to/#/#signaller_dev:netwhood.online).
### TravisR announces various unstable *interesting* things
[TravisR]:
> If you fancy running highly experimental software on your homeserver which might break things, I have two things for you:
>
> 1. [matrix-key-server](https://github.com/t2bot/matrix-key-server) ( #matrix-key-server:t2bot.io ) is an implementation of a Matrix key server with notary support. Although it follows the specification, it has not been tested against Synapse. It is however fully featured: check it out on the federation tester ( <https://federationtester.matrix.org/#keys.t2host.io> ) or by querying it yourself ( <https://keys.t2host.io/_matrix/key/v2/query/matrix.org> ).
>
> 2. [matrix-room-directory-server](https://github.com/t2bot/matrix-room-directory-server) ( #matrix-room-directory:t2bot.io ) is less experimental than the key server but is still very early days. Currently it only offers the ability to manipulate the federated public room directory for your server, but in future it is planned to be its own standalone directory server (room aliases without having to run a whole homeserver). Check it out by searching the t2bot.io room directory from your client.
## Dept of Clients 📱
### Continuum progressing!
I love getting updates from [yuforia] - they've been consistently working on [Continuum] for some time, and by increments are making a great client.
> Reuse the ListView of messages across different rooms to reduce memory usage
> (Experimental) Remember and refocus the last read message, making it easier to go through all unread messages while switching chat rooms freely.
### QMatrixClient is now Quotient
[kitsune]:
> Renaming of QMatrixClient to Quotient has been finally merged to the master branch; Quaternion master uses it from now, too. Packagers are welcome to make test builds and report bugs in [#quotient:matrix.org]. libQuotient 0.6 beta is coming close now!
### Riot iOS
> * Test on iOS 13 Beta. Beta 6 fixed most bugs discovered on Beta 5
> * Released 0.9.2 (Waiting for Apple review at the time of writing)
> * Working on privacy concern.
### Riot Android
> * Working on privacy concern.
### RiotX (Android)
> * Release of v0.3.0 on Friday: full changelog can be found here: <https://github.com/vector-im/riotX-android/releases/tag/v0.3.0>
> * We are working on read receipt management, its nearly functional
## Dept of Identity 🛂
### ma1sd 2.1.1
[ma1uta] announced [ma1sd] release 2.1.0:
> Changes: reworked unbind (MSC1915).
>
> Now ma1sd is compliant with the MSC1915 (unbind).
and then 2.1.1:
> ma1sd release 2.1.1 with the security fix and more strict request validation, allows only requests from ma1sd's matrix domains (mirroring bind).
> Download links: <https://github.com/ma1uta/ma1sd/releases/tag/2.1.1> (archives and the deb package) and <https://hub.docker.com/r/ma1uta/ma1sd> for docker image.
## Dept of Bridges 🌉
### mautrix-facebook, mautrix-telegram and the tulirverse
[tulir] has been making big updates to two of his bridges:
> [mautrix-facebook](https://github.com/tulir/mautrix-facebook) can now bridge formatting, mentions, replies and reactions in both directions.
There is also a logout command now.
> [mautrix-telegram](https://github.com/tulir/mautrix-telegram)'s switch to [mautrix-python](https://github.com/tulir/mautrix-python) is nearly finished (i.e. it didn't cause any errors for the past few days when testing in production). The main reason for the switch is using one Matrix library for all my python bridges. It also means the bridging code like double puppeting and command handling I shared between mautrix-facebook and mautrix-hangouts is now also used in mautrix-telegram.
>
> Visible changes directly caused by using mautrix-python:
>
> * Logs are now colorful.
> * Python 3.5 is no longer supported.
> * The bridge will refuse to start without access to the base config file.
>
> Other changes that happened during the switch:
>
> * Telegram "Saved Messages" can now be bridged even when using double puppeting.
> * Mentions on Telegram are marked as read when using double puppeting (messages were already being marked as read, but mentions weren't).
>
> Also, this actually happened last week and the week before that, but anyway: I've moved the CI and docker registry of my active projects to a self-hosted GitLab at [mau.dev](https://mau.dev).
> Specifically, the CI/docker registry for all four mautrix bridges and maubot and automatic builds for gomuks have been moved. My maubot plugins also have automatic .mbp builds in the CI. For the docker registry, prepending `dock.mau.dev/` to the existing image names will work.
> The old places (docker hub, dl.maunium.net) won't get new builds anymore. The repos on GitHub are still the "canonical" repos, but they're mirrored more or less instantly with [maumirror](https://github.com/tulir/maumirror).
He adds:
> [mautrix-telegram] will probably get some sort of history filling in the near-ish future
Also,
> I'm going to add some way to put bridged rooms into personal communities for filtering purposes. Not yet sure if it'll be fully built into the bridges or some kind of an external script
### IRC bridge RC
[Half-Shot]:
> Hi folks, we've released a RC of the next irc bridge version. Check it out at <https://github.com/matrix-org/matrix-appservice-irc/releases/tag/0.13.0-rc1>
### Email2Matrix
[Slavi], famed for his [ansible playbooks][matrix-docker-ansible-deploy], announced:
> I've just released [Email2Matrix](https://github.com/devture/email2matrix) - an SMTP server that can relay incoming messages over to Matrix based on mappings defined in a configuration file.
>
> While it can also be installed standalone and work with any Matrix homeserver (see its documentation), the simplest way to install it is using [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy) and its [guide for Email2Matrix installation](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-email2matrix.md).
>
> The configuration process (users, rooms, mappings) is quite manual, but it's simple and has worked well for me for the past year and a half.
I've only just polished it up a bit, released and integrated with the Ansible playbook, so others could benefit from it too.
### matrix-xmpp-filter
[mijutu](https://matrix.to/#/@mijutu:ellipsis.fi) appeared, and announced:
> I started a "matrix-xmpp-filter" project. It's like matrix-ircd, but with xmpp instead of irc. It can also filter messages by weekday, time and regular expressions. Target audience is Sailfish phone users, but it could be used with other xmpp clients too (no xmpp MUC support required). <https://k2c42.dy.fi/matrix-xmpp-filter.git/> [#matrix-xmpp-filter:ellipsis.fi](https://matrix.to/#/#matrix-xmpp-filter:ellipsis.fi).
### matrix-github (GH issues bridge)
[Half-Shot]:
> <https://github.com/Half-Shot/matrix-github> has had quite a few updates. Notably:
>
> * Support for storing users access tokens securely, using a bot command.
> * Multi-process bridging: The webhook portion of the bridge can be run in a separate function if needed for performance.
> * Images and mentions now work in both directions
> * The readme is now actually helpful, and have also made `*.sample.yaml` files.
> * You can now use it via oauth
## Dept of Ops 🛠
[Ananace]:
> Currently working on a Puppet module to manage Matrix Synapse installs (both directly and through docker), not quite ready for prime-time yet but watch this spot.
## Dept of Bots 🤖
### Voice to text bot
[progserega](https://matrix.to/#/@progserega:rsprim.ru) announced:
> I develop matrix Bot, which converting voice messages to text. It use Yandex Speech API and Yandex API cloud (some as aws) for temporary store voice-data before converting. <https://github.com/progserega/voice2textMatrix>
> Bot have such logic:
>
> 1. user add bot to room (for example room with whatsapp bridge users - now bridge support adding bot to such rooms)
> 2. bot listen room, and when get voice-message - send it to Yandex-cloud for translate (now support only Russian language).
> 3. When translating is success - bot get result text and show it in room as notice, such: "Username said: text"
> 4. Bot also receive some command, which allow disable it in this room, or disable translating for user, which send command..
Seeing this, I wondered, "y tho?", luckily progserega was able to explain with a graphic! They say a picture paints a thousand words, and it's clear from the conversation below why he'd want to have speech-to-text capabilities.
![Speech to Text](/blog/img/2019-08-09-audiototext.png)
## Dept of Services 🚀
The [Modular Matrix -> Matrix migration tool](https://www.modular.im/tools/account-migration) now supports migration of power levels to the new user.
## 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!
[andrewsh]: https://matrix.to/#/@andrew:shadura.me
[continuum]: https://github.com/koma-im/continuum-desktop
[Half-Shot]: https://matrix.to/#/@Half-Shot:half-shot.uk
[kitsune]: https://matrix.to/#/@kitsune:matrix.org
[ma1uta]: https://matrix.to/#/@ma1uta:matrix.org
[matrix-docker-ansible-deploy]: https://github.com/spantaleev/matrix-docker-ansible-deploy
[mautrix-python]: https://github.com/tulir/mautrix-python
[mautrix-telegram]: https://github.com/tulir/mautrix-telegram
[Slavi]: https://matrix.to/#/@slavi:devture.com
[TravisR]: https://github.com/turt2live
[tulir]: https://matrix.to/#/@tulir:maunium.net
[yuforia]: https://matrix.to/#/@uforia:matrix.org
[ma1sd]: https://github.com/ma1uta/ma1sd
[#quotient:matrix.org]: https://matrix.to/#/#quotient:matrix.org
[ananace]: https://github.com/ananace/
[#TWIM:matrix.org]: https://matrix.to/#/#TWIM:matrix.org