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!

Synapse 1.39.0 released

2021-07-29 — Releases — Dan Callahan

Synapse 1.39.0 is now available!

We've done quite a bit of work this release on Synapse's new interface for extension modules:

  • Synapse's account_validity option has been extracted into a built-in extension module. If your configuration previously enabled account_validity, it will continue working as before, but it is now easier to override and customize.
  • The third party event rules callbacks have also been experimentally ported to the new module interface.

We've also improved the Space Summary API to list all rooms which a user could join (#10298). This is especially important with the pending standardization of Room Version 8, which includes MSC3083: Restricting room membership based on membership in other rooms.

MadLittleMods landed several pull requests on the path to implementing MSC2716: Incrementally importing history into existing rooms (#10250, #10276).

More than anything else, this release contains an absolutely enormous load of internal cleanup. For example:

  • ShadowJonathan ran pyupgrade on the entire codebase, bringing it up to modern Py3.6+ conventions, then separately used com2ann to move us from legacy # type: foo type hints to more modern inline annotations.
  • We finished converting several integer columns in our database to bigint as a precautionary measure.
  • We've made innumerable improvements to our CI configuration; including moving completely to GitHub Actions.
  • Countless small improvements to performance, reliability, and error logging.

But that's not all! Synapse 1.39 also allows for setting credentials for HTTP proxy connections thanks to work by dklimpel; previously, Synapse was only able to provide authentication for HTTPS proxies.

Please see the Upgrade Notes and Release Notes for a complete list of changes in this rele ase.

Synapse is a Free and Open Source Software project, and we'd like to extend our thanks to everyone who contributed to this release, including andir, dklimpel, ilmari, LukeWalsh, moritzdietz, ShadowJonathan, and xmunoz.

Element raises $30M to boost Matrix

2021-07-27 — General, News — Matthew Hodgson

Hi folks,

Big news today: Element, the startup founded by the team who created Matrix, just raised $30M of Series B funding in order to further accelerate Matrix development and improve Element, the flagship Matrix app. The round is led by our friends at Protocol Labs and Metaplanet, the fund established by Jaan Tallinn (co-founder of Skype and Kazaa). Both Protocol Labs and Metaplanet are spectacularly on board our decentralised communication quest, and you couldn't really ask for a better source of funding to help take Matrix to the next level. Thank you for believing in Matrix and leading Element's latest funding!

You can read all about it from the Element perspective over at the Element Blog, but suffice it to say that this is enormous news for the Matrix ecosystem as a whole. In addition to transforming the Element app, on the Matrix side this means that there is now concrete funding secured to:

Obviously this is in addition to all the normal business-as-usual work going on in terms of:

  • getting Spaces out of beta
  • adding Threading to Element (yes, it's finally happening!)
  • speeding up room joins over federation
  • creating 'sync v3' to lazy-load all content and make the API super-snappy
  • lots of little long-overdue fun bits and pieces (yes, custom emoji, we're looking at you).

If you're wondering whether Protocol Labs' investment means that we'll be seeing more overlap between IPFS and Matrix, then yes - where it makes tech sense to do so, we're hoping to work more closely together; for instance collaborating with the libp2p team on our P2P work (we still need to experiment properly with gossipsub!), or perhaps giving MSC2706 some attention. However, there are no plans to use cryptocurrency incentives in Matrix or Element any time soon.

So, exciting times ahead! We'd like to inordinately thank everyone who has supported Matrix over the years - especially our Patreon supporters, whose donations pay for all the matrix.org infrastructure while inspiring others to open their cheque books; the existing investors at Element (especially Notion and Automattic, who have come in again on this round); all the large scale Matrix deployments out there which are effectively turning Matrix into an industry (hello gematik!) - and everyone who has ever run a Matrix server, contributed code, used the spec to make their own Matrix-powered creation, or simply chatted on Matrix.

Needless to say, Matrix wouldn't exist without you: the protocol and network would have fizzled out long ago were it not for all the people supporting it (the matrix.org server can now see over 35.5M addressible users on the network!) - and meanwhile the ever-increasing energy of the community and the core team combines to keep the protocol advancing forwards faster than ever.

We will do everything we possibly can to succeed in creating the long-awaited secure communication layer of the open Web, and we look forward to large amounts of Element's new funding being directed directly into core Matrix development :)

thanks for flying Matrix,

Matthew, Amandine & the whole Matrix core team.

Dendrite 0.4.1 Released

2021-07-26 — Releases — Matthew Hodgson

It's only been two weeks since Dendrite 0.4 landed, but there's already a significant new release with Dendrite 0.4.1 (it's amazing how much work we can do on Dendrite when not off chasing low-bandwidth and P2P Matrix!)

This release further improves memory performance and radically improves state resolution performance (rumour has it that it's a 10x speed-up). Meanwhile, SS API sytest coverage is up to 91%(!!) and CS API is now at 63%.

We're going to try to keep the pressure up over the coming weeks - and once sytest is at 100% coverage (and we're not missing any big features which sytest doesn't cover yet) we'll be declaring a 1.0 :)

If you're running Dendrite, please upgrade. If not, perhaps this would be a good version to give it a try? You can get it, as always from, https://github.com/matrix-org/dendrite/releases/tag/v0.4.1. The changelog follows:

Features

  • Support for room version 7 has been added
  • Key notary support is now more complete, allowing Dendrite to be used as a notary server for looking up signing keys
  • State resolution v2 performance has been optimised further by caching the create event, power levels and join rules in memory instead of parsing them repeatedly
  • The media API now handles cases where the maximum file size is configured to be less than 0 for unlimited size
  • The initial_state in a /createRoom request is now respected when creating a room
  • Code paths for checking if servers are joined to rooms have been optimised significantly

Fixes

  • A bug resulting in cannot xref null state block with snapshot during the new state storage migration has been fixed
  • Invites are now retired correctly when rejecting an invite from a remote server which is no longer reachable
  • The DNS cache cache_lifetime option is now handled correctly (contributed by S7evinK)
  • Invalid events in a room join response are now dropped correctly, rather than failing the entire join
  • The prev_state of an event will no longer be populated incorrectly to the state of the current event
  • Receiving an invite to an unsupported room version will now correctly return the M_UNSUPPORTED_ROOM_VERSION error code instead of M_BAD_JSON (contributed by meenal06)

-- Team Dendrite

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!

Germany’s national healthcare system adopts Matrix!

2021-07-21 — General, News — Matthew Hodgson

Hi folks,

We’re incredibly excited to officially announce that the national agency for the digitalisation of the healthcare system in Germany (gematik) has selected Matrix as the open standard on which to base all its interoperable instant messaging standard - the TI-Messenger.

gematik has released a concept paper that explains the initiative in full.

TL;DR

With the TI-Messenger, gematik is creating a nationwide decentralised private communication network - based on Matrix - to support potentially more than 150,000 healthcare organisations within Germany’s national healthcare system. It will provide end-to-end encrypted VoIP/Video and messaging for the whole healthcare system, as well as the ability to share healthcare based data, images and files.

Initially every healthcare provider (HCP) with an HBA (HPC ID card) will be able to choose their own TI-Messenger provider. The homesever for HCP accounts will be hosted by the provider’s datacentre. The homeserver for institutions can be hosted by TI-Messenger providers, or on-premise.

Each organisation and individual will therefore retain complete ownership and control of their communication data - while being able to share it securely within the healthcare system with end-to-end encryption by default. All servers in the Matrix-based private federation will be hosted within Germany.

Needless to say, security is key when underpinning the entire nation’s healthcare infrastructure and safeguarding sensitive patient data. As such, the entire implementation will be accredited by BSI (Federal Office for Information Security) and BfDI (Federal Commissioner for Data Protection and Freedom of Information).

The full context...

Germany’s digital care modernisation law (“Digitale Versorgung und Pflege Modernisierungs Gesetz” or DVPMG), which came into force in June 2021, spells out the need for an instant messaging solution.

The urgency has increased by a significant rise in the use of instant messaging and video conferencing within the healthcare system - for instance, the amount of medical practices using messenger services doubled in 2020 compared to 2018 (much of this using insecure messaging solutions).

gematik, majority-owned by Germany’s Federal Ministry of Health, is responsible for the standardised digital transformation of Germany’s healthcare sector. It focuses on improving efficiency and introducing new ways of working by setting, testing and certifying healthcare technology including electronic health cards, electronic patient records and e-prescriptions.

TI-Messenger is gematik’s technical specification for an interoperable secure instant messaging standard. The healthcare industry will be able to build a wide range of apps based on TI-Messenger specifications knowing that, being built on Matrix, all those apps will interoperate.

More than 150,000 organisations - ranging from local doctors to clinics, hospitals, and insurance companies - can potentially standardise on instant messaging thanks to gematik’s TI-Messenger initiative.

The road to interoperability

By 1 October 2021, TI-Messenger will initially specify how communication should work in practice between healthcare professionals (HCPs). Physicians will be able to find and communicate with each other via TI-Messenger approved apps - specifications include secure authentication mechanisms with electronic health professional cards (eHBAs), electronic institution cards (SMC-B) and a central FHIR directory. The first compliant apps for HCPs are expected to be licensed by Q2 2022.

Eric Grey (product manager for TI-Messenger at gematik), reckons there will initially be around 10-15 TI-Messenger compliant Matrix-based apps for HCP communications available from different vendors.

Healthcare professionals will be able to choose a TI-Messenger provider, who will be hosting their personal accounts and provide the messenger-client.

Healthcare organisations will choose a TI-Messenger provider to build the dedicated homeserver infrastructure (on prem or in a data center), provide the client and ongoing support.

What does this mean for the Matrix community?

Matrix is already integral to huge parts of the public sector; from the French government’s Tchap platform, to Bundeswehr’s use of BwMessenger and adoption by universities and schools across Europe.

Germany’s healthcare system standardising on Matrix takes this to entirely the next level - and we can’t wait to see the rest of Europe (and the world!) converge on Matrix for healthcare!

We'll have more info about TI-Messenger on this week's Matrix Live, out on Friday - stay tuned!

NextPage 2