Category – This Week in Matrix
169 posts tagged with "This Week in Matrix" (See all categories)

This Week in Matrix 2021-07-30

2021-07-30 — This Week in Matrix — Ben Parsons

Matrix Live 🎙

Let's learn about PyQuotient with Vlad and Alexey.

Dept of Status of Matrix 🌡️

Element raises $30M as Matrix explodes!

At first when I read the headline I was scared - explodes? How can I protect myself from this explosion? After a moment of reading this huge news, however, I was relieved - Matrix has exploded in popularity, and Element have all new funding to keep driving the ecosystem forward. Let's go!

Dept of Spec 📜

Spec

anoa announced:

Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals.

MSC Status

New MSCs:

  • There were no new MSCs created this week.

MSCs with proposed Final Comment Period:

  • No MSCs entered proposed FCP state this week.

MSCs in Final Comment Period:

  • No MSCs are in FCP.

Merged MSCs:

Spec Updates

While a quiet week for MSC state changes (shown above), there's still plenty of work and collaboration happening!

Spaces work marches forward as MSC3083 has been merged - allowing for users to join a room in a space based on their membership in a space. We think this will really help with the management of Spaces that contain lots of rooms that are otherwise invite-only.

Otherwise MSC3291 (Muting in VoIP calls) has been receiving positive feedback this week!

Finally, MSC3289 (room v8) is ticking along as the implementation is tested in Synapse and Complement tests.

2021-07-30-7paYt-stacked_area_chart.png

Dept of Servers 🏢

Synapse

Synapse is a popular homeserver written in Python.

callahad told us:

Synapse 1.39.0 is out!

Of all the pull requests we landed, my hat is off to MadLittleMods and his Graphviz prowess in #10250, which moves us one step further down the path toward MSC2716: Incrementally importing history into existing rooms. Mmm. Graphs.

But back to Synapse! You should check out the release announcement, but the bulk of the work this cycle went into internal cleanups. Synapse should also be slightly more performant, reliable, and should log fewer spurious errors. Of note, ShadowJonathan did a lot of work with pyupgrade and com2ann to move the entire codebase to more modern Py3.6+ conventions and inline type annotations; thanks, ShadowJonathan!

Synapse 1.39 also continues our march toward unifying Synapse's interface for extension modules, and we've now exposed plugin hooks for the account_validity option, and experimentally implemented hooks for third party event rules.

Lastly, special thanks to kroeckx who has submitted 17 pull requests against our SyTest test suite in the past month, mainly arising from running SyTest against Conduit. Thank you!

Homeserver Deployment 📥️

matrix 1-click app

j3s (he/him) offered:

Hello! This week, I created a matrix 1-click app on the DigitalOcean marketplace. It's basically a pre-baked droplet image that is pre-configured with synapse, element-web, caddy, postgres, plus some setup and moderation tools. My intent was to make self-hosting a Matrix system as easy as pointing some DNS records and running a single script. It makes a lot of sense for smaller, more casual Matrix homeservers, and can serve as a good starting point! It also includes some small utility scripts - ./reset-password, ./new-user, etc.

Secrets like the postgres password and registration password are generated on first boot, there's no sensitive data baked into the image. Of course, it would be nice to be able to verify this - the source code used to build the image is being open sourced. I'm just waiting for some internal processes to finish. It will show up at https://github.com/digitalocean/marketplace-matrix somewhat soon!

Dept of Bridges 🌉

Heisenbridge

hifi announced:

Heisenbridge roundup!

Heisenbridge is a bouncer-style Matrix IRC bridge.

  • Lazy joining of IRC users (see below)

  • Keep nick feature has been added

  • Bridge aliveness can be tracked from bridge bot presence

  • Ident replies can be customized by the admin for all users, default to mxid hash

  • Pillifying IRC nicks has been improved

The biggest impact feature this time around is configurable lazy joining IRC users which improves the experience of joining massive IRC channels by not flooding the homeserver with join events. This is now the default and can be changed globally by the bridge admin or overridden per room by users.

Many fixes here and there. Still a few issues left before 1.0 and a lot of testing.

Thanks!

Dept of Clients 📱

Announcing Matrix client Cinny 1.0.0

ajbura reported:

Cinny is a web-based matrix client focusing primarily on simple, elegant and secure interface.

The story started when a friend of mine introduced me to matrix and even after his help it was too difficult for me to get around with Element. I guess it was because Element is too different from other popular chat apps. Then I tried to find a good alternative for web but no success.

That's when me and my friend thought about creating Cinny. For the few weeks we were doing it for fun but when we shared a screenshot of the prototype, the response from people was surprising and that's when things got interesting. We got to know that a lot of people out there are looking for a simple and modern client and so we started building it.

Screenshot on Chrome desktop (see below)

Features

Cinny support the following features:

  • Login/logout and registration of accounts

  • Four different themes

  • Basic alphabetically sorted channel list with unread notification indicator

  • Creating channels and joining/leaving public channels

  • Creating Direct messages

  • Inviting users to channel and basic user list

  • Sending text messages, emojis and attachments

  • Support viewing edited messages, reactions, replies, attachments and markdowm

  • Read receipt for latest messages and typing notifications

  • History scroll and button for quickly scrolling to bottom in room timeline

  • Channel topic, join, leave, kick, ban, avatar/nick changes in room timeline

  • Sending/receiving encrypted text messages and attachments

You can find more about Cinny at https://cinny.in

Join our channel at: #cinny:matrix.org Github: https://github.com/ajbura/cinny

Twitter: https://twitter.com/@cinnyapp

2021-07-30-h1N8o-preview-butter.png

Cinny is astounding. A client appears to us nearly fully-formed and looks great while doing it!

Ement.el

alphapapa announced:

Many improvements have been made to Ement.el, a new Matrix client for Emacs. Ement.el can now send and display images, replies, and reactions, as well as edit sent messages. It also supports desktop notifications, configurable by the user to pop up for mentions or for all rooms with open buffers. (Room: #ement.el:matrix.org)

Something something expands until it reads... Matrix?

Element Clients

Updates from the teams

VoIP

  • 1:1 screen sharing is now merged and on develop! Please give it a try and report bugs - plan is for it to go out in the release after next (ie. two weeks from Monday). Huge thanks to Simon for working on this.
  • Simon also has PRs up for mute status signalling, done via MSC3291
  • Fixing the bug where the buttons in a call don’t work in full screen mode

Web

  • v1.7.34-rc.1 is out (maybe even .2 by the time you read this) - full release planned for Monday
  • Continuing to figure out a plan of attack for threading
  • Looking at message bubble feedback & fixing bugs
  • Also looking at fixing blurhash bugs

iOS

Android

  • Release candidate 1.1.15 is getting prepared. It will include voice messages, under a lab flag.
  • Some bugs on the crypto part have been fixed, it should improve the performance on e2e rooms.

FluffyChat v0.35.0 has been released

FluffyChat is the cutest cross-platform matrix client. It is available for Android, iOS, Web and Desktop.

krille reported:

This release introduces stickers and a lot of minor bug fixes and improvements.

All changes:

Feature

  • Add sticker picker [205d7e8]

  • Also suggest username completions based on their slugs [3d980df]

  • Nicer mentions [99bc819]

  • Render stickers nicer [35523a5]

  • Add download button to audio messages [bbb2f43]

  • Android SSO in webview [befd8e1]

Fixes

  • Reset bootstrap on bad ssss [b78b654]

  • Hide stickers button when there is not sticker pack [b71dd4b]

  • Download files on iOS [a8201c4]

  • Record voice messages on iOS [4c2e690]

  • cropped sticker [a4ec2a0]

  • busy loop due to CircularProgressIndicator [15856e1]

  • Crash on timeline [a206f23]

  • typo on webiste [00a693e]

  • Make sure the aspect ratio of image bubbles stays the same [a4579a5]

  • Linux failing on attempting to open hive [76e476e]

  • Secure storage [0a52496]

  • Make sure the textfield is unfocused before opening the camera [6821a42]

  • Close safariviewcontroller on SSO [ba685b7]

Refactor

  • Rename store and allow storing custom values [b1c35e5]

Dept of SDKs and Frameworks 🧰

Ruma

iinuwa announced:

This summer's gone by so fast it feels like it's only been a week! Here's a summary of what's happened with Ruma the past few weeks:

We have had a productive summer with our two Google Summer of Code students, Adam Blanchet and Devin Ragotzy. Adam finished implementing the last of our Identity Service API endpoints, bringing us to 100% implementation of all the Matrix API endpoints! (And we promise there are no bugs because "Rust," right?)

Besides improving the Matrix ecosystem, Devin has been helping the Rust ecosystem at large by writing some Clippy lints to improve our codebase and upstreaming his additions.

Read more here: https://www.ruma.io/news/gsoc-2021-intro/.

Dept of Ops 🛠

maubot-ldap-inviter

David Mehren offered:

I made maubot-ldap-inviter, a maubot plugin that (surprisingly) invites users into Matrix rooms, according to their membership in LDAP groups.

We are switching from RocketChat to Matrix in the next round of a software engineering course where students work on software projects in small groups.

RocketChat has a LDAP sync, which we previously used to auto-add students and tutors to the chatrooms they need to be in (global announcement room, helpdesk, chat for their group etc.). As there was no such feature for Matrix, I built the bot over the last few days.

It's still somewhat specific to our LDAP setup, but if anyone wants to use the bot and has questions, just open an issue in the repo!

Dept of Services 🚀

Mother Miounne from etke.cc

Aine reported:

Mother Miounne is here

At etke.cc we suffered long enough with 2 things - order form on website and invites on private matrix servers.

No more suffering! Because now the Mother Miounne exists and it does 2 things (for now): handles of web/html forms (sends it to matrix room) and handles invite tokens (integrates with matrix-registration)

We use it as backend of etke.cc service for some time, but still consider it as unstable, so try it yourself, hope it can help you 😉

PS: #miounne:etke.cc - matrix room with news & discussions

Dept of Events and Talks 🗣️

Matrix @ FrOSCon 2021 (virtual)

Oleg reported:

Great news! Matrix Dev-Room and Matrix booth are approved! 🎉

We are currently creating a schedule and we have open slots for talks and workshops!

If you like to present your topic or just help out please contact me (@oleg:fiksel.info) (or [email protected]) now! Language is preferably German, but English is also ok.

See you at #FrOSCon:fiksel.info 😉

Dept of Interesting Projects 🛰️

TheBoard

Timo announced:

This is a personal project I started a couple of weeks ago. I was dreaming of a good open source solution for OneNote or GoodNotes far a long time. There are already great projects, likeXournal++ and Whitebophir. But, they do not include the extent of possibilities to flexible host, collaborate and structuring the notes I have wished for.

Recently, I was thinking about the exact requirements I wanted for such a whiteboard:

  • Real time synchronization (cloud storage)

  • Authentication/account infrastructure (to invite and collaborate on one whiteboard)

  • Adding/Removing ppl to a whiteboard

  • Reliable hosting (when having cloud storage, I don't want to trust a one-man project to continue hosting. And a lot of ppl won’t self-host.)

  • Structuring whiteboards in categories

  • Viewing history and display which part has been drawn by which person

  • Annotating other whiteboards with new layers

  • Hosting for media like PDF's and images

Looking at this list, Matrix was such an obvious choice. I could comment every point but basically with: "A whiteboard should be a Matrix room" everything is said.

TheBoard (probably not the final name) is exactly that. The frontend is not done yet, but already in an okay looking and usable state.

Before trying it out: It takes really long to log in with an account with lots of rooms. So, I highly recommend to NOT use your main Matrix account. Additionally, it is necessary to tag rooms as whiteboards. (really un-intuitive UX that will be improved) But for now the + button needs to be pressed and a (empty (not necessary but recommended) AND UNENCRYPTED) room needs to be selected.

UPDATE I just (on Friday) finished initial spaces support to categorize the whiteboard in notebooks (aka spaces). They can only be create within a matrix client that supports spaces. But they will be displayed properly in TheBoard. (see screenshot)

Any problems, ideas and feedback is highly welcome as a github issue or in the matrix channel #TheBoard:matrix.org.

TLDR:

This project is whiteboard (similar to OneNote) which is

using Matrix as its backend. All your drawings are stored in matrix rooms on your matrix server and are accessible to anyone who is invited.

Try It out at: https://toger5.github.io/TheBoard As always: use at your own Risk

Join the matrix channel at: #TheBoard:matrix.org Github: https://github.com/toger5/TheBoard

2021-07-30-A8NSR-screenshotTWIM.png

graph.settgast.org updated

Chris announced:

Thanks to the awesome https://serverstats.nordgedanken.dev project by MTRNord my small server version history graph now contains more of the matrix fediverse: We went from ~3000 to over 5000 active visible homeservers on https://graph.settgast.org/

Two superb projects combining forces! I've long been a fan of Chris' graphs for tracking the growth of the server ecosystem.

Matrix in the News 📰

Famedly in the news!

uhoreg offered:

Famedly in the news! https://e-health-com.de/details-news/messenger-am-uk-frankfurt-ermoeglicht-simultane-ueberfuehrung-von-chats-in-die-patientendokumentation/

Final Thoughts 💭

Happy Sysadmin day! 🥳

Oleg made us aware:

Let's use this day to thank your Matrix home server admin! Especially folks managing Matrix.org and all the public bridges! ❤️

(If you are hosting yourself then you can tap yourself on a shoulder for doing a great 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.

#ping:maunium.net

Join #ping:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.

RankHostnameMedian MS
1envs.net370
2boba.best451
3kapsi.fi462.5
4aria-net.org771
5trolla.us828
6gnome.org932.5
7privacytools.io986.5
8ntns.in1195.5
9zemos.net1347
10catvibers.me1801.5

#ping-no-synapse:maunium.net

Join #ping-no-synapse:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.

RankHostnameMedian MS
1cd.mau.dev72
2dendrite.nordgedanken.dev295
3conduit.rs536
4dendrite01.fiksel.info1157
5dendrite.s3cr3t.me1703.5
6matrix-testing.0x1a8510f2.space3640.5

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 2021-07-23

2021-07-23 — This Week in Matrix — Ben Parsons

Matrix Live 🎙

This week gematik announced they will use Matrix for their interoperable instant messaging standard.

Loads of coverage is available, take a look!

English

Dutch

German

Dept of Spec 📜

Spec

anoa offered:

Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals.

MSC Status

Merged MSCs:

  • No MSCs were merged this week.

MSCs in Final Comment Period:

New MSCs:

Spec Core Team

In terms of Spec Core Team MSC focus for this week,

Spec Updates

Room Version 8 has been proposed as part of MSC3289! This intends to include the new "restricted" room version from MSC3083, which allows access to a room based on one's membership in another room, as is most useful for features related to Spaces.

2021-07-23-kziJ3-stacked_area_chart.png

sorunome has been working on MSC2545:

Sorus Image Packs MSC2545 is taking shape more and more! While barely anything happened on the actual MSC itself, nheko recently implemented a sticker picker based on it, and there is a PR for fluffychat for a sticker picker, too, finally making stickers interoperable between clients of different vendors!

Here's a video of fluffychats sticker picker in action: https://gitlab.com/famedly/fluffychat/uploads/26382317e2424d7566eb18e102ddd6cb/fluffy-sticker-picker.webm

Dept of Servers 🏢

Synapse

callahad told us:

🚨 Yesterday we published Synapse 1.38.1 which mitigates a client bug trigged by changes to /sync responses in 1.38.0. Specifically, new Element Android sessions were unable to decrypt messages in end-to-end encrypted conversations.

⚙️ Otherwise, we've been doing quite a lot of internal / infrastructure work. Notably, we've completed the move from three separate CI systems to just one: GitHub Actions. We're also, for the first time, publishing Debian packages for our Release Candidates. We hope these changes move us towards a more reliable and seamless release process.

We'll have a lot to talk about re: Synapse 1.39 next week, but until then, enjoy the weekend! 🏖

Homeserver Deployment 📥️

Kubernetes

Ananace announced:

And this week too has brought updates to my Helm Charts, with element-web being updated to 1.7.33 and matrix-synapse to 1.38.1

Dept of Bridges 🌉

matrix-puppeteer-line

Fair told us:

A bridge for LINE Messenger based on running LINE's Chrome extension in Puppeteer.


This week brings plenty of usability improvements:

  • There is now the list-contacts bot command to--you guessed it!--list the Matrix puppets of all of your contacts.

  • It's now possible to sync a chat with a LINE user by inviting their Matrix puppet to a DM, instead of having to wait for someone to send you a message in LINE for the bridge to auto-sync it. This is especially useful with list-contacts.

  • LINE group chats that haven't been used recently are now included in the set of chats that get bridged on a sync operation.

  • The number of chats to sync at startup time & on-demand is now configurable, as a bridge config setting & a parameter to the sync command, respectively.

These changes make it possible to sync LINE chats/groups that previously may not have gotten synced, due to the intricacies of how LINE on Chrome handles chat history (especially on first use of the bridge).


Discussion: #matrix-puppeteer-line:miscworks.net

Issue page: https://src.miscworks.net/fair/matrix-puppeteer-line/issues

Dept of Clients 📱

Nheko

Nheko is a desktop client using Qt and C++17. It supports E2EE and intends to be full featured and nice to look at

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

LorenDB has rewritten the invite dialog as well as the memberlist in Qml. This means they work now much more reliably and show the users in appropriate colors and a few other small improvements.

Apart from that, Nheko now has support for sending stickers! This is based on Sorunome's awesome MSC2545, so no integration manager is needed and it is trivially easy to share your sticker packs (just invite someone into the same room!). You can use stickers from your account data or upload stickers into a room so every room member can use it. If you found a sticker pack you like, you can enable a pack from a room globally by going into Nheko's room settings. You can check my current preferred set of stickers here: matrix:r/nico's-stickers:neko.dev

Currently you can't edit a sticker pack yet from Nheko. Support for that will come in the near future. Until then you can use either FluffyChat, Element's DevTools or my hack to import Telegram sticker packs into a room. Note that Nheko's sticker pack support is incompatible with integration server based sticker packs like the one Element uses. On the other hand, you don't need an integration manager to use them! Custom emote support based in the image packs MSC is coming in the future to Nheko too.

Furthermore we fixed some bugs to move E2EE in Nheko out of Beta. We are close now and we have a plan!

That's all, don't get your hands too sticky!

2021-07-23-gg3Eo-clipboard.png

2021-07-23-xHW8i-clipboard.png

Fractal

Alexandre Franke announced:

It’s been three weeks already since our last update and we have a fair amount of new things to report.

As I write this, our interns Alejandro and Kai are at GUADEC, the annual GNOME conference, presenting during the interns lightning talk. The former has submitted a couple of merge requests (!793 and !794) that were necessary for the UI to accomodate his upcoming multi-account work. The latter has provided a view for when no room is selected. As for their mentor, Julian, he changed member loading so it only happens once a room is opened, to improve performances. He also changed Matrix event handling to use SyncRoomEvent, which paves the way for display of various message types in the timeline of a room.

Giuseppe offered two nice additions to the login view:

And to conclude this summary, we welcome 🎉 newcomer Veli Tasalı who fixed a papercut I reported: when typing long messages, buttons next to the message entry were expanding along with the entry and now they keep nicely aligned.

Element Clients

Delight team

  • We’ve been shepherding MSC3083 into FCP to improve private spaces
  • We’ve also been working on restricted room support in Synapse and Element Web & Android
  • We’ve been improving onboarding experiences for Spaces, improving 3pid invites on Android, improving email invites and making matrix.to aware of spaces
  • On iOS, we’ve finished the first implementation of Space navigation which we can share soon!
  • We’re also figuring out what’s missing to mature Spaces enough to exit beta

VoIP

  • Call event tiles for 1:1 calls merged, for better summaries of call history.
  • 1:1 screen sharing ready to merge!
  • Looking at bug where jitsi calls stay always-on-screen even when hung up.

Web

  • Released v1.7.33
  • Message bubbles PR merged!
  • Updated desktop to electron 13, complete with new n-api build of seshat (thanks, Poljar!)
  • More work on changelog tooling

iOS

  • We cancelled the release of 1.4.6 because of the discovery of high profile bugs or crashes . We will release 1.4.7 on the App Store on Monday. Those releases contain mainly bug fixes and papercuts
  • Voice messages are almost there. They are on develop under a LABS settings. They should be part of the next release candidate next Wednesday.
  • There are several papercuts in progress: URL preview, decryption of notifications content by default, removal of local contacts from the DM room list tab, removal of the room directory from the group room list, etc to list the major ones.

Android

  • Release 1.1.14 which fixes an important issue regarding message decryption is live on the PlayStore, on the beta channel, and will be in production quite soon. A patch has been applied to matrix.org to fix the problem.
  • Beside that, we are still polishing the spaces and voice messages

Šimon Brandner shared some images of the new VoIP UX:

2021-07-23-m-Auj-125999362-eff54798-f9f7-421a-8e2b-6ed87a4f582c.png

2021-07-23-XEixh-120305328-e7a0e700-c2d0-11eb-9bc0-a93f4366b848.png

Naturally the screen sharing feature will allow you to share your own screen, rather than Šimon's!

Beeper update

Tulir said:

Desktop

  • New keyboard shortcuts:

    • Navigating room list with arrow keys when there's no room open (and esc to close the current room)
    • Global shortcut to open Beeper
  • Rooms are opened where you left off (like Telegram, WhatsApp, etc) instead of at the bottom

  • Updated unread room indicators: a colored circle around the room avatar (screenshot here)

Bridges

LinkedIn

We've integrated the LinkedIn bridge into Beeper. The bridge is in beta and is generally ready for use. Since the last update, we moved it to GitLab, added a Docker image, and implemented reaction and redaction handling in both directions! We also fixed a bunch of bugs across the board to improve reliability.

Android SMS

The Android SMS bridge mentioned in the last update is progressing. It should be ready for self-hosted use in a few weeks, so our next update will probably include that.

Related to the SMS bridge, I've made mautrix-syncproxy, which is a microservice to do the /syncing required for end-to-bridge encryption (to-device events and such) in the cloud and forwarding the data to the normal appservice transaction endpoint. When combined with mautrix-wsproxy, it allows the SMS bridge to only have a websocket connection, which uses significantly less battery than a HTTP request every 30 seconds. The sync proxy partially implements MSC3202 and the to-device part of MSC2409 (partially because it only does individual users rather than all appservice-owned users).

We're hiring React, iOS, Android and SRE/Devops engineers. If you're interested, check out https://jobs.ashbyhq.com/beeper or DM Eric Migicovsky.

2021-07-23-Nbx_w-image.png

Dept of SDKs and Frameworks 🧰

Ruby

Ananace told us:

Just tagged and pushed version 2.4.0 of the Ruby SDK, along with an updated image for the example bot. This version adds support for the Matrix URIs as well as some basic spaces functionality, it also fixes some errors due to the removed empty /sync fields in Synapse 1.38.0

Feel free to drop by #ruby-matrix-sdk:kittenface.studio for any questions or comments.

Dept of Bots 🤖

Hebbot (This Week in X bot)

Felix told us:

Several GNOME contributors and I have been following TWIM and really enjoyed the concept. Since open source is about stealing sharing ideas, we wanted to deploy something similar for GNOME.

I gave this room's beloved twim-o-matic a try and fiddled a bit with the code. But I soon found that it is too specialised for matrix.org. That's when I decided to write a project agnostic TWIx bot based on matrix-rust-sdk called Hebbot!

Here is how it looks in practice with a companion website for GNOME. If you’re interested in how it looks behind the scenes, have a look at this blog post which explains how it works.

I released a first version on July 17, but I’m already working on making it smarter for a next release. In the meantime you can already use it for your project!

Love it, though I wish twim-o-matic had more of my attention! Maybe we can retire it and use Hebbot..?

Dept of Interesting Projects 🛰️

Matrix Plugin for OctoPrint

Cadair offered:

This week I have developed a new plugin for OctoPrint which is a tool for controlling and monitoring 3D printers, which sends notifications about your prints and status of your 3D printer to matrix. The existing OctoSlack plugin also has Matrix support but fell foul of the /sync response changes in Synapse 1.38, and also sent the images from the camera to Matrix as inline images rather than m.image events, so they didn't render on some clients.

My new plugin can send messages on most events supported by OctoPrint, but the core events which are configurable through the OctoPrint web UI are print started, paused, completed and failed as well as print progress notifications. If you want Matrix notifications for your 3D prints, you can install the plugin through the official OctoPrint plugin repository or by installing from the GitHub repository. If you have any feature requests or pull requests, contributions to the plugin are very welcome.

Here is a preview of a print progress notification from something I was printing last night:

2021-07-23-opi2f-IMG_20210723_124408.jpg

2021-07-23-fZf-n-matrix_logo_print_status.png

Matrix in the News 📰

Matrix & IRC | Size & Stability

Gwmngilfen said:

Following on from my post about how I'd like to convince Ansible to move to Matrix, I looked into the relative sizes of the networks, took a look at the active users in our channels, and even took a shot quantifying bridge restarts and netsplits to assess relative stability. Check it out here

New Public Rooms 🏟️

Beyond Chat

Ryan reported:

A new Beyond Chat room (#beyond-chat:matrix.org) has been created! This room is meant for discussing various projects that build on Matrix for use cases beyond chat, such as collaborative documents, blogs, generic key-value databases, tools for thought, etc. Please join if these topics interest you. 😄

The Beyond Chat chat room is where Ryan chats about uses of Matrix beyond chat

Dept of Welcomes 👐

VoIP

Robert Long announced:

Hey everyone, my name's Robert Long. I've just joined Element last week and I'm coming in to work on the VoIP team. This week I started working on full mesh video conferencing and I'm super excited to share more as the work progresses!

Welcome Robert! Can't wait to see progress here. We'll even bring back the Dept of VoIP :D

Final Thoughts 💭

Room of the week

timokoesters offered:

Hi everyone! Did you ever feel lost in the Matrix world? The room directory is big, but it's still hard to find something you like. Or are you a room moderator, but there is not much activity in your room because it doesn't have enough users?

This is why I want to share rooms (or spaces) I find interesting.


This week's room is: #godot:feneas.org

"A very helpful and friendly place for general discussion or questions pertaining to the FOSS Godot game engine and using it to make games, whether one is just beginning to learn or wish to discuss more advanced aspects of game (or Godot) development."


If you want to suggest a room for this section, tell me in #roomoftheweek:fachschaften.org

Royal Navy using Matrix!

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.

#ping:maunium.net

Join #ping:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.

RankHostnameMedian MS
1envs.net358
2maunium.net432
3sorunome.de461.5
4kapsi.fi547
5boba.best566.5
6trolla.us767.5
7heitkoetter.net952.5
8aria-net.org1035
9konqi.work1186
10roeckx.be1696

#ping-no-synapse:maunium.net

Join #ping-no-synapse:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.

RankHostnameMedian MS
1conduit.supercable.onl173
2dendrite.nordgedanken.dev184
3matrix.org322
4dendrite.neilalexander.dev398.5
5conduit.rs1451.5

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 2021-07-16

2021-07-16 — This Week in Matrix — Ben Parsons

Matrix Live 🎙

Dept of Spec 📜

Spec

anoa announced:

Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals.

MSC Status

New MSCs:

MSCs with proposed Final Comment Period:

MSCs in Final Comment Period:

  • No MSCs are in FCP.

Closed MSCs:

Spec Updates

Several members of the Spec Core Team reviewed MSC2674 (Event relationships) this week in order to help push along the efforts to finally ship aggregations in the spec. Otherwise MSC3245 (voice messages via extensible events) is moving along with final comment period proposed this week. The implementation in Element Web in reportedly working well, helping to prove the spec in practice. And finally, MSC3277 (scheduled messages) which appeared over the weekend to try and allow for scheduling events to send later in Matrix (and all the fun edge cases that come with it).

Thanks to everyone who submitted, read and reviewed MSCs this week. It takes people to move this stuff forward!

2021-07-16-9h_yU-stacked_area_chart.png

Dept of GSoC 🎓️

Google Summer of Code 2021: first evaluations complete!

We heard from Callum last week, and will have more reports in future, but for now just know that all seven GSoC projects are progressing well. To remind yourself ot this year's projects, see the list provided by Google or our welcome blog post.

Alexandre Franke added:

I reckon you can count the two Fractal interns as well. :)

Reckon you're right pardner! We'll look forward to a roundup of the work done for Fractal too.

Dept of Servers 🏢

Dendrite / gomatrixserverlib

Dendrite is a next-generation homeserver written in Go

Neil Alexander told us:

In case you missed it, we released Dendrite 0.4.0 on Monday and wrote a blog post about it! It's taken us a little while to get to this release, but it includes a number of quality-of-life improvements and changes that will significantly reduce the amount of resources needed to run a Dendrite server. The full changelog is available on GitHub and many juicy details in the aforementioned blog post, but at a high level this release includes:

  • All-new state storage, designed to reduce the amount of disk space that the roomserver takes up to store room state by aggressively deduplicating state blocks and snapshots

  • Improved appservice support, with a number of bridges now working with Dendrite

  • Shared secret registration (using the same API shape as Synapse)

  • Optimisations in the federation API /send and /get_missing_events endpoints to reduce memory usage

  • Improved state resolution v2 performance when dealing with power level events

  • Per-room queuing to reduce head-of-line blocking on the roomserver input API

  • Lots of bug fixes around invites, registration, sync and media, and 5 panics fixed

Since the release, we've been working on:

  • Completing key notary support

  • Fixing state_default for power levels in gomatrixserverlib

  • Resolving some issues around rejecting invites, particularly when the remote server is not available

  • Reducing the cost of checking if the local server is in a given room

Since our last update, our Sytest compliance numbers have been on the rise again, taking us ever closer to our goals:

  • Client-server APIs: 61%, up from 60% last time

  • Server-server APIs: 92%, up from 80% last time

  • Appservice APIs: 52%

As always, please feel free to join us in #dendrite:matrix.org for general Dendrite chat, and #dendrite-dev:matrix.org if you are interested in contributing!

Synapse

callahad told us:

The big news of the week is the release of Synapse 1.38, which converts several integer columns to bigint, allowing Synapse to process more than 2 billion (231) events. Which, incidentally, matrix.org did last week 📈:

2021-07-16-N2mUM-synapse-event-bigint.png

But that's not the only thing new in Synapse 1.38. We also landed the ability to set an expiry time on cache entries, allowing you to reclaim memory from infrequently accessed caches. Configuring this to "1h" on matrix.org has already yielded a noticeable reduction in overall memory use 📉:

2021-07-16-3j8uF-synapse-1.38-cache-expiry.png

We'd encourage you to read the full announcement for more — See you next week 👋!

Registration management for Token Authenticated Registration

callum told us:

Another short update about my GSoC project, this time about the Synapse admin API for managing tokens. https://calcuode.com/matrix-gsoc/2021-07-16_admin-api.html

See also Matrix Live with Callum last week.

Homeserver Deployment 📥️

Kubernetes

Ananace said:

This week too brings updates to my Helm Charts, with Synapse having been updated to 1.38.0.

Dept of Bridges 🌉

matrix-puppeteer-line

Fair said:

A bridge for LINE Messenger based on running LINE's Chrome extension in Puppeteer.

Docker is now supported, via Dockerfiles that actually work now! But for the time being, Docker images must be built manually, as I am yet to deploy a Docker registry for prebuilt images.

Also, sample systemd service unit configuration files are now available, courtesy of @lecris:lecris.me 🙂

For more info on all of this, see SETUP.md.

What I'm working on next is a bot command to list all of your LINE contacts & groups (similar to mautrix-whatsapp's list <contacts|groups>), and the ability to sync a LINE DM by inviting a contact to a Matrix DM. This will allow messaging LINE contacts that the bridge didn't yet create a portal for.

And please, feel free to try out this bridge! It should be serviceable for day-to-day usage now. I still won't be able to host a public instance of it for a while, though (as it is fairly hefty due to having to run Chrome), so you'll have to self-host if you want to try it.

Discussion: #matrix-puppeteer-line:miscworks.net

Issue page: https://src.miscworks.net/fair/matrix-puppeteer-line/issues

Dept of Clients 📱

Nheko

Nheko is a desktop client using Qt and C++17. It supports E2EE and intends to be full featured and nice to look at

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

This week we fixed bugs. Switching room should now be quite a bit faster again and once Qt 6.3 is released with some important bugfixes, scrolling in Nheko should be super smooth. (We can't enable that flag yet, because of 3 bugs in the item pooling code in Qt.)

Other bugfixes:

  • Inline images sometimes wouldn't show, but now inline emotes and images should render once they are loaded! (This took me a year to figure out)

  • You can now send edits in encryted rooms again, if they are a reply to an event.

  • No more reply fallback in the room list.

  • At some point timed out verification requests started showing up on startup. That regression is fixed now.

  • Fix rooms not showing up after login because we were off by one.

  • Fix some cases where the loading spinner wouldn't stop animating and as such consistently use CPU, when a room is open.

  • Cache db transactions to reduce allocations and memory zeroing when loading a room or scrolling.

  • Fix some edge cases in the blurhash decoding, that could lead to brownish image previews.

  • Fix accepting an invite not placing you in the joined room.

Element Clients

With updates supplied by the teams

Delight team

  • We’ve been shepherding through MSCs to improve private spaces, namely MSC3083 (Restricting room membership based on space membership)
  • Meanwhile, we’re also implementing outstanding polish, planning steps for Spaces to exit beta

Web

  • v1.7.33-rc.1 now up for testing on https://staging.element.io/ with support for blurhash, draggable picture-in-picture view for calls
  • Contributing to element web? There are new labels and magic keywords for pull requests to show better information in the changelogs. See the contributor guide for more detail.
  • Do you use the master branch of element web or any of the web projects? Please let us know - it may go away soon.

Android

  • Still polishing the voice message feature: add support for Android 5, improve timeline rendering, improve animation in the composer, support for RTL language
  • Work on the account notification settings

Hydrogen

A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. https://github.com/vector-im/hydrogen-web/

Bruno said:

Still working on getting a big update out today with rendering of formatted messages and a brand new member list in the right panel!

Dept of SDKs and Frameworks 🧰

PyQuotient

Aksem told us:

First news about Python bindings for libQuotient, C++ Qt-based Matrix SDK

After a month of hard work, we(I as GSoC student and kitsune as mentor) have bindings with tests for almost all core classes and also initial version of the demo client, in which you can log in with a password or SSO, the server you enter is resolved automatically and also after successful login data is being synchronized. There is also a possibility to log out. So this part is on the same level as in Quotient.

Also, a small video with the client in action.

Dept of Events and Talks 🗣️

Hack'n'Sun, the partially-Matrix-based summer tinkering camp

Nik offered:

Over the first weeks of July, Teckids e.V. held their annual summer camp for kids between 9 and 15 years. This year, after we started introducing Matrix and Element as a chat platform from September 2020 onwards, the camp was heavily relying on the platform for various parts.

Before the camp started, we invited all 90 participants to a chat room to get together, share a bit about what they expect, already did with coding and technical stuff, talk about what food they'd like to have for the barbecue, and stuff like that. Many of them engaged in the discussion, and started exploring Element (before you ask, yes, we hat a lot of snow and party poppers 😛!). Some got really excited that they could even change or add features to Element, or ask for such changes – we had to promise to hold a session where we find out how to add one new animation to Element. Unfortunately, Element is developed on GitHub, so the potential young contributors are locked out by the exclusive Terms of Use there. We are trying to reach out to Element HQ to find a solution.

During the camp, verifying crypto sessions using emojis again made for a good party game to get to know each other (like, find the kid a nickname belongs to on the camp site, start verificaiton, and compare emojis – a lot of fun that we, again, did not even have to start, because someone always finds out about it and asks what it is about).

Now that everyone got to know Matrix for chatting, in one of our workshops, the participants discovered that not only people, but also devices can send messages, and react to replies – in that workshop, the kids built a chat-ops IoT door beel (for their tent on site, or room at home). They soldered a circuit board to fit an ESP (MicroPython) micro controller on, and coded a small program (using templates with differing complexity levels), defining what the door bell should send when a button is pressed, on what messages to react, and the like. We produced a fun video about the project (German audio, English subtitles): https://eduvid.org/videos/watch/20a50c25-ecb4-48c0-9b13-de2548f290d4?subtitle=en . The (minimal and somewhat buggy) MicroPython client library is published as µtrix.

Now, sadly, the event is over, and we slowly see (as expected, only a part of the) participants moving over to our long-term project chatrooms; we will start clearing the virtual camp site chatroom during the weekend to make room for a new group.

Asked about the regularity of these events, Nik replied:

We are still experimenting with our new camp formats. As bad as it all is, COVID caused a lot of innovation here because we were forced to leave the known roads we normally travelled, and now we are starting to integrate all that new stuff (like really embracing Matrix) into outdoor and presence events. I think we are on a really good way with it, and surely I will keep posting updates that might be of interest for the greater community.

Dept of Interesting Projects 🛰️

Cactus Comments 🌵

carl announced:

Cactus Comments is a federated comment system for the open web built on Matrix.

This week, I'm reporting the changes to our backend service since it last appeared on

  • Feature: Restrict which users can interact with cactusbot (contributed by Karmanyaah Malhotra in MR !3).

  • Feature: Include comment section id in room name.

  • Bugfix: Malformed events no longer cause a crash loop.

  • Bugfix: Users can no longer register a site without a name.

  • Hotfix: Mitigated timeouts under heavy load with a temporary LRU cache.

  • Internal: Pin sub-dependencies.

  • Internal: Heavy linting in CI.

All these changes are available from version 0.5.0.

Demo: https://cactus.chat/demo

Matrix room: #cactus:cactus.chat

Introductory blog post: https://cactus.chat/blog/hello-cactus-comments/

Source code: https://gitlab.com/cactus-comments

Dept of Guides 🧭

New business-oriented guide to using Matrix and Element

The Reidel Law Firm from Galveston, Texas have produced an excellent business-oriented guide to using Matrix and Element. As they announced in a blog post last month:

Reidel Law Firm remains committed to providing top notch legal services in Franchise Law, International Trade Law, and Business Law while maintaining accessibility, (one of our Firm’s core values) to our clients, colleagues, and friends of the firm. Utilizing our own secured chat platform allows us to be in communication with our clients around the world while maintaining the utmost in data security and client privacy.

Schuyler "Rocky" Reidel added:

I believe in Matrix+Element and encourage my clients and law firms to get ahead of the curve or get left behind and become irrelevant. Email has to die, its just the worst. Also, I forgot to note earlier that the guide is copyright free. I hope other business owners will use and revise it for their own uses.

Strong words! You can find the guide from Reidel on their website.

Final Thoughts 💭

Room of the week

timokoesters told us:

Hi everyone! Did you ever feel lost in the Matrix world? The room directory is big, but it's still hard to find something you like. Or are you a room moderator, but there is not much activity in your room because it doesn't have enough users?

This is why I want to share rooms (or spaces) I find interesting.


This week's room is: #formula1:matrix.org

"The pinnacle of motorsport! We're in an exciting time in Formula 1 with a close championship and exciting battles. Come hang out and chat about the upcoming race in Silverstone on July 18th!"


If you want to suggest a room for this section, tell me in #roomoftheweek:fachschaften.org

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.

#ping:maunium.net

Join #ping:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.

RankHostnameMedian MS
1envs.net517
2kif.rocks552
3maunium.net652
4synapse.clippyco.com677.5
5maescool.be697
6utzutzutz.net788
7kapsi.fi789
8liberta.casa831.5
9trolla.us855
10nordgedanken.dev1106

#ping-no-synapse:maunium.net

Join #ping-no-synapse:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.

RankHostnameMedian MS
1dendrite.nordgedanken.dev89
2construct.supercable.onl197
3pc.koesters.xyz:6167217.5
4conduit.rs566
5dendrite.neilalexander.dev729
6dendrite.s3cr3t.me856
7dendrite01.fiksel.info872.5

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 2021-07-09

2021-07-09 — This Week in Matrix — Ben Parsons

Matrix Live 🎙

Dept of Status of Matrix 🌡️

Ansible Community considers Matrix

Gwmngilfen offered:

I'm the Principal Data Scientist for the Ansible Community. We're hoping to switch to Matrix as our primary platform in the near future, and I've just written up my thoughts on why that's a good idea, what the consequences might be, and where we go from here. Find it at https://ansible.github.io/community/posts/matrix_and_ansible.html

Dept of Spec 📜

Spec

anoa told us:

Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals.

MSC Status

New MSCs:

MSCs with proposed Final Comment Period:

  • No MSCs entered proposed FCP state this week.

MSCs in Final Comment Period:

  • No MSCs are in FCP.

Merged MSCs:

  • No MSCs were merged this week.

Spec Updates

A concrete plan has been drafted for publishing the new spec release, and is currently undergoing execution. This release will include many changes that have built up since the last release (back before the new spec redesign even), as well as the new Matrix Global Version Number scheme. Look forward to it dropping soon!

Otherwise Bruno has been hard at work continuing to push forward the various aggregation MSCs (1 2 3 4). MSC3083 (restricted room memberships) is being updated as part of finalising the new Spaces feature as well as MSC2716 (history import).

As well as lots of new MSCs as listed above. Busy times!

2021-07-09-ADEDa-stacked_area_chart.png

Dept of Servers 🏢

Conduit

Conduit is a Matrix homeserver written in Rust https://conduit.rs

timokoesters said:

The last two weeks I worked on a few very big optimizations. We also almost finished sqlite support for Conduit, which is slower than sled in benchmarks, but has much better RAM usage characteristics.

  • Batch up and cache /sync responses for when clients time out

  • LRU cache for deserialized PDUs

  • More efficient state res by only fetching events it needs

Dendrite / gomatrixserverlib

Neil Alexander said:

Rumours of Dendrite's demise have been greatly exaggerated. Stay tuned for more updates very soon.

We will stay highly tuned!

Synapse

Synapse is a popular homeserver written in Python.

callahad offered:

Big(int) news! This week Matrix.org processed its 2^31st event, exceeding the range of a PostgreSQL integer column for the first time. This caused a bit of a scramble in the aftermath of last week's spam attack, as we had a few integer columns in our schema which we needed to convert to bigint. Fortunately, we were able to complete the change sufficiently in advance (#8255), and also took the opportunity to audit other columns and sequences in the database which could conceivably overflow. Synapse 1.38, due out next week, will automatically migrate homeservers when they upgrade. We run the migration as a background task, so homeservers should continue functioning as normal throughout, though they may use a bit more disk and memory, especially when rebuilding indexes for the new bigint column.

We're also starting to hone in on our team's goals for this quarter, and it's looking like our primary focus will be on improving room join speeds. Wish us luck!

Lastly, we're overjoyed to announce that @reivilibre, a former intern on the backend team, joined Element this week! We can't wait to see where he helps us take Synapse!

Homeserver Deployment 📥️

Kubernetes

Ananace said:

This week too gets a Helm Chart update, with element-web having been updated to 1.7.32

Dept of Bridges 🌉

matrix-puppeteer-line progresses

Fair reported:

matrix-puppeteer-line: A bridge for LINE Messenger based on running LINE's Chrome extension in Puppeteer.

This week was spent on adding proper support for LINE user joins/leaves (though invites/kicks are still a TODO), bug fixes, and ease of deployment. Docker and systemd setups will be ready shortly.

And this bridge should soon be listed on https://matrix.org/bridges/, if it isn't already 🙂 Thanks madlittlemods (Eric Eastwood) for accepting the PR!

Discussion: #matrix-puppeteer-line:miscworks.net

Issue page: https://src.miscworks.net/fair/matrix-puppeteer-line/issues

Dept of Clients 📱

Element Clients

Updates provided by the teams!

Delight team

  • Spaces:
    • iOS development is progressing, some (dev) can see spaces in the left panel
    • Wrapping up work on new settings for restricted rooms, and UI to promote the feature to space admins
    • Maintenance and bug fixing.

VoIP

  • Improvements to in-call designs on Android
  • Dial pad improvements about to land on web

Web

  • Working on performance testing on large accounts to catch slowdowns and generally improve app performance
  • More under-the-hood TypeScript conversion
  • Message bubbles experiment almost ready to land!
  • Working on universal macOS builds for the desktop app

Android

  • Element Android 1.1.12 is now live on the PlayStore, will be available on F-Droid soon
  • We are polishing the voice message feature
  • Also we are progressing well on the RustSDK integration

SchildiChat

SpiritCroc reported:

SchildiChat is a fork of Element that focuses on UI changes such as message bubbles and a unified chat list for both direct messages and groups, which is a more familiar approach to users of other popular instant messengers.

There are two announcements that we can share with you this week:

  • SchildiChat for Android is back in the Google Play Store! Users who have previously installed the release using our own F-Droid repo will be able to update without the need to re-install. All previous ways to install the app will remain available as well.

  • You can now help us translate SchildiChat using Weblate! Note that this only contains SchildiChat-specific translations, we continue to use Element's translations where possible.

Apart from that, we have mainly been focusing on smaller improvements and fixes, while staying up-to-date with new Element releases.

For more information about SchildiChat, feel free to visit our website or check out our source code!

Also, feel free to join our Matrix rooms, which you can find in the new SchildiChat space: #schildichat:matrix.org

Nheko

Nheko is a desktop client using Qt and C++17. It supports E2EE and intends to be full featured and nice to look at

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

Spaces work is making progress. Some rooms can now be previewed. To improve that situation, I wrote an MSC to preview specific rooms. Alternatively we will try to get the previews for the few rooms you aren't joined to from the space summary API, currently we are just fetching the exisiting state. You can also now join previewed rooms and the design of joining invites was adapted to match it.

red_sky☄️ went through the pain of fixing the Windows builds after we changed our http backend last week. So if you want to try it out, you can test it on Windows. We also replaced the old, boring spinner with an animated Nheko logo. If you see that a lot and think it is Nheko's fault, don't hesitate to open an issue! But in most cases it will probably be your server. Sadly no screenshot of how the spinner looks like, my server is too fast and taking a proper screenshot is too much effort because of that. ;p

We also fixed an issue with updating device lists in the develop version of Nheko. If you were using the nightlies, now is a good time to update! In more E2EE news, symmetric megolm backup fixes the issues I had with the online key backup, so looking forward to implementing that.

2021-07-09-dl7gn-clipboard.png

Dept of SDKs and Frameworks 🧰

Opsdroid 0.23

Cadair offered:

The latest release of opsdroid is out with various fixes which can be seen in the changelog. The main point to note for matrix users is that older versions of matrix-nio (the matrix client library used by opsdroid) did not support the synapse change to omit optional fields from sync. Therefore if you are using our docker images you will need to update to 0.23 to get a container with the newest matrix-nio included.

The other change which is relevant to matrix users is that Oleg has added support for version 2 of the Rasa NLU framework, so you can once again do open source, self hosted natural language bots.

Dept of Bots 🤖

home-assistant-bot release v2.0.1

Oleg announced:

This release adds a fix for compatibility with Synapse >= v1.38.0

This bot is based on opsdroid bot framework and aims to control actions in home-assistant via Matrix.

Feel free to come by at #home-assistant-bot:fiksel.info 😉

Dept of Interesting Projects 🛰️

Server_Stats Statistical Data

MTRNord offered:

Thanks to Gwmngilfen I touched RStudio and toyed a little with some data as well.

You can find some graphs over at https://github.com/MTRNord/server_stats_r_statistics/blob/main/scripts/rooms_members.md

For the first graph the credit fully goes to Gwmngilfen :)

The second one is in log scale for both axis but essentially the same :)

This is obviously currently very spare but I hope to add more statistics when I understand R lang :) This is in fact my first time doing something with R so my skillset is limited :)

Dept of Guides 🧭

Matrix Bot inside of a Docker Container

krazykirby99999 announced:

Run Matrix Python bots inside of Docker Containers with Simple-Matrix-Bot-Lib and Docker!

This is a guide for isolating and running your Matrix bot within a Docker container. It is also applicable to bots written using other libraries and languages.

https://simple-matrix-bot-lib.readthedocs.io/en/latest/usage-with-docker.html

New Public Rooms 🏟️

Room of the week

timokoesters told us:

Hi everyone! Did you ever feel lost in the Matrix world? The room directory is big, but it's still hard to find something you like. Or are you a room moderator, but there is not much activity in your room because it doesn't have enough users?

This is why I want to share rooms (or spaces) I find interesting.


This week's space is: #mathematics-on:matrix.org

Biggest room: #mathematicsq&a:matrix.org

"For questions about any part of maths!"


If you want to suggest a room for this section, tell me in #roomoftheweek:fachschaften.org

Final Thoughts 💭

Cadair offered:

In meta twim news, the twim updates bot (which posts in #twim_updates:cadair.com) has been upgraded to opsdroid 0.23 and now correctly keeps the formatted body when an event is edited.

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.

#ping:maunium.net

Join #ping:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.

RankHostnameMedian MS
1envs.net477
2kapsi.fi568.5
3trolla.us708.5
4matrix.debian.social735
5rollyourown.xyz747
6semisol.dev767
7boba.best771.5
8matrix.sp-codes.de784
9shortestpath.dev871.5
10nordgedanken.dev872

#ping-no-synapse:maunium.net

Join #ping-no-synapse:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.

RankHostnameMedian MS
1dendrite.neilalexander.dev602.5
2dendrite.s3cr3t.me803.5
3dendrite01.fiksel.info831.5
4conduit.rs2172.5

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 2021-07-02

2021-07-02 — This Week in Matrix — Ben Parsons

Matrix Live 🎙

Dept of Status of Matrix 🌡️

We missed it at the time, but wanted to share in TWIM. Terence Eden, noted UK technologist, shared a thorough, compelling argument for the UK Government to use Matrix as a foundation for the digital workplace.

This is a long read, but a detailed argument. Also please note that this is was produced for the purpose of an MSc course of study, it was not commissioned for any other purpose, as the preamble makes clear.

Next, a high billing for Beeper this week, who have been working hard and getting product out!

Beeper update

Tulir reported:

It's been a month since our last update. A lot of the work since then has been on making everything more reliable, but we've also added new features to our clients and started making some new bridges.

Desktop

  • Added thread UI for Slack-bridged rooms. Internally they're just replies like before, but the client will intelligently collapse replies in Slack rooms into threads.

  • Merged upstream Element additions like voice messages.

iOS

  • Released Beeper iOS to Testflight.

Android

  • Added grouping rooms by chat network based on the m.bridge state event. The UI is similar to spaces, but they're not actual Matrix spaces (yet).

  • Added support for Android 11's "conversation" notifications.

Bridges

  • Android Messages is turning out difficult to reverse-engineer to a sufficiently reliable level, so we're building a new SMS bridge into our Android app. It'll also be available as a standalone open-source app, which already exists at https://gitlab.com/beeper/android-sms (but doesn't have any setup instructions yet).

  • We've funded development of a LinkedIn bridge. sumner will post a more detailed update about that.

We're hiring React, iOS, Android and SRE/Devops engineers. If you're interested, check out https://angel.co/company/beeperhq or DM Eric Migicovsky.

2021-07-02-CS1WM-image.png

Dept of Spec 📜

MSC state changes:

Bruno has been working on aggregations as part of his work for Hydrogen. He reported:

I've been cleaning up the relations MSCs, finding a balance between documenting the current state and not losing track of community concerns. I've started with MSC 2674 which is the very basic format of relations, and will move on to annotations/reactions (MSC 2677) next week.

Spec progress graph

Dept of Servers 🏢

Synapse

Synapse is a popular homeserver written in Python.

callahad announced:

We're pleased to announce the release of Synapse 1.37.1 this week, which includes mitigations for the recent distributed spam attack across the public Matrix network. We advise upgrading as soon as possible.

Otherwise, Synapse 1.37 highlights include:

...and a bunch of smaller bug fixes and performance improvements.

Check out the blog post for more.

Homeserver Deployment 📥️

Kubernetes

Ananace offered:

Got another week of Helm Chart updates, with the Synapse chart getting a bunch of worker improvements and additional configurability, as well as being updated to first 1.37.0 and then 1.37.1

Dept of Bridges 🌉

LinkedIn <-> Matrix Bridge

sumner reported:

I'm excited to announce that I started working on a new bridge for bringing LinkedIn messages to Matrix! It's currently in the early stages of development and not production-ready. The current feature set includes: backfill from LinkedIn, user name and profile picture sync, message sending from Matrix -> LinkedIn, and real-time message puppetting from LinkedIn -> Matrix. There's much more to come, and you can join #linkedin-matrix:nevarro.space for updates. Development is being funded by Beeper, and is being designed with integration into Beeper as it's primary goal. However, the bridge is open source (Apache 2.0) and will be available to self-host. The source code is here: https://github.com/sumnerevans/linkedin-matrix.

Great work from Sumner! Glad to see people have the option to bridge their LinkedIn messages!

matrix-puppeteer-line update

Fair reported:

matrix-puppeteer-line: A bridge for LINE Messenger based on running LINE's Chrome extension in Puppeteer.

Better LINE->Matrix read receipt bridging is now supported in the testing branch! The bridge now checks all LINE chats (not just the most recently-used one) to see if messages you sent have been read (in LINE). This works by cycling through all LINE chats where the final message is posted by you and doesn't have a "Read" marker on it yet (or for multi-user chats, if your last message hasn't been read by everyone in the room).

With that, I'll consider the bridge to be in Early Beta! 🎉 I'm now testing the bridge for myself to iron out a few kinks, and am preparing a PR to the matrix.org webpage to have this listed on https://matrix.org/bridges/.

Discussion:

#matrix-puppeteer-line:miscworks.net Issue page: https://src.miscworks.net/fair/matrix-puppeteer-line/issues

Matrix Adapter for WebThings 0.4.0

Christian told us:

This addon for the WebThings gateway lets you send Matrix messages when your IoT fridge is empty – or whatever you have connected to your gateway.

The update fixes predefined messages getting sent to the default room and is the first to be tested against gateway version 1.0.0. https://gitlab.com/webthings/matrix-adapter or in the addon list of your WebThings gateway

Dept of Clients 📱

NeoChat

Carl Schwan announced:

This week, NeoChat gained support for a Global Menu on Plasma and macOS. Aside from that, we fixed a few crashes.

But the biggest news of the week is that we will get funding from NLNet to implement E2EE support in Quotient and NeoChat as part of their grants to improve the internet. We will report on our progress on that front here!

This is terrific news, big thanks to NLNet for making this choice!

FluffyChat

FluffyChat is the cutest cross-platform matrix client. It is available for Android, iOS, Web and Desktop.

krille said:

FluffyChat 0.33.0 has been released.

Just a more minor bugfixing release with some design changes in the settings, updated missing translations and for rebuilding the arm64 Linux Flatpak.

Features

  • redesigned settings

  • Updated translations - thanks to all translators

  • display progress bar in first sync

  • changed Linux window default size

  • update some dependencies

Fixes

  • Favicon on web

  • Database not storing files correctly

  • Linux builds for arm64

  • a lot of minor bugs

Nheko

Nheko is a desktop client using Qt and C++17. It supports E2EE and intends to be full featured and nice to look at

Nico (@deepbluev7:neko.dev) offered:

Hello World! I am here to bring you Nheko news!

We merged the Spaces branch, which means Nheko master can now show some spaces. Peeking unjoined rooms, nesting spaces and creating them should be coming soon. We are also looking into how to fit knocking into the UI (we already rendered incoming knocks in the timeline for a while).

You can also now edit still pending messages, which should help if your server is slow and you notice a typo. The edit will then get queued and be sent as soon as the server acknowledges they received the original message. Apart from that there have been some improvements to the readability of the room list and some other UI elements.

Last but not least, we switched out our entire http backend from Boost to Curl. For that I wrote a simple wrapper around Curl. This fixes about 10 issues around connection shutdown, brings proxy support, http/2 and http/3 support and in general makes Nheko crash less and reduces latency a LOT! This will obviously cause some pain for packagers, but I hope it isn't too bad. Some of the issues this fixes only had 2 digits in our bugtracker and one was even filed by benpa!

Have a nice weekend everyone! ♥

2021-07-02-0r-zH-clipboard.png

Fractal

Alexandre Franke told us:

Chris tweaked the UI in various places. It’s a lot of small details that together make for a smoother experience. I encourage you to read the details in the description of !782. This is the only MR that landed since last week, but our people have been hard at work nonetheless. Kai blogged about his journey working on the search bar of doom and Alejandro shared his own struggle. In the meantime, Julian’s work has mostly happened upstream in matrix-rust-sdk.

Element Clients

Updates sent by the teams

Delight team

  • Spaces:
    • Research: We’ve been reaching out to people to walk us through how they use Spaces now and what they’d like to see different to help us learn and iterate;
    • Restricted room access: Some good progress towards shipping improved team spaces

Web

  • v1.7.32-rc.1 is on https://staging.element.io/ in advance of release on Monday - please test!
  • Some major progress on conversion to TypeScript, finding some bugs along the way. The main source of the element-desktop project is now fully converted to TypeScript!
  • A styled player component for the audio messages feature, available in the labs section.

iOS

Android

  • We are actively implementing the highly expected voice message feature!
  • A release candidate v1.1.12 will be available during the week-end
  • We are focusing to fix some crashes, to improve the stability of the application

Vocie messages!

kazv

tusooa reported:

kazv is a matrix client based on libkazv.

Talk to us on #kazv:tusooa.xyz .

Updates

  1. @tusooa:tusooa.xyz fixed a thread-safety issue that caused crashes. https://lily.kazv.moe/kazv/kazv/-/merge_requests/6

  2. We now have a new developer @nannanko:tusooa.xyz . She implemented a login failure prompt for kazv. https://lily.kazv.moe/kazv/kazv/-/merge_requests/4

You can get the current AppImage build at https://lily.kazv.moe/kazv/kazv/-/jobs/611/artifacts/browse .

Dept of SDKs and Frameworks 🧰

matrix-bot-sdk v0.5.19

TravisR announced:

v0.5.19 of the matrix-bot-sdk is out now with fixed power level checking (with an added utility function), improved default error logging, and a typo fix in reply creation. Check it out, and visit #matrix-bot-sdk:t2bot.io for help & support.

Dept of Ops 🛠

Matrix Navigator 0.1.2

Christian told us:

It's an alpha-stage webapp for developers to replace curl for room state administration.

This week I added features for better member management, including kick, ban and unban. https://gitlab.com/jaller94/matrix-navigator

Dept of Services 🚀

GoMatrixHosting v0.5.1 🚀

Michael told us:

Exciting new update, we can now wireguard an on-premises server from just about anywhere and make it work with the AWX system. This is useful when your server doesn't have a static or public IP address, or when some other networking issue prevents you from running a Matrix service on it.

Follow of on GitLab: https://gitlab.com/GoMatrixHosting

Or come say hello on Matrix: #general:gomatrixhosting.com


* Add '00 - Create Wireguard Server' template for AWX admin to provision Wireguard servers that on-premises servers can use to connect.

* Subscription involved can view an additional '0 - {{ subscription_id }} - Provision Wireguard Server' template.
* Add /docs/Setup_Wireguard_Server.md guide.

* Add onboarding script for Windows 10 users.
* Raise maximum download size to 200MB.

Dept of Bots 🤖

Mjolnir

TravisR offered:

Mjolnir is a moderation bot for communities on Matrix. It helps with a lot of the actions covered by the moderation guide, including capabilities to apply bans from other trusted communities. It's still a bit terse in its documentation, but if you're looking for a featureful moderation bot then it's worth a go.

In related news, Mjolnir v0.1.18 is out with a couple quality of life fixes - if you've been bothered by the log spam, it's now fixed :)

Dept of Guides 🧭

Matrix Limits

Ryan said:

I started a tiny repo to collect various limits and related factoids about the Matrix specification and implementations. I hope that distilling and summarising such things at glance will make it easier to see what is and is not possible.

If you know of more that should be listed, please contribute! 🙂

Self hosting your own Matrix server on a Raspberry Pi

Peter Roberts announced:

@ed:selfhostingblog.com of theselfhostingblog.com has written a guide on getting started with Synapse on a Raspberry Pi using Docker Compose. You can read it here.

Public Rooms News 🏟️

Matrix Science Reading Group

Florian said:

Together with J. Ryan Stinnett, I created the 🔖 #matrix-science-reading-group:dsn.tm.kit.edu for exchange of and on scientific papers, books and related resources on all things Matrix: Topics ranging from peer-to-peer broadcast overlay networks over conflict-free replicated data types to end-to-end encryption. Investigating security, performance, deployability, or whatever else is interesting, by methods from observation over simulation to formal verification. 🎓️ Please join if you want to read about papers that might not be Matrix-related enough to make it into TWIM, or want to engage in the discussion. 😊 The resulting papers are collected at: https://github.com/jryans/awesome-matrix#research

German Element translation feedback

Libexus announced:

Hallo deutschsprachige Matrix-Community!

#element-uebersetzung-feedback:matrix.org ist ein Raum für Feedback zur deutschsprachigen Übersetzung aller Element-Clients.

Hast du einen Fehler gefunden, ist etwas unklar oder hast du ein Anliegen an uns? Dann schreibe es gerne hier hinein!

Jederzeit willkommen sind natürlich auch neue Übersetzerinnen und Übersetzer. Joint dazu einfach #element-translation-de:matrix.org, #element-translations:matrix.org und lest euch den Translation Guide durch.


Hello German-speaking Matrix community!

#element-uebersetzung-feedback:matrix.org is a room for feedback about the German translation of Element.

Have you found a mistake, is something unclear or do you have a suggestion? Please write it there!

Also, we are always happy about new translators (for all languages!). Just join #element-translations:matrix.org and have a look at the translation guide on how to get started!

Room of the week

timokoesters told us:

Hi everyone! Did you ever feel lost in the Matrix world? The room directory is big, but it's still hard to find something you like. Or are you a room moderator, but there is not much activity in your room because it doesn't have enough users?

This is why I want to share rooms (or spaces) I find interesting.


This week's room is: #fossmaintainers:matrix.org

"A public space for Free/Open Source Software maintainers to swap notes and discuss their craft. Inspired by https://github.com/github/maintainerweek, all maintainers welcome!"


If you want to suggest a room for this section, tell me in #roomoftheweek:fachschaften.org

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.

#ping:maunium.net

Join #ping:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.

RankHostnameMedian MS
1envs.net497
2fluse.duckdns.org653
3m.scd31.com802.5
4maescool.be803
5helderferreira.io828
6nevarro.space842
7tilde.fun842
8fslhome.org952
9fosil.eu987.5
10queersin.space1241

#ping-no-synapse:maunium.net

Join #ping-no-synapse:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.

RankHostnameMedian MS
1dendrite.nordgedanken.dev246
2dendrite.neilalexander.dev578
3dendrite01.fiksel.info1459
4jloa.ovh1586

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 2021-06-25

2021-06-25 — This Week in Matrix — Ben Parsons

Matrix Live 🎙

  • Valere presents the latest Spaces UX
  • Neil Alexander shows off P2P progress
  • ChristianP shows Matrix Navigator
  • Eric Eastwood (Gitter fellow!) shows off MSC2716 (message history batches)
  • Rich vdH presents Jaeger for Synapse profiling
  • Bruno presents reactions in Hydrogen

Dept of Status of Matrix 🌡️

Room of the week

timokoesters said:

Hi everyone! Did you ever feel lost in the Matrix world? The room directory is big, but it's still hard to find something you like. Or are you a room moderator, but there is not much activity in your room because it doesn't have enough users?

This is why I want to share rooms (or spaces) I find interesting.


This week's space is: RPG

Biggest room: #D&D:matrix.org

"Casual chat about Dungeons & Dragons, tabletop RPG, OSR, DM tips, player stories, world building, and more."


If you want to suggest a room for this section, tell me in #roomoftheweek:fachschaften.org

Dept of Spec 📜

Spec

anoa told us:

Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals.

MSC Status

Merged MSCs:

MSCs in Final Comment Period:

  • No MSCs are in FCP.

New MSCs:

Spec Updates

Spaces work continues with MSC3083 (Restricted room memberships), which will include a new room version due to the new join_rule of `restricted. On the other side of things, MSC3245 (voice messages) and by extension extensible events, is moving as the implementation work is pushed forward. Lots of activity on MSC3215 (improved moderation tooling) as well which will no doubt prove to be invaluable as the Matrix network continues to grow.

2021-06-25-u23Qt-stacked_area_chart.png

Dept of Servers 🏢

Conduit

Conduit is a Matrix homeserver written in Rust https://conduit.rs

timokoesters reported:

After some more work on swappable database backends, I worked on a few small features:

  • User directory improvements (show remote users and appservice puppets)

  • /state endpoint

  • /event_auth endpoint

  • Filter our room directory based on the search term

  • /search over multiple rooms

Synapse

Synapse is a popular homeserver written in Python.

anoa said:

Knock, knock TWIM! It's a new week, and I'm filling in for Dan today to bring you an update on Synapse's latest progress!

Hot off the heels of Synapse 1.36.0’s release last week, we’ve put out 1.37.0rc1! It includes the long-awaited “room knocking” feature (note that no clients currently support knocking), a completely reworked pluggable modules interface and experimental support for backfilling history into rooms. With knocking support in, this means Synapse now has support for room v7!

Among those exciting updates, we also have the usual churn of bug fixes and improvements across the board. Many updates to the documentation as well as we lean into using the new Synapse documentation site more and more. Please help us test the RC if you can!

Homeserver Deployment 📥️

Kubernetes

Ananace offered:

This week too sees some Kubernetes chart updates, with element-web being updated to 1.7.31 and matrix-synapse getting some fixes for envvars and mounts, as well as some improvements to the ingress support.

YunoHost

Mamie offered:

YunoHost is an operating system aiming for the simplest administration of a server, and therefore democratize self-hosting.

Synapse integration had been updated to 1.34.0 (1.35.1 available in branch testing)

Element Web integration had been updated to 1.7.28 (1.7.29 available in branch testing)

Dept of Bridges 🌉

Gitter

Eric Eastwood offered:

It has been several months since we last updated you on MSC2716 for backfilling historical messages into existing rooms but we made some big progress this week and merged an experimental Synapse implementation taking us one step closer to importing the massive archive of messages on Gitter over to Matrix! This iteration will only make the historical messages visible on the local homeserver but we have plans to make them federate in the next. It's still early days on this before we can actually use it on Gitter. Here is a proof of concept to get your juices flowing:

2021-06-25-7abpP-gitter-backfill-historical-messages-to-matrix.gif

Dept of Clients 📱

Hydrogen

A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. https://github.com/vector-im/hydrogen-web/

Bruno said:

Released Hydrogen 0.2.0 with:

  • support for receiving and sending reactions ❤👍🚀
  • adds a right panel with basic room information, thanks to @MidhunSureshR! Watch this space in the near future for more functionality soon.

Loving Hydrogen right now. It's fast and works great! See Bruno present reactions as one of the Matrix Live demos (scroll up)

NeoChat

Carl Schwan announced:

In terms of code, this week we didn't get much activity. The only noteworthy news is that we can now send spoilers, and use two new commands: /tableflip and /unflip thanks to Smitty van Bodegom.

Aside from that, we had 2 productive BoFs during Akademy 2021. The first one was about creating a library with shared chat visual components for KDE's chat apps: NeoChat for Matrix, Tok for Telegram and Kaidan for XMPP, KDE Connect and Spacebar for SMS, ... The second BoF was more about NeoChat and Quotient and we discussed how to move forwards with some problems (e.g. non-hacky text input auto-completion) but also the roadmap around E2EE, Spaces and Widgets support. Speaking about E2EE, we will have some very good news to announce next week, stay tuned!

/me only learned about /tableflip and /unflip this today... and looking forward to this E2EE news!

Fractal

Alexandre Franke announced:

In the past couple of weeks, Alejandro and Kai started the coding period of their GSoC internship and explained on their blogs what they will be working on. Their projects are respectively to add support for multiple accounts, and to bring Fractal Next to feature parity with current stable. Read more details on their blogs, and subscribe to them to keep informed as they go!

Julian managed to land the “Explore” view, our room directory. There may be some changes down the road, but it looks good for now:

2021-06-25-pucq0-image.png

Newcomer Giuseppe De Palma removed bashisms from our git hook because they were preventing him from contributing. They then went on to tweak the history style to remove the grey background around it. They also got rid of a papercut from the login form: before his intervention, users needed to provide the full homeserver URL with the http:// or https:// scheme prefix. It will now default to HTTPS.

We also did some housekeeping work that should improve the experience for people joining us on the Fractal Next fun. After being away for a while, Christopher Davis came back with a patch to add a couple more build related directories to our .gitignore. Julian cleaned up the pseudo-milestone description that we had in the README, now that we have a proper Gitlab milestone. And finally, I added a warning on the login screen to better reflect on the Work In Progress state of the branch.

Element Clients

Updates from the teams! Android will return next week.

Delight team

  • Spaces:
    • Drag and drop for reordering Spaces is now live on Android! And testable on develop for Web
    • We’ve also added labs flags to Web & Android to test a few different things, in particular
      • Toggling ‘Home’ to show all rooms, or only rooms which don’t belong to Spaces
      • Toggling to not show People in Spaces
    • Please try them out! After living with a different config for a few days, we’d love to hear your feedback!

Web

  • 1.7.31 released on Monday
  • Nightly builds of Element Desktop optimised for Apple silicon are now available for testing! Please give it a try and report any issues.
  • Added libera.chat to room directory on develop, staging, and app. It will appear in desktop builds as well next time they update.
  • On develop
    • Various CI tweaks and performance improvements
  • In flight
    • Adding large account performance tests

iOS

  • 1.4.2 released on Monday. 1.4.3 with the fix on wellknown on Thursday
  • Fix a bug where the wellknown was no more fetched
  • Device dehydration is available in the SDK
  • Still good progress on voice messages

Quaternion

kitsune offered:

0.0.95 RC is out, available from the usual place at GitHub, and also as Flatpak from Flathub. The usual stabilisaton/bug fixing work, no new features compared to betas. This version is considerably better, and more stable, than 0.0.9.4 - packagers are welcome to push it as if it were the final release. Translators, please help to complete more languages: Polish is at 90%, Spanish almost 80%, and French just below 60% - you can make a difference!

Dept of Encryption 🔐

New paper: “Key Agreement for Decentralized Secure Group Messaging with Strong Security Guarantees”

Florian offered:

Here is a scientific paper for all interested in decentralized end-to-end encryption cryptography protocols, like Matrix' Megolm, or the MLS future of Matrix: The preprint “Key Agreement for Decentralized Secure Group Messaging with Strong Security Guarantees” by Weidner, Kleppmann et al., which will appear in the ACM CCS 2021 Conference, surveys existing centralized and decentralized end-to-end cryptography protocols, Olm/Megolm (labeled as “Matrix”) among them, and discusses why the Messaging Layer Security (MLS) IETF draft has its problems with decentralization. Following that, they come up with their own decentralized protocol, including a security and performance analysis. They improve asymptotic complexity when compared to Olm/Megolm, and the assumptions on the underlying communication layer are easily fulfilled by Matrix. They also discuss that the very good asympotic complexity of MLS cannot be reached for a decentralized end-to-end cryptography protocol.

Dept of SDKs and Frameworks 🧰

Quotient

kitsune reported:

Last week's news actually, but libQuotient master branch can built with Qt 6 now, laying ground for the GSoC works on PyQuotient - Python bindings for libQuotient. The library has also been updated to follow the latest CS API specification, which means basic low-level support for knocking, with higher-level library API for it coming later.

🧙 Polyjuice Util

Polyjuice Client is a Matrix library for Elixir

uhoreg said:

Polyjuice Util is a library of Matrix functions for Elixir that can be used for both client-side and server-side applications. Polyjuice Util 0.2.0 has been released, which includes functions for common errors, handling identifiers, and for checking room permissions. Thanks to Nico for his contributions to this release. This release also contains some backward-incompatible changes. See the changelog for more information.

Polyjuice Client 0.4.1 has also been released, which uses the new Polyjuice Util release, and adds support for the whoami endpoint (thanks to multiprise).

Dept of Ops 🛠

synadm 0.30

jojo said:

Hello dear Synapse Admins, synadm v0.30 is out. lt seems I was in "story telling mode" already when I wrote the release notes yesterday. That should perfectly suit a TWIM article as well 🙂 So there you go, copy/pasted from https://github.com/JOJ0/synadm/releases/tag/v0.30 with love:

New

synadm finally got some nicely rendered documentation pages hosted at https://synadm.readthedocs.io.

"Login as a user" admin API support:

New subcommand matrixsupporting execution of regular Matrix commands. As a first shot a command to issue any Matrix API call has been implemented:

  • synadm matrix raw endpoint/url -m post -f data.json

  • synadm matrix raw endpoint/url -m put -d '{"key1": "value1"}' --prompt

  • The new command's docs

Note that this is ment to be a convenience function in case a Synapse homeserver admin wants to quickly help users e.g set specific settings available via regular Matrix calls and not the Synapse admin API directly. Also note that it is not ment to replace the awesome Matrix CLI tools that are already out there. matrix-commander, matrixcli to mention just a few.

The second command below matrix is:

It implements a plain login on a Matrix server using username and password. It can even be used to retrieve a token for an admin user, e.g helpful for setting up fresh synadm installations. Read about it here

Improved

The README has been updated to point to the nicely rendered docs recently published at https://matrix-org.github.io/synapse/develop/usage/administration/admin_api/index.html

Notes

Update via PyPI or git as described in the update chapter: https://github.com/JOJ0/synadm#update

Thanks to the friendly people in #synadm:peek-a-boo.at for reviewing, testing, discussing functionality and giving advice. And for this release, a special thanks to @hpd:hpdeifel.de https://github.com/hpdeifel

Matrix Navigator v0.1.1

Christian said:

Matrix Navigator aims to be a replacement for curl when querying and mutating room states, including permissions.

  • Plenty of fixes (reminder, this is still alpha software)

  • Allows to join, leave rooms and inviting users.

  • New wide-screen layout

  • Errors are now shown in input fields or alerts.

https://matrix-navigator.chrpaul.de

Code and roadmap: https://gitlab.com/jaller94/matrix-navigator

Dept of Services 🚀

Thoughts on Matrix account ownership

Thib told us:

with the change of policy we deployed on GNOME's Matrix instance, it occurred to me that we had overlooked an important aspect in our relationship with Matrix: do we own our Matrix account? And the answer is... maybe! In this post I cover the differences between personal account, organisation-owned account, the importance of segregating activities on Matrix... and why this may change with Portable Identities in the future

https://blog.ergaster.org/post/20210622-owning-your-matrix-account/

Dept of Jobs 💰️

Tchap are hiring!

Thib reported:

the French government deployed Tchap, an instant messaging based on Matrix. They are looking for tech and processes oriented people to improve the service.

https://beta.gouv.fr/recrutement/2021/06/15/tchap-devops.html (🇫🇷) https://beta.gouv.fr/recrutement/2021/06/15/charge.ou.chargee.de.deploiement.html (🇫🇷)

Final Thoughts 💭

Andy reported:

I know this isn't TWIM-worthy, but I figured people in this room would find it interesting: yesterday there was a very popular post on reddit about how we don't appreciate email enough, and in the comments there were some mentions of matrix as the counterpart for messaging:

https://old.reddit.com/r/Showerthoughts/comments/o6cs4l/comment/h2s5dcz/

Actually I think this is very interesting. Worth taking a read to understand how people not already using Matrix might see the world.

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.

#ping:maunium.net

Join #ping:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.

RankHostnameMedian MS
1maunium.net517
2int21.dev520
3matrix.sp-codes.de607
4trolla.us615
5aria-net.org765
6vonderste.in812.5
7heitkoetter.net832
8lily.flowers991
9thomcat.rocks1237.5
10kittenface.studio1559

#ping-no-synapse:maunium.net

Join #ping-no-synapse:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.

RankHostnameMedian MS
1dendrite01.fiksel.info1300.5
2weber.world2473

That's all I know 🏁

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

NextPage 2