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

This Week in Matrix 2021-11-19

2021-11-19 — This Week in Matrix — Thib

Friday already? Did this week already happen? It looked like the spacetime continuum was broken and we didn't know who did it. We needed witnesses to solve the case: did things really happen this week? And the witnesses showed up! A huge thanks to everyone in the Matrix community who reported their progress, and to everyone currently working on making awesome projects around Matrix!

The case is closed: the week has not been stolen from us. Time appears to have wings, and flies faster than we had anticipated.

Matrix Live 🎙

A very very dense and exciting wrap up of what's happening these days in the Matrix space by Matrix Foundation co-founders Matthew & Amandine! Matrix is stepping up a gear with blazing fast Sync v3, Threading Support, VoIP, VR, a new release of the Spec, always more monthly active users, a full security audit and progress on P2P.

Dept of Spec 📜

anoa says

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:

Merged MSCs:

Spec Updates

This week we finally, finally had one of the aggregation-related MSCs, MSC2674 (event relationships) enter final comment period! This MSC, along with several others, document the stuff that powers message edit, reactions, the upcoming threading and polls MSCs, and much more! So it's really great to see the MSCs start to actually land.

Speaking of threading MSC3440 has had a good amount of review from the Spec Core Team last week. Threading in Matrix has been a long awaited feature for chat applications - as well as helping extend the flexibility of Matrix as a data structure even further. The MSC relies on both MSC2674 and MSC2675 (or a modified version of it), so the latter will be an area of focus for review for next week.

Spec PRs

It seems that the recent Matrix v1.1 has drummed up some more community support for spec PRs. Thank you to everyone who's sent in clarifications, changes and even typo fixes. In particular, @ankur12-1610 for fixes to the OpenAPI fields, and for typo corrections in the spec copy, and @Dominaezzz for helping review them. Thank you both!

Random Spec of the Week

The random spec of the week is... MSC2867: Marking rooms as unread!

This is definitely a feature that I would love to have for chat. Note that this MSC proposes marking a room as unread, rather than a specific point in the room's timeline. This is intentional as noted in the document, as the latter is more complicated, as it intersects with sending out read receipts to other users.

Dept of Servers 🏢

Synapse

Synapse is the reference homeserver for Matrix

dmr announces

Note: we plan to release a security release, Synapse 1.47.1 on the coming Tuesday, 23rd of November; see the predisclosure.

We released Synapse 1.47.0 after squashing a couple of problems related to database migrations remaining in 1.47.0rc2. Briefly, this release includes

  • new features for users of the admin and module APIs;
  • a number of long-standing bug fixes, including a thorny bug which prevented joining certain old rooms; and
  • continuing efforts to prototype new MSCs and improve type coverage.

The blog post has a better summary, and GitHub has the full gory details.

We also released Sydent 2.5.1, a minor release which improves the way we handle and log various error cases.

Thank you as ever to our community contributors, and everyone out there who's using Synapse to communicate!

dmr also reminds us

When we release the fix, the changes will be publicly known and bad actors will have the ability to deduce the vulnerability. Most servers don't run release candidates, so releasing the fix in an RC will mean there's a larger window for an attacker to exploit the problem. Internally, there will be an RC deployed to test homeservers and eventually matrix.org. This means we'll be able to confidently recommend the upgrade to server administrators.

dkasak adds

And that's the very reason we have dedicated security releases, instead of just rolling the security fixes into a feature release. The security release doesn't contain anything new apart from the security fix so it minimizes the chance of things going wrong.

Keep your servers up to date, and your users safe, administrators!

Homeserver Deployment 📥️

Helm Chart

Matrix Kubernetes applications packaged into helm charts

Ananace says

Would you believe it? This week has also seen updates to my Helm Charts, with matrix-synapse having been updated to 1.47.0

Dept of Bridges 🌉

Heisenbridge

Heisenbridge is a bouncer-style Matrix IRC bridge.

hifi says

Release v1.7.0 🥳

  • Implement "best effort" basic IRC moderation in plumbed rooms if bot has ops on IRC
  • Allow configuring topic sync for plumbs (IRC<->Matrix or one way)
  • Allow using forward slash (/) as MXID separator for IRC ghosts
  • Bump max mautrix version to <0.12
  • Small fixes

Plumb moderation! If the bridge bot has ops on IRC it will do its best to map kicks and bans (regarding IRC users) from Matrix. This definitely isn't perfect and is meant as a convenience.

Topic synchronization is now configurable for plumbs as well to make it possible to share the same topic between an IRC channel and a plumbed Matrix room. Default is still off and it requires the bridge bot to have enough PL to work.

The separator for IRC ghosts can now be changed to forward slash (/) from the default underscore (_). This happens by modifying the regex in the registration file. Only do this for new installations and it will cause all IRC users to duplicate in rooms who you can't remove and probably other bad side effects as well. The default may be changed in the future.

There were lots of refactoring issues so I hope I fixed all of them 🙈.

Best effort your fix from GitHub, PyPI or matrix-docker-ansible-deploy!

Thanks!

Yet another week, yet another great update on Heisenbridge. At this rate Heisenbridge will reach perfection and hifi will run out of things to report!

Dept of Clients 📱

Nheko

Desktop client for Matrix using Qt and C++17.

Nico reports

So, Nheko has a small little release this morning! Okay, that's a lie, it was actually pretty big! You can find the full changelog and some of our binaries here: https://github.com/Nheko-Reborn/nheko/releases/tag/v0.9.0

As always, thank you everone, who contributed. There were over 30 authors this release! If you haven't tried Nheko in a while, give it a whirl. Lots of stuff changed, some things might not even have been mentioned in TWIM! I put the first few lines of the changelog below for your convenience:

Highlights

  • Somewhat stable end to end encryption 🔐
    • Show the room verification status
    • Configure Nheko to only send to verified users
    • Store the encryption keys securely in the OS-provided secrets service.
    • Support online keybackup as well as sharing historical session keys.
  • Crosssigning bootstrapping 🔄
    • Crosssigning is used to simplify the verification process. In this release Nheko can setup crosssigning on a new account without having to use a different client.
    • Nheko now also prompts you, if there are any unverified devices and asks you to verify them.
  • Room directory (Manu) 📂
    • Search for rooms on your server and other servers. (Prezu)
    • If their topic interests you and it has the right amount of members, join the room and the discussion!
  • Custom sticker packs 🐈‍⬛
    • Add a custom sticker picker, that allows you to send stickers from MSC2545.
    • Support creating new sticker (and emote) packs.
    • You can share packs in a room and enable them globally or just for that room.
  • Token authenticated registration (Callum) 🎫
    • Sign up with a token to servers, that have otherwise disabled registration.
    • This was done as part of GSoC and makes it easier to run private servers for your family and friends!

Features

  • Support email in registration (required on matrix.org for example)
  • Warn, if an @room would mention the whole room, because some people don't like that.
  • Support device removal as well as renaming. (Thulinma)
  • Show your devices without encryption support, when showing your profile. (Thulinma)
  • Move to the next room with unread messages by pressing Alt-A. (Symphorien)
  • Support jdenticons as a placeholder for rooms or users without avatars. (LorenDB)
  • Properly sign macOS builds.
  • Support animated images like GIF and WebP.
    • Optionally just play them on hover.
  • Support accepting knocks in the timeline.
  • Close a room when clicking it again. (LorenDB)
  • Close image overlay with escape.
  • Support .well-known discovery during registration.
  • Limited spaces support.
    • No nice display of nested spaces.
    • No previews of unjoined rooms.
    • No way to edit a space.
  • Render room avatar changes in the timeline. (BShipman)
  • Support pulling out the sidebar to make it wider.
  • Allow editing pending messages instead of blocking until they are sent. (balsoft)
  • Support mnemonics in the context menus. (AppAraat)
  • Support TOFU for encryption. (Trust on first use)
  • Right click -> copy address location.
  • Forward messages. (Jedi18)
  • Alt-F to forward messages.
  • A new video and audio player, that should look a bit nicer.

As always, come check us out and chat about Nheko in #nheko:nheko.im

That's one massive update for Nheko! Thanks Nheko contributors!

Element

Everything related to Element but not strictly bound to a client

Nad says

Threads

  • We’ve been polishing UI, and updating notifications on Web
  • On Mobile, we’ve updates iOS & Android to be threads aware, live in the next release
  • We also tested Threads more widely in a community testing session (thanks to all who attended!)

Polls

  • We’re making good progress on polls on all platforms
  • Aiming to get poll creation, voting and the ability to see results working in all platforms in our current sprint, to then move to wider testing

Community Testing

  • Two successful testing sessions on VoIP and Threads (first community testing session on iOS!)
  • Squashed 26 Android VoIP bugs
  • No sessions this coming week, but we’ll be back the week after

Element Web

Secure and independent communication, connected via Matrix. Come talk with us in #element-web:matrix.org!

Nad reports

Element iOS

Secure and independent communication for iOS, connected via Matrix. Come talk with us in #element-ios:matrix.org!

Nad says

  • We fixed regressions reported on our previous release candidates. Sorry for the delay but the current release candidate 1.6.8 should be available on the App Store on Monday
  • The work to replace Matomo by PostHog has been resumed
  • We are still working on making the MatrixKit obsolete
  • Space creation / invites: will start design and code review starting next week
  • Start space management integration in rooms

Element Android

Secure and independent communication for Android, connected via Matrix. Come talk with us in #element-android:matrix.org!

Nad updates us with

  • Element Android 1.3.8 with support for Android 12 has been released on the PlayStore (beta channel) Wednesday. Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.8 . The SDK 1.3.8 has also been released. If everything is fine, the app will be promoted to production and to F-Droid on Monday. The README of the project has been updated to clarify the release process: https://github.com/vector-im/element-android#releases-to-app-stores
  • Voice message draft is currently under active development. We want the feature to work well before we release it, and it was an opportunity to rework the whole feature, to improve its architecture.
  • Still working on the timeline rework.

Dept of Non Clients 🎛️

time-to-matrix

The time command, but it sends the output to a Matrix room

Aine reports

after the Miounne update posted a minute ago here is another one, and it's about time: Time To Matrix (ttm) got v1.4.0 release!

Time To Matrix is a time-like command that will send end of an arbitrary command output and some other info (like exit status) to matrix room.

With new release, following things were added:

  • arch linux AUR package
  • automatic room alias resolving, so you can use #ttm:etke.cc instead of !XODRhTLplrymaFicdK:etke.cc
  • help message and human-readable errors
  • option to change message type (m.text or m.notice)
  • option to omit plaintext and send only html-formatted message (to get some more space for log)
  • option to override message type to m.notice if the command exits with non-zero exit code (by default m.text is sent, so you will get m.notice on failure)

Go check out the source code and say hello in #ttm:etke.cc

Dept of SDKs and Frameworks 🧰

simplematrixbotlib

simplematrixbotlib is an easy to use bot library for the Matrix ecosystem written in Python and based on matrix-nio.

krazykirby99999 reports

Version 2.3.0 Released!

simplematrixbotlib is an easy to use bot library for the Matrix ecosystem written in Python and based on matrix-nio. Version 2.3.0 adds support for additional configuration via config files and other methods. Currently, there is only one setting that can be changed, however many existing and future features will be able to be enabled or disabled via this config.

Example usage is shown below:

"""
random_user
     !echo something
echo_bot
     something
"""

import simplematrixbotlib as botlib

creds = botlib.Creds("https://home.server", "user", "pass")

config = botlib.Config()
config.load_toml("config.toml")

bot = botlib.Bot(creds, config)
PREFIX = '!'

@bot.listener.on_message_event
async def echo(room, message):
     match = botlib.MessageMatch(room, message, bot, PREFIX)

     if match.is_not_from_this_bot() and match.prefix() and match.command("echo"):
          await bot.api.send_text_message(room.room_id,
                                " ".join(arg for arg in match.args()))

bot.run()

An example of a toml config file is shown below.

[simplematrixbotlib.config]
join_on_invite = false

Request additional features here.

View source on Github View package on PyPi View docs on readthedocs.io #simplematrixbotlib:matrix.org

Dept of Ops 🛠

Mother Miounne

The backoffice of etke.cc service

Aine reports

ding-dong Mother Miounne v2.2.0 is here!

Miounne is a backoffice of the etke.cc service.

New release brings notifications for integrated services:

  • buymeacoffee notifications on new purchase, supporter, subscription and unsubscription (can be configured independently)
  • matrix-registration notifications for new and used invite tokens (can be configured independently)

Go check out the source code and say hello in #miounne:etke.cc

Dept of Bots 🤖

Mjölnir

The moderation bot for Matrix

Yoric announces

Mjölnir v1.2.1 released

  • New feature: if a user on your homeserver reports abuse, Mjölnir may now show the abuse report in your moderation room and offer you two-click moderation options. This feature is considered a preview for the time being.
  • Performance improvements for protections that need to lock back in the history of a room, decreasing the number of cases in which we could end up timing out.
  • Many improvements to testing.

Note: Any rumor of a v1.2.0 Docker image borked by yours truly is sadly true. There should be no risk in 1.2.0 but, to be on the safe side, if you have updated to 1.2.0, please update to 1.2.1.

That's one feature I've wanted for a while, and it's going to make moderation a lot easier! Thanks Mjolnir teams for keeping us safe!

Dept of Interesting Projects 🛰️

MinesTRIX

Henri Carnot says

Hi all !!

Today I want to showcase you MinesTRIX. MinesTRIX is a decentralized social media based on matrix. The goal is to create a privacy respectful social media using the power of matrix while trying to be as simple as possible.

Two Objectives

  • Showing that matrix could be used to build such a system.
  • Helping find your friends using matrix

Currently supported

  • Posting
  • Adding and accepting friends
  • Basic post management
  • Creating groups, posting and adding users to it
  • E2EE device verification (thanks FluffyChat !!)
  • Cross platform thanks to Flutter (Android, iOS, Linux, Windows, MacOS, WEB)

Now what ?

  • Stability fixes
  • Finding a logo ;)
  • Bring sharing functionality for public groups.
  • Adding support for the Circle application.
  • Enhance the friends' suggestion algorithm (Currently it's a really naïve one :D)
  • Add reactions for chats and posts

🚀 About Demo 🏗️ Gitlab Chat

That's a fascinating client, it looks absolutely fantastic! It reminds me a little of Cerrulean. Good job Henri!

Matrix Login

Paul says

There was the "Sign in with Matrix" project recently

I tried to do something similar with https://matrix-login.lyc.fi / https://gitlab.com/ptman/matrix-login

An important note on the interesting projects using Matrix for the login: those are community projects, and there are MSCs in the works to "do it right" at the Spec level!

As Matthew Hodgson reported in a comment on Hacker News :

The direction we're headed in the Matrix spec core team is instead towards replacing Matrix's current auth mechanisms with normal Open ID Connect (rather than wrapping our own OIDC-like thing, as we do today) - as per https://github.com/sandhose/matrix-doc/blob/msc/sandhose/oauth2-profile/proposals/2964-oauth2-profile.md The common login flow would then be for users to be authed by their server using a trusted OIDC identity provider, rather than ever trusting arbitrary clients with their credentials.

Dept of Guides 🧭

Austin Huang announces

I have compiled a list of public homeservers available for registration, since previous such efforts to make these homeservers more discoverable fell through. This list serves as a sanitized version of the asra.gr list, with only homeservers intended for public consumption included. It is a static list and does not include pings, but rather than focusing on the technical aspect, my list has an emphasis on the written rules of a homeserver, which I believe to play a larger role in the Matrix experience. Hope this can spark other efforts in maintaining a better list!

That's one very useful list of hand curated servers! The transparency about the inclusion criteria is very much appreciated. Good job!

Room of the Week 📆

Timo ⚡️ announces

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: #travel:hacklab.fi

"Discussion about destinations, culture, hotels, flights etc.. English only, be nice to each other."


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
1matrix.sp-codes.de517.5
2envs.net591
3converser.eu863
4matrix.markshorten.co.uk959
5aria-net.org1120
6matrix.liamgooch.com1219
7dieholzkatze.de1396.5
8somnet.io1791
9matrix.nicfab.it2048
10trygve.me2147

#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.dev485
2sspaeth.de648.5
3devnullsystem.org874.5
4dendrite.neilalexander.dev943
5matrix.awesomesheep48.me1016.5
60x1a8510f2.space5969

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-11-12

2021-11-12 — This Week in Matrix — Thib

Matrix Live 🎙

This week my guest is Greg who's been organising the Ansible Contributor Summit on Matrix, and who is happy about it!

Dept of Spec 📜

anoa announces

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:

Merged MSCs:

  • No MSCs were merged this week.

Spec Updates

Matrix v1.1 was released! Read the blog post here if you missed it; it summarises everything that's new in v1.1, as well as plans for the future. Now that the new spec build pipeline and release infrastructure is in place, we're aiming for roughly quarterly releases going forward. Thank you all for being so patient in the meantime!

Random Spec of the Week

The random spec of the week is... MSC1767: Extensible event types & fallback in Matrix (v2) (yes it really chose that).

Extensible events is something that has been a long time coming in Matrix. It unlocks so much potential, and is even currently being built on (see MSC3381 (polls)). Definitely one of the next big ticket items to tackle in the medium term.

Dept of Servers 🏢

Synapse

Synapse is the reference homeserver for Matrix

dmr says

Dan (aka callahad) is away this week, so let me report on his behalf.

We cut a release candidate for Synapse (1.47.0rc2, but see the changelog for rc1). It exposes new functionality for pluggable modules and new endpoints to the Admin API. We've fixed a bunch of long-standing bugs and continued to drive forward efforts to improve documentation and code quality. Thank you to all of our contributors!

With future releaes in mind, we've been continuing work to support threading and E2EE application services. We've also been prototyping a new Admin API to remove users from all rooms belonging to a certain space.

Elsewhere, we've been doubling down on our effort to improve reliability and maintainability of our services as a whole. Sydent and Sygnal have a number of PRs in flight for both, aimed at improving type coverage and driving down error noise in the logs. We've drafted a blog post to summarise the process of type annotating mypy (keep your eyes out for that one). We also worked to make the matrix.org database more resilient, and made changes to improve the experience of rolling out upgrades to Synapse en masse.

Homeserver Deployment 📥️

Helm Chart

Matrix Kubernetes applications packaged into helm charts

Ananace says

Another week, another update on my Helm Charts - seeing element-web bumped to 1.9.4

Dept of Bridges 🌉

Vermicularis

mijutu announces

Vermicularis is a script for forwarding messages from Päikky to Matrix. Päikky is a parent-teacher communication website and mobile app for daycare and pre-school. git clone https://k2c42.dy.fi/git/vermicularis.git and join #paikky:ellipsis.fi to give feedback

mijutu also tells us

Päikky was created by a group of parents who wanted to make communication with daycare staff easier. They started a company and later sold it to Abilita. Päikky is currently used in 40+ municipalities in Finland and also in some private daycare companies too.

Päikky is also used for reserving daycare times for kids.

Heisenbridge

Heisenbridge is a bouncer-style Matrix IRC bridge.

hifi says

Release v1.6.0 🥳

  • Make reconnect loop more robust
  • Sensitive flag for MSG and NICKSERV to hide it from network room (for AUTOCMD)
  • Improved STATUS for admin room and simple STATUS for network rooms
  • Small fixes

Not much going on this week. Hopefully the reconnect refactor doesn't cause any breakage as it fixed multiple issues that have been around since the inception of Heisenbridge.

Vacuum your fix from GitHub, PyPI or matrix-docker-ansible-deploy!

Thanks!

Dept of Clients 📱

Nheko

Desktop client for Matrix using Qt and C++17.

Nico says

Do you love bugs as much as I do? ♥🐛♥

I guess not. For that reason bug fixing in Nheko for the next release continues. We fixed a super annoying issue, where loading keys from the online backup could make Nheko stuck in a flickering mode with no way to interact with it anymore. You can now also click anywhere on a read receipt to open someones profile instead of just their avaitar, edited messages now also show as redacted, if only the original message got redacted and don't lose the reply in encrypted rooms, if the edit was sent by a client, that is not Nheko. You also used to get logged out after registration, which should finally be resolved. There were also a bazillion translation updates! Thank you, everyone who contributed to those.

We also finally merged the prettier video player, which also fixes a video playback issue on macOS. Try it out and give us feedback on it!

We are still hunting down some last bugs, but expect the release soon now. In the meantime, I did start summarizing the changes, if you want to see what will be in the next release: https://github.com/Nheko-Reborn/nheko/blob/master/CHANGELOG.md#090----unreleased

That's all and have a great weekend!

Element

Everything related to Element but not strictly bound to a client

Nad announces

Threads

  • Message threading is coming to Element! If you haven’t yet, head to develop.element.io and ensure ‘Enable threading’ is turned on in Labs to test on the web.
  • We’re spinning up development on iOS & Android as we speak.
  • We’ll also be running the first Threads community testing session next Thursday (18th Nov) at 17:00 GMT. Come join us in #element-community-testing:matrix.org!
  • Threads are backed by MSC3440.

Polls

  • We also recently started implementing Polls.
  • On the web/desktop, we’ve implemented poll creation and displaying them in the timeline. Next up is implementing voting.
  • Mobile development started recently too, with Android slightly ahead of iOS.
  • Polls are backed by MSC3381.

Community Testing

  • As well as the community testing on Threads, we’ll also be hosting our next testing session for Android on Wednesday (17th), with the time to be confirmed. If you’d like to be involved, join us in #element-community-testing:matrix.org.

Element Web

  • In the background, if you’ve been paying close attention to our issue tracker, you might have noticed lots of changes to our triage & issue workflows over the past couple of months. We’re continuing to iterate on these, extending the best learnings to iOS & Android too.
  • We recently started a project to improve the info architecture/layout of our apps, starting on the web first. We’re merging our first tweaks and experiments soon, so expect exciting things to be landing on develop!
  • We’re continuing to implement more Space creation & management support on iOS. We’ve added in Space creation screens (implemented in SwiftUI!) and we’re polishing inviting people to Spaces.
  • We’ve also been conducting user research to see what parts of the app are tripping users up, and working on fixes to various issues. Expect tweaks to land soon!
  • Otherwise, we’re also merging & testing release candidates for upcoming releases, merging several branches.

Element Android

  • We’ve been conducting the same user research on Android, watch this space for more tweaks & improvements coming soon!
  • Otherwise, we’re also fixing up some smaller issues specific to Android 12.

Cinny

Cinny is a Matrix client focused on simplicity, elegance and security

ajbura reports

Features

  • Landing page redesign
    • Full UIAA implementation means now you can register an account on any hs that allow
    • Configure default homeserver with options to add more than one.
    • Can use http when looking for homeserver
  • Enhanced invite list UX
  • Added logout in loading screen
  • Hide pinned space notification from home icon
  • Add option to select role on roomCreation
  • Added Invite/disinvite option in profile viewer

Bugs

  • Fix commands activating anywhere in the input
  • Fix duplicate and minus notification count
  • Fix links splitting across line mid-word

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

Dept of Non Clients 🎛️

time-to-matrix

The time command, but it sends the output to a Matrix room

Aine announces

It's time! time-to-matrix (ttm) v1.2.0.

A time-like command that will send end of an arbitrary command output and some other info (like exit status) to matrix room. Useful when you need to run something in terminal and get a ping when it's done.

Since the last ttm news in TWIM new options were added:

  • matrix auth with access token - useful for SSO when you don't have actual login/password pair
  • skip time info
  • skip html formatting (doubles allowed log size in message)
  • post full log output to matrix (with auto-shrinker to avoid "message is too big" error)

Source code, releases for all major platform and architectures, and #ttm:etke.cc room

Dept of SDKs and Frameworks 🧰

simplematrixbotlib

simplematrixbotlib is an easy to use bot library for the Matrix ecosystem written in Python and based on matrix-nio.

krazykirby99999 reports

Version 2.2.0 Released!

Version 2.2.0 adds support for authentication via access_tokens. In addition to username/access_token, it is possible to authenticate using username/password and login(SSO) token.

Example usage is shown below:

"""
Example Usage:

random_user
      !echo something

echo_bot
      something
"""

import simplematrixbotlib as botlib

creds = botlib.Creds(
    homeserver="https://example.org",
    username="echo_bot",
    access_token="syt_c2...DTJ",
    )
bot = botlib.Bot(creds)
PREFIX = '!'


@bot.listener.on_message_event
async def echo(room, message):
    match = botlib.MessageMatch(room, message, bot, PREFIX)

    if match.is_not_from_this_bot() and match.prefix() and match.command(
            "echo"):

        await bot.api.send_text_message(room.room_id,
                                        " ".join(arg for arg in match.args()))


bot.run()

Request additional features here.

View source on Github View package on PyPi View docs on readthedocs.io Join Matrix Room

Halcyon

Halcyon is an easy to use matrix library inspired by discord.py

gen3 announces

Hello again! Halcyon is a Matrix bot library created with the intention of being easy to install and use. This release brings minor non-breaking features and some bug fixes:

  • Added
    • change_presence() now allows you to set if you are online, idle, or away. Status message support
    • Roadmap and documentation updates
  • Fixed
    • A fix for retrying on 5xx errors
    • A better catch for bad server syncs
    • Windows support, fixing the NotImplementedError reported by @bhuitt (Thanks!)

More info at on the project at https://github.com/WesR/Halcyon . Come by and chat with us over in https://matrix.to/#/#halcyon:blackline.xyz

Dept of Events and Talks 🗣️

Berlin Meetup

ChristianP announces

Heads up for those in Berlin. You're welcome to join us Tuesday, 16th Nov at 7:00 PM chatting about Matrix development and hosting. We're going to meet in person at c-base. In compliance with the hackerspace's house rules this is a strict 2G event.

We'll talk about everyone's Matrix projects, test the P2P demo via Bluetooth in person and plan the presence of Matrix at the rC3 event happening in the c-base shortly before New Years.

If possible, join our #matrix-berlin:matrix.org room.

Dept of Interesting Projects 🛰️

Mish reports

"Sign in with Matrix" is a web component, which developers can use to build a web login using Matrix account

it is similar to those "Sign in with Google" and "Sign in with Facebook" buttons you see on the internet but now it's Matrix!

i invite you to take a look at the repository: https://github.com/mishushakov/signin-with-matrix and experience a demo: https://mishushakov.github.io/signin-with-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.net612
2matrix.org750.5
3sumnerevans.com774
4maunium.net775
5matrix.markshorten.co.uk792
6aria-net.org1002
7nevarro.space1097
8schoepski.de1226.5
9trygve.me1286
10kif.rocks1748.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
1jae.su284
2sspaeth.de296
3devnullsystem.org370.5
4grin.hu482
5dendrite.neilalexander.dev974.5
6matrix.awesomesheep48.me1255.5
7dendrite.s3cr3t.me1500
8dendrite.matrix.org8288

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-11-05

2021-11-05 — This Week in Matrix — Thib

Matrix Live 🎙

This week we have demos from andybalaam, showcasing high contrast in Element Web/Desktop, Bruno walking us through device dehydration in Hydrogen and Kegan giving us a glimpse of Sync v3! A lot of exciting work going on here!

Dept of Spec 📜

anoa reports

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:

Spec Updates

The spec release mentioned last week is happening on Tuesday - look out for a long blog post explaining all the changes, and check out the new platform (as it stands in its current, unstable state) before it goes live. Exciting stuff!

Random Spec of the Week

The random spec of the week is... MSC3217: Soft kicks!

Other than this sounding like something out of a workout routine, soft kicks are proposed as a hint to clients that the user has been kicked from the room, but that it was not out of moderation, but for a technical reason (the example given disconnection from an IRC network). The client can then present a different UX as opposed to a normal, "hard" kick.

Give it a read and provide feedback if the topic interests you!

Dept of Servers 🏢

Synapse

Synapse is the reference homeserver for Matrix

callahad announces

This week we released Synapse 1.46! This release includes a fix for the performance regression from 1.44 which could cause smaller hosts to lock up when clients reconnected after some time offline.

Synapse 1.46 also includes experimental support for MSC3440: Threading via m.thread relation, a big step toward threaded messaging in Matrix. It's otherwise mainly a bugfix release, as we've spent much of our time reviewing infrastructure and making plans to improve our resilience should we experience hardware failures similar to what took out matrix.org two weeks ago.

We continue working toward a prototype implementation of MSC2775: Lazy loading over federation, starting with setting up automated infrastructure to repeatedly measure the join speeds of assorted large, public rooms. Our goal is to have a rough proof of concept for lazy room joins by the end of the year.

We also released Sydent 2.5.0! In addition to fixing bugs, this release passes mypy --strict, uses Jinja2 for templates, and supports the room_type field from MSC3288 to better differentiate between invitations to rooms and invitations to Spaces.

Threads! Awesome! And lazy loading over the federation looks really promising, I can't wait for it.

Homeserver Deployment 📥️

Helm Chart

Matrix Kubernetes applications packaged into helm charts

Ananace announces

As is routine at this point; My Helm Charts have seen updates, with matrix-synapse bumping to 1.46.0

Keep your infra up to date, folks!

Dept of Bridges 🌉

mx-puppet-*

Sorunome [m] announces

Soru has not found any time to work on the mx-puppet-* project in very long. At this point, it makes sense to look for someone / multiple people to inherit the project to. So, if you are willing to pick it up, or part of it (like a single bridge, only the library, etc.), then please look by #mx-puppet-bridge:sorunome.de. Thanks!

It's always sad when maintainers don't have time for former projects, but you can take over!

mautrix-whatsapp

A Matrix-WhatsApp puppeting bridge

tulir says

mautrix-whatsapp v0.2.0 was released. The main change is switching to the new WhatsApp multidevice API, which means the phone doesn't need to be connected 24/7 anymore. The release also includes a new backfilling system using MSC2716, and making the relaybot mode less special-cased and more like what mautrix-signal does.

Heisenbridge

Heisenbridge is a bouncer-style Matrix IRC bridge.

hifi reports

Release v1.5.0 🥳

  • Allow opening multiple simultaneous connections to the same network
  • New STOP/STAHP ROOM command to end a long paste flood
  • Clear channel send queue if the user gets kicked to prevent continuing flood on rejoin
  • New KB ROOM command to do a proper kick & ban (contributed by GitHub user @blastrock, thanks!)

The most useful feature this week is having the ability to open multiple connections to the same network. This can be used to plumb channels with a secondary connection while using the bridge as yourself with the main one. You can also STAHP long pastes from being actually sent out completely to a channel if you weren't careful enough on Matrix side.

Upgrading from previous version to v1.5.0 will cause a small migration for every channel/pm that is open so it might take a little longer for the first startup to complete. If no multiple network connections are opened it is safe to downgrade but if someone uses the feature it will cause shenanigans for the duplicate networks in the older version.

Inject your fix from GitHub, PyPI or matrix-docker-ansible-deploy!

Thanks!

As always, Heisenbridge being thoughtful towards our IRC peers.

Dept of Clients 📱

Nheko

Desktop client for Matrix using Qt and C++17.

Nico reports

We are preparing for a release! That means, if you are translator, we could use your help to get our translations updated and if you want to have a bug fixed before release, now is the time to report it or complain about it! Please come and see us in #nheko:nheko.im for complaints and questions!

We saw a lot of translation updates by Linerly, Priit and Thulinma already. The click ghosting issue in the room list should be fixed as well as the crash when accepting an invite from your browser. You can now register on matrix.org again, after fighting with some... reality deforming wording in the spec. Notifications on macOS now use the "modern" API for notifications, including grouping notifications by room. (Expect more fancy improvements there in the future!) The warning about mentioning the whole room now vanishes properly, hiding space children from the roomlist now doesn't hide them from the space itself anymore, the loading spinner shouldn't show in a fully loaded room again, the room directory search bar is now focused by default and a few smaller fixes.

We also completed the bootstrapping UI now. This means you get prompted for unverified devices, when your device isn't verified or when cross-signing isn't configured for your account yet and you are given ways to remedy that.

We have a few more bug fixes we want to land before the release, so don't expect it tomorrow, but we have the featureset down now. And if you thought the changes listed in this snippet are long, wait for the full release changelog. It will probably take a few days for me to tidy that up and I think this will be our biggest release yet! Happy testing, everyone!

Hydrogen

Hydrogen is a lightweight matrix client with legacy and mobile browser support

Bruno reports

Device dehydration support got released this week in 0.2.20 (see matrix live demo!), allowing you to decrypt messages sent to you while not logged in on any device. Expect another release this evening (0.2.21) with support for multiple lines in the composer and some other bug fixes.

Fractal

Matrix messaging app for GNOME written in Rust.

Alexandre Franke says

To adapt to changes in libadwaita, Marco Melorio removed a deprecated class. In the meantime, enterprisey fixed the build by updating the Matrix Rust SDK dependency and improved Secret Service error handling.

After being away for a few month, Kévin Commaille came back with a blast. No less than three MR already, and I have a feeling he’s only getting started:

As usual, Julian reviewed and merged all the above work, and did some of his own:

We'll refrain from asking when Fractal-Next is due! It's starting to take shape!

Element

Everything related to Element but not strictly bound to a client

Thib reports

  • We’re continuing to flesh out space creation screens on iOS, improving the invite flows post creation for private and public spaces.
  • We’re continuing to iterate on the overall app layout on Web, to fix fundamental usability issues.
    • Expect to see some changes on develop soon, rearranging the top left corner of the app (user avatar, space names, context menu).
    • Expect to see larger experiments landing on develop soon too. We’ll share more info on these when they’re live, and everything will be opt out to not break existing workflows while we’re testing and experimenting.

Element Web/Desktop

Secure and independent communication, connected via Matrix. Come talk with us in #element-web:matrix.org!

kittykat says

  • Released Element Web 1.9.4RC
  • Community testing session ran successfully on RC with a focus on voice messages and VoIP calls. We found significantly fewer issues and regressions than in the previous sessions. It was great to see 9 newcomers - thank you to all of our testers who helped out!
  • Improved our sentry analytics data to provide more useful detail.
  • Redesigned the device management section in the user settings. The new view makes it clearer how to rename devices and lets you verify them.
  • This week in labs (features in labs can be accessed at develop.element.io and nightly desktop builds):
    • Threads now has a more polished UI and users can now link to events in a thread. Notifications for threads messages are being worked on and should land very soon.

Element iOS

Secure and independent communication for iOS, connected via Matrix. Come talk with us in #element-ios:matrix.org!

Thib reports

  • We worked on stabilization in order to fix a couple of bugs and crashes found in last releases.
  • We started to work on poll feature.
  • We started to work on threading feature.

Element Android

Secure and independent communication for Android, connected via Matrix. Come talk with us in #element-android:matrix.org!

Thib says

  • Release 1.3.6 is finally live on the PlayStore! Release 1.3.7 is expected for the beginning of next week.
  • We have started to implement threading of messages.
  • Draft for voice message has been delayed, we want to ensure that it’s working well before releasing it.
  • We are doing lots of internal migrations: Dagger to Hild, MvRx to Mavericks2, Rx to coroutines Flow.
  • And as always, we are trying to keep the app as stable as possible, and as reliable as possible
  • It’s also worth noting that the SDK 1.3.6 has some improvements in the login API, not needed for Element Android, but requested by other users of the SDK.

Dept of SDKs and Frameworks 🧰

Godot-Matrix

houkime reports

Godot-Matrix is a C++ module for connecting to Matrix from the Godot Game Engine. I refurbished it and the changes made it upstream now ^_^, thx vurpo! :
https://www.matrix.org/docs/projects/sdk/godot-matrix/

Changes:

  • Fixed compilation for 3.x Godot branch
  • Support plain http too for local tests with Conduit
  • Respect port numbers (as per Matrix spec)
  • Substantial rewrite of the example so it works

Refurbishment made with love for the participants of FediJam 4, a weeklong gamedev competition with the focus on fediverse and federated multiplayer (via Matrix or any other means ^_^). It starts this Sunday at 18:00 UTC. Chat

Matrix-Rust-SDK-Bot-Framework-Helper

A toolkit for writing commandbots more efficient in rust for matrix.

MTRNord announces

MRSBFH is now available on crates.io.

Unlike other "overlay" style crates it does not follow the sdk versions using its own version number or using features. So please make sure you use the right version of the SDK with it.

Also it now has support for rusttls, the ! at the start of a command now gets correctly checked and is updated to the latest sdk.

You can check it out at https://crates.io/crates/mrsbfh and https://github.com/MTRNord/mrsbfh

Halcyon

Halcyon is an easy to use matrix library inspired by discord.py

gen3 announces

This release brings some new non-breaking features and a small fix:

  • Added
    • on_ready, called once the bot has logged in and online
    • send_typing, allowing the bot to signal it has received your message with the client typing event
    • improved documentation (including how to set the poll interval)
  • Fixed
    • A sync failure when Homeservers sometimes reject or return a non json response

More info at on the project at https://github.com/WesR/Halcyon . Come by and chat with us over in https://matrix.to/#/#halcyon:blackline.xyz

Dept of Ops 🛠

Mother Miounne

The backoffice of etke.cc service

Aine announces

Mother Miounne v2.1.0

New release of the Commander of etke.cc backoffice is coming here! New version brings new neat features and extends arsenal of the antispam tricks:

  • buymeacoffee listings integration - pretty basic, but that's just a first step! So now you can list subscribers, supporters and extras purchases directly in matrix room (spolier: next releases will bring notifications about new subscribers, supporters and purchases)
  • rate limiter for http forms - no one can bother you if you don't want that! So now you can configure specific rate limits per form
  • enhanced email validation (mostly used in the forms module) - you had spam hosts and emails list before, but now you have MX records checks, regular expressions check and some other useful tricks to hold the door stop spammers
  • ... and some small changes, like doc updates and auto-shrink of long messages to fit into matrix payload limits

Check out the source code, releases, docker images and say hello in #miounne:etke.cc

Dept of Bots 🤖

matrix-vacation-responder

Sumner Evans says

I created a Vacation Responder for Matrix. While running, it responds to any DMs that come in to your account with a preset message. It can be configured to only respond once in a given period of time (defaults to 24 hours) so that the person contacting you can queue up questions for you when you return. Other ways to use the bot include responding to DMs to previously active accounts (for example if you move homeservers). Join the discussion about this bot at #matrix-vacation-responder:nevarro.space.

Dept of Events and Talks 🗣️

SeaGL (the Seattle GNU/Linux Conference)

Salt announces

SeaGL (the Seattle GNU/Linux Conference) is being held on Matrix Friday and Saturday, November 5th and 6th, from 9am-5pm Pacific Time. The conference is running on a customized version of element-web and a regional Matrix homeserver, found at https://attend.seagl.org

Founded in 2013, this is the conference's ninth year overall and second virtual event. Last year, the all-volunteer team built their portal on-top of KiwiIRC and Jitsi for attendees, and BigBlueButton for speakers. This year they have been relying heavily on Spaces, Subspaces, and the built-in features that have been rapidly developing within the Matrix protocol.

From their website:

SeaGL (the Seattle GNU/Linux Conference) is a free—as in freedom and tea—grassroots technical summit dedicated to spreading awareness and knowledge about free / libre / open source software, hardware, and culture.

SeaGL strives to be welcoming, enjoyable, and informative for professional technologists, newcomers, enthusiasts, and all other users of free software, regardless of their background knowledge; providing a space to bridge these experiences and strengthen the free software movement through mentorship, collaboration, and community.

FrOSCon

Oleg announces

The recording of the talk at the FrOSCon this year (in 🇩🇪) about Opsdroid with AI/ML (Rasa NLU) 😉

Dept of Guides 🧭

Cadair reports

Following a question from someone about getting started with Matrix bots, I wrote a super quick getting started guide to writing a simple bot with opsdroid. I will probably integrate this into the opsdroid docs, or somewhere more accessible in the future, but for now here it is: https://gist.github.com/Cadair/2c64cb46fdce7499ff1c0bbb116ce29e

Being an innocent child, I asked:

are you aware of projects relying on opsdroid to make a Matrix bot? Other than half of the very famous TWIM bot 😇

Cadair answered

I have written a few (https://github.com/Cadair/skill-motw, https://github.com/Cadair/skill-intersphinx, https://github.com/Cadair/skill-jitsi) I know that Oleg has also written a number, including many which interact with homeassistant.

I can also go and ask for examples in #opsdroid-general:matrix.org if you like?

I didn't know what I had started! We almost became This Week in Opsdroid! Fortunately the Matrix community is very active and helped us keeping sovereignty over the blog. Phew!

There are too many to list here, but I strongly encourage you to blend in with the opsdroid community. Not only are these kind people, they are also very active and develop fancy and useful bots!

Matrix in the News 📰

Pascal brought to our attention a nice guide from the Fedora Magazine on how to have multiple matrix sessions with Element on Fedora.

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
1boba.best529
2heitkoetter.net765
3maescool.be873
4envs.net886
5aria-net.org926
6matrix.markshorten.co.uk1201
7mailstation.de3555.5
8trygve.me3853.5
9jauriarts.org4394.5
10matrix.liamgooch.com4445

#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
1ma.0x.no424
2jae.su448
3weasy-is-my.name453
4dendrite.neilalexander.dev1179
5matrix.awesomesheep48.me1318
60x1a8510f2.space1818.5
7dendrite01.fiksel.info2218
8dendrite.matrix.org9999

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-10-29

2021-10-29 — This Week in Matrix — Thib

Matrix Live 🎙

This week my guest is Element's Kat who conducted various Community Testing Sessions. If you want to learn more about it, why Kat is conducting them, and how you can help, have a look at it!

Dept of Social Good 🙆

Denise reports

TL;DR: Europe is close to officially regulating big corporations and forcing them to open their silos via the Digital Markets Act. Element joined forces with other companies to make sure that the members of the European Commission about to vote on the regulation knew how important it is.

Matrix was created to break the silos, as an interoperable layer for all communications. We wanted to ensure people had the ability to choose where their data is stored, and had the choice of interface to access them. This was also a good way to enable better competition and innovation in the communication space, forcing the players to compete on value add. But whilst Matrix is already a 39M users open network in itself, it could be even better if the bigger silos decided to open up and participate into it.

In December last year, as part of the Digital Markets Act (DMA), the European Commission proposed to update the competition law for digital markets with rules mandating ‘gatekeeping’ platforms to open up, in order to enable innovation and data sovereignty.

This move is so aligned with Matrix and Element’s mission, that Element joined over twenty other organisations to launch the Coalition for Competitive Digital Markets on Tuesday the 26th. The coalition supports stronger rules for large online platforms in the DMA, calling for amendments to it to make sure that major services offer a public API to interact with their core services and to ban the pre-installation and default setting of core platform apps.

Matrix is a perfect example of how technology can thrive through openness and collaboration. We will bring our experiences of using federated and decentralised technologies to MEPs and Council members, in the hope for a regulatory framework which supports European innovation, competition and interoperability.

For more information and to sign our open letter, check out our website: competitivedigitalmarkets.eu

Dept of Spec 📜

anoa says

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:

Merged MSCs:

Spec Updates

Matrix 1.1 is just around the corner! The team continues to work hard on getting the infrastructure surrounding the new release process set up, as well as reviewing MSCs, including the ones you can see above!

The current speculative release date is in about a week or two. Keep your eyes peeled!

Random Spec of the Week

The random spec of the week is... MSC3192: Batch state endpoint!

This is one of those MSCs that will likely be sorely needed at some point in time, but currently hasn't gotten a lot of attention. I can think of all sorts of usecases for this (on top of the many that the MSC puts forwards). Go ahead and give it a read!

Dept of Servers 🏢

Synapse

Synapse is the reference homeserver for Matrix

callahad says

Over the weekend, one of the servers backing matrix.org suffered a hardware failure, leading to around half an hour of downtime as we failed over to another system. Remediating and monitoring that has been the focus of much of the Synapse team over the past week.

We also shipped a release candidate for Synapse 1.46, due for formal release next week. Notably, we believe this solves a performance regression which was introduced in Synapse 1.44. If you've been experiencing long hangs or other periods of unresponsiveness, please try upgrading to 1.46.0rc1 and let us know if it resolves your issues.

The Synapse team has also decided to aim for building a rough prototype of MSC2775: Lazy loading over federation by the end of the year, in hopes that this will pave the way to extremely fast joins of large rooms.

We're also continuing to work on static type checking in our projects: As of today, Sydent passes mypy --strict! We hope to write about what we've learned in the near future.

dmr says

Here's an addendum about Sydent. We can see the results of our efforts visually, thanks to mypy's reporting options. Two different metrics show increasing coverage since our typing efforts began in the summer. The grey strip shows the last fortnight's sprint in particular.

Homeserver Deployment 📥️

Helm Chart

Matrix Kubernetes applications packaged into helm charts

Ananace says

And as always, this week brings with it updates to my Helm Charts - with element-web being updated to 1.9.3

Dept of Bridges 🌉

MAM support for Bifröst

uhoreg reports

One of the shortfalls facing XMPP users of the Bifröst Matrix bridge is the lack of support for Message Archive Management (MAM), which allows XMPP users to retrieve messages sent when they are offline, when they come online next time. Sunday Nkwuda and Olatunji Ajayi, with help from Pirate Praveen, are planning on writing support for MAM in XMPP.js (the XMPP library that Bifrost uses), and then adding MAM support to Bifröst. Since this requires some dedicated full-time effort, they are fundraising to support this project at https://opencollective.com/mam-plugin-for-xmppjs. Many thanks to the XMPP Standards Foundation for serving as fiscal host for the fundraising.

Heisenbridge

Heisenbridge is a bouncer-style Matrix IRC bridge.

hifi reports

Release v1.4.0 🥳

  • Free form AUTOCMD after joining a channel, per channel
  • Automatic rejoin on invite or kick (invite enabled by default)
  • AVATAR network room command to set avatars for IRC users (admin only)
  • WHOIS room command for PMs, PART for channels
  • Add ROOM command in network room to run channel room commands safely
  • Move PLUMBCFG stuff under ROOM command

A smaller release this time around which consists mostly of QoL stuff to make things a little easier. IdleRPG users can now rejoice and login to your character automatically with channel AUTOCMD when joining on reconnect as what's more important: running a bridge to engage in deep conversations or sit in a channel doing nothing?

Plumb users need to use the new generic ROOM command in network rooms to configure plumbs now that PLUMBCFG has been removed.

Go grab your fix from GitHub, PyPI or matrix-docker-ansible-deploy!

Thanks!

Dept of Clients 📱

Hydrogen

Hydrogen is a lightweight matrix client with legacy and mobile browser support

Bruno reports

Several bug fix releases this week, and hope to get out another release tonight with support for dehydrated devices, which should prevent you from missing any messages while you are logged out of all your devices.

Element Web/Desktop

Secure and independent communication, connected via Matrix. Come talk with us in #element-web:matrix.org!

kittykat announces

Our next community testing session on Web will be at 16:30 - 18:00 BST on Wednesday, 3rd November. We will be focusing on voice messages and calls. Join us in #element-community-testing:matrix.org to find out more and help out.

Thib says

  • Released element Web 1.9.3
  • Added sourcemap support to the sentry telemetry sent with rageshakes, and added support for opt-in automatic sentry reporting when errors occur as a labs flag
  • We’ve been working on making notifications and matrix.to work correctly with threads in Element Web. Our MSC continues to progress, receiving feedback from the Spec Core Team this week, and we’ve started to plan how to test the feature.
  • We’re also exploring more intuitive ways to lay out and customise Spaces on the web.

Element iOS

Secure and independent communication for iOS, connected via Matrix. Come talk with us in #element-ios:matrix.org!

Thib says

  • Fix memory management issues
  • Rewrite text composer
  • Depreciate MatrixKit
  • Implement PostHog analytics
  • Improve media sizing in the share extension
  • Improve the crypto store
  • We’re continuing to flesh out creating & managing Spaces on iOS.

Element Android

Secure and independent communication for Android, connected via Matrix. Come talk with us in #element-android:matrix.org!

Thib reports

  • Element Android 1.3.6 is on its way to the PlayStore but Google is taking looooong time to review. Release candidate 1.3.7 is scheduled to next Wednesday
  • Replacing Rx by coroutines Flow is nearly there, and will be merged on develop after the release 1.3.7.
  • Besides that we have started to work on Threads and on Polls.
  • Some changes have been made on the SDK API to suit SDK users regarding the AuthenticationService. They will be available in SDK 1.3.7 (next Wednesday).
  • And as always, we work to improve the performance of the application and of the SDK, as well as fixing bugs here and there.
  • We added two (opt-in) lab options:
    • Automatic bug report
    • Structured login / open telemetry (offline)
  • On the crypto side, we're making progress on Android Rust SDK, room shields and key backups

kittykat announces

Last week we had a successful and productive community testing session on Android where we found many issues, including 21 defects, which are already being addressed by product, designers and developers.

Cinny

Cinny is a Matrix client focused on simplicity, elegance and security

Lozenge says

Features

  • Add support for SSO login
  • Implement Profile Viewer
  • Add search in People drawer
  • Add option to filter People in People Drawer

Bugs

  • Fix make both user admin on DM create
  • Fix unable to send msg in DM from IRC users
  • Fixed inconsistent search in emojiboard
  • Fix profile picture inconsistency
  • Fix wildcard matching in emoji search
  • Fix message menu placement on large screen
  • Fix autofocus in msg input upon clicking emojis in emojiboard.

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

Dept of SDKs and Frameworks 🧰

AIOMatrix

AIOMatrix is a simple Matrix bot library for creating bots.

forden says

Today has been released aiomatrix 0.2.0

Supported features:

  • almost full support of client-server API r0.6.1
  • handlers for any event
  • sending messages
  • editing messages
  • support for multiple accounts
  • extendable filters system

Check out examples in Github repo and join us in #aiomatrix:matrix.org (or in #aiomatrix-ru:matrix.org for russian-speaking folks)

Halcyon

Halcyon is an easy to use matrix library inspired by discord.py

gen3 says

Hello again! Halcyon is a Matrix bot library created with the intention of being easy to install and use. This release brought some new non-breaking features:

  • Added markdown package as a dependency, used in formatted messages
  • Added support for the following message types: TEXT, EMOTE, NOTICE, IMAGE, FILE, AUDIO, VIDEO
  • Added support for downloading and uploading MXCs (matrix media)
  • Fixed a reported import issue when trying to use the CLI (Thanks @Josh)
  • Added more documentation and a new example in usage.md

More info at on the project at https://github.com/WesR/Halcyon Chat with us over in #halcyon:blackline.xyz

Dept of Events and Talks 🗣️

Qt World Summit '21

kitsune says

Tobias Fella and I are going to give an introductory-level talk at Qt World Summit '21 next Wednesday (3-Nov) about data encryption in Qt applications, with me giving my usual general bla-bla high-level overview and then Tobias talking about really specific stuff like Base64 using std::variant and a bunch of Qt classes to make your encryption-using code less of spaghetti and more of good-looking modern C++. The talk will be at 15:30 CET/CDT (once for EMEA/APAC and once for Americas), Platform track. Advance registration is necessary. In fact, the talks are pre-recorded but both of us will be online during the session and shortly after so please come around to make sure The Qt Company gets the message and considers adding Quotient as another module to Qt (ok, that's just a dream for now but who knows...)

Berlin Meetup

jaller94 reports

Heads up for those in Berlin. You're welcome to join us Tuesday, 2nd Nov at 7:00 PM chatting about Matrix development and hosting. We're going to meet in person at c-base. In compliance with the hackerspace's house rules this is a strict 2G event.

If possible, join our #matrix-berlin:matrix.org room.

Dept of Interesting Projects 🛰️

Collabs

mweidner says

I work on Collabs, a library for making decentralized collaborative apps, and we have some demos that run on Matrix! E.g., in a widget-capable client like Element, send the message:

/addwidget https://compoventuals-tests.herokuapp.com/host.html?network=matrix&container=demos/rich-text/dist/rich_text.html

to add a collaborative text editor widget. (Fair warning: loading and saving is flaky, so don't type anything you can't afford to lose.)

All collaboration happens using messages sent to the Matrix room. So, you're not dependent on any external service provider, and the document is end-to-end encrypted if your room is.

We have more demos here, with instructions on how to use them in a widget. You can follow those same instructions to run your own Collabs apps (Getting Started Guide), without needing to host any servers yourself!

If you want to learn more about Collabs and see an app running on Matrix, check out my Strange Loop talk: https://www.youtube.com/watch?v=Exr0iY_D-vw&t=3s. The library is in an alpha state and not yet ready for production use, but we'll be improving it steadily over the next year.

Dept of Built on Matrix 🏗️

houkime says

In FediJam feedback we were asked to explore federated gaming. So, for my third FediJam I made a dead-simple prototype of a game using Matrix not for chat, but for multiplayer.

Behold, the Federated Triangle of Doom. Game creates a chat. Any message with 'boom' posted into there spawns the Red Triangle of malice. Yes, literally just it.

Behind the scenes, it uses Godot Engine, with godot-python to make it python-capable. To connect via Matrix, it leverages matrix-nio python module.
As a server, any Matrix server without captcha/email for registration will do!
For simple local tests, I included conduit with the Linux release.

Source Code (/blog/img/MIT)

Dept of Jobs 💰️

Matthew reports

Element is on the hunt for more VoIP and VR developers to help us build next-gen native Matrix video conferencing and VR/metaverse experiences on top of Matrix! If you believe the future of the metaverse should be free/libre, standards-based, open and equitable, come join the resistance! https://apply.workable.com/elementio/j/25BB112FBD/

Dept of Ping 🏓

RankHostnameMedian MS
1envs.net569
2boba.best610
3neko.dev652.5
4ma.0x.no781.5
5matrix.markshorten.co.uk971
6aria-net.org999.5
7trygve.me1085
8fluse.duckdns.org1235
9one.ems.host1265
10matrix.farted.net1363

#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
1sspaeth.de387
2jae.su606
3matrix.awesomesheep48.me1717

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-10-22

2021-10-22 — This Week in Matrix — Alexandre Franke

Matrix Live 🎙

Julian Sparber from the Fractal team was here with us this week, to tell us about the Fractal Next initiative: a rewrite of the app that leverages new technology. You can talk to the Fractal community by joining their room at #fractal:gnome.org.

Dept of Status of Matrix 🌡️

Sync v3

kegan shared very exciting news:

I've been working on a brand new /sync mechanism, dubbed sync v3, for the past few months. This is a complete overhaul of how clients live-stream sync data from homeservers, and fixes numerous pain points with /sync including:

  • Syncs taking minutes to complete.
  • Syncs sending back vast quantities of data (e.g read receipts for every room you're in).

Currently, this new API is designed around the idea of having dynamic sliding windows around a sorted room list for a user's account. The room list can be sorted in different ways and only rooms in the window are returned to the client. The room list can also be filtered down based on various criteria (e.g only rooms in these spaces, with events newer than this timestamp, etc) and a subset of current room state can be requested with each returned room.


         All joined rooms on user's account
Q W E R T Y U I O P L K J H G F D S A Z X C V B N M

\                                                 /
 \                                               /

  \      Subset of rooms matched by filters     /
   Q W E R T Y U I O P L K J H G F D S A Z X C V

                       |
   A C D E F G H I J K L O P Q R S T U V W X Y Z     Rooms sorted by_name (or by_recency, etc)

   |_______|
       |

   A C D E F                                         first 5 rooms requested

This list is kept sorted on the server and deltas are communicated to the client as a series of delta operations (e.g INSERT,DELETE,UPDATE). Multiple non-overlapping windows can be requested and the windows can also change their size dynamically.

This work is still currently in the pre-MSC stage as it's a huge undertaking, but an early, runnable, implementation lives at the sync-v3 repo. This works by setting up a proxy sync server which will make /sync requests to a target homeserver, and storing the data in a useful form for sync v3 queries. It then exposes the sync v3 API which can then actually show you real data from your account.

 +---------+                     +--------------+                                 +----------------+

 | sync v3 | <-- sync v3 API --> |   sync v3    | <--- normal /sync requests ---> | Any Homeserver |
 | client  |                     | proxy server |                                 |      Impl      |

 +---------+                     +--------------+                                 +----------------+

The proxy server also hosts a barebones web client which talks sync v3 at http://localhost:8008/client/ - to get started just point the proxy server to any HS and then paste in your access token to the web client. The web client is just a test jig so only has a read-only view of your account and lacks any scrollback, only showing live data. IMPORTANT: generate a new access token before using this client. Do NOT use the token from an existing client (e.g Element web) or else you risk being unable to decrypt E2EE messages.

Intrepid people are encouraged to run a server and see how fast sync on their own account could possibly be in the future. Note that the first sync will be slow as it has to fetch all the user's data via v2 /sync.

I know it’s going to be a while before this finally gets into our hands as users, but I’m looking forward to it!

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:

FCP is currently paused while everything that isn't currently implemented in the wild is removed for a future MSC.

New MSCs:

  • There were no new MSCs this week.

Spec Updates

This week the Spec Core Team has been marching ahead with getting the matrix-doc repository ready to start building new spec releases. Big props to Rich, Travis, Alexandre and others for charging ahead with it!

Otherwise, the Spec Core Team has been busy reviewing MSCs as can be seen from the above list of MSCs that have entered FCP this week. Particularly exciting is to see MSC2674 (event relationships, aka the stuff that powers message edits and reactions) coming close to merging! It's been a long time coming. Thanks to Bruno and everyone else who's reviewed it so far.

Random Spec of the Week

The random spec of the week is... MSC3214: Allow overriding m.room.power_levels using initial_state.

MSC3214 looks like an MSC that's been somewhat abandoned by everyone involved... But since there are already implementations out in the wild, it may be a simple one to get through!

2021-10-22-y3wpB-stacked_area_chart.png

Dept of P2P 👥

P2P Matrix

Neil Alexander told us:

This week we have spent some time optimising the Pinecone overlay routing protocol. We have added cryptographic signatures to the bootstrap and path setup process for stronger verification and have also reduced the amount of protocol maintenance traffic.

We are also finally starting to document how Pinecone works — you can find these living documents on the Pinecone repository wiki and many new comments have been added throughout the source code too.

We have also released build 88 of the P2P demo today for iOS and Android. These demos are forks of the Element app with an embedded Dendrite homeserver and Pinecone-based federation. Users can communicate with each other locally on the same Wi-Fi network, direct between devices in close proximity using Bluetooth Low Energy and globally by using internet peers!

Dept of Servers 🏢

Synapse

Synapse is a popular homeserver written in Python.

callahad announced:

We released Synapse 1.45 this week!

This is the first release to support oEmbed autodiscovery, leading to richer link previews for many sites. See the release announcement for an example.

We also believe that we've finally fixed stuck messages! A race condition would occasionally prevent your sent events from syncing back down to all of your clients. This caused messages to look like they were stuck at the bottom of the room, waiting to finish sending, even though other users would receive and see them normally.

Please shout loudly in this GitHub issue if you see a stuck message on a server running 1.45 or later. 😉

We've merged a further 9 pull requests to Sydent, making even more modules pass mypy --strict. We're not quite all the way there, but we're close! Most of the "leaf" modules are done, with the bulk of the remaining work to be done is on sydent.http. This is trickier because it's more exposed to the machinery of Twisted, but we'll get there.

We're already much more confident working in Sydent, and hope to apply these lessons to Synapse soon.

(Well, one lesson that won't apply is that type hints are especially valuable in codebases you don't touch as often... but we have no intention of slowing down on Synapse any time soon!)

Yes please, don’t slow down!

Homeserver Deployment 📥️

Kubernetes

Ananace offered:

This week too sees some Helm Chart updates, taking matrix-synapse first to 1.45.0 and then to .1 - as well as improving support for using existing secrets in a new deploy.

Dept of Bridges 🌉

Heisenbridge

hifi announced:

Heisenbridge roundup!

Heisenbridge is a bouncer-style Matrix IRC bridge.

Release v1.3.0 🥳

  • SOCKS proxy support

  • CertFP authentication support

  • WHOIS command and reply formatting

  • Basic CTCP support (optional, default off)

  • Compatibility/workaround for Dendrite and Conduit registration configuration

  • README has been improved

Big ticket items this time around for privacy concerned users are connectivity improvements when using Tor/VPN with built-in SOCKS proxy support and CertFP authentication. Some WHOIS and CTCP has also been thrown in the mix for good measure!

Lately there has been quite a lot of people who are testing Dendrite or Conduit which has led to recurring support issues around some limitations they currently have with appservices. Heisenbridge now supports using and generating a "compatible" registration file (--generate-compat) for them that shouldn't be needed in the long run. I hope to drop this feature as soon as possible! 🍻

While Heisenbridge somewhat intentionally has very little documentation due to not having a refined UX yet the README has been updated with some frequently asked questions about installing and configuring it to the point you can talk with the appservice bot. A self-contained docker-compose setup has also been added to the repository to help testing it without installing anything on your system.

Go grab your fix from GitHub, PyPI or matrix-docker-ansible-deploy!

Thanks!

Dept of Clients 📱

NeoChat

Carl Schwan offered:

Last Saturday we had an improvised NeoChat mini development sprint in a small hotel room in Berlin in the occasion of the 25th anniversary of KDE. In a good KDE tradition, Carl spent this time on improving NeoChat settings. He ported both the NeoChat general settings and the specific room settings to the new Kirigami.CategorizedSetting component. Tobias fixed a lot of papercuts and now the power level should be fetched correctly, we show the number of joined users instead of joined+invited users in the room information pane, the user search is now case insensitive. Nicolas focused on fixing our Android build by making the spellchecking feature compile on Android.

Aside from the mini-sprint, we also made a few more improvements during the week. Tobias fixed the flicking of the timeline on mobile and Carl made it possible for the user to resize the room information drawer.

2021-10-22-Jmghv-image.png

2021-10-22-NnIDk-image.png

2021-10-22-DQ-Cx-IMG_20211016_231939.jpg

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) said:

Thulinma added device management to Nheko. You can now also view your devices, that don't support encryption, delete devices, rename them and see their ip address. Additionally there were a few refactorings and code improvements. Most notably blurhashes should now decode twice as fast. Additionally there were a few small fixes to displaying hidden space rooms (we were checking the wrong power level, so in some cases fewer rooms got shown in a space, if they only had a parent set). That's all, was a busy week with lots of lasers!

Element

Updates from the teams:

Web

  • Finalised our team goals of reducing prioritised defects, shipping threads MVP, better release automation and getting posthog analytics live!
  • Working on clarifying the threads MSC in response to feedback
  • Working on user prompts for analytics
  • Fixed bugs in RTL text and code block rendering
  • Released Element Web 1.9.3RC

Spaces

  • On iOS, we’ve been implementing support for creating Spaces, implementing the screens using SwiftUI.
  • We’re also making good progress on iterating on the info architecture of the app, to make Spaces more intuitive. Expect more things soon!

iOS

  • Publish release 1.6.6 containing matrix.to display behavior improvements on timeline and other improvements made this week.
  • Improve matrix.to redirection in timeline, pushing views instead of replacing current ones
  • Improve settings UI
  • Allow images to be pasted from Safari rather than their URL
  • Implement message forwarding
  • Improve wellKnown parsing
  • Fix bugs and crashes

Android

  • Release candidate 1.3.4 has been prepared Wednesday and tested by the community during a testing session in the afternoon. It adds presence support for DM, and Android Auto support has been restored. You can find out more about the next testing session at #element-community-testing:matrix.org
  • We are preparing a version 1.3.5 which fixes small regressions and a bug in the Room settings.
  • Migration to Hilt (Dependency Injection library) is nearly there, PR is in review.
  • Notifications management has been rework, a bunch of issues has been fixed, this will be for release 1.3.6
  • We have started to work on Threads

Crypto Team:

  • UISI Hunting: Investigations and Auto UISIs reports lab option, UI improvement work started
  • Web: Device Trust view improvement
  • Next gen
    • Corroded-Android: Backup support
    • Messaging Layer Security

Fractal

Not only is Fractal’s Julian featured in this week’s Matrix Live, he also has been very active in the month since our previous report. I won’t list here the very long list of merged merge requests, but the most noteworthy changes he brought are:

Contributions from others include enterprisey fixing the backtrace setup and simplyfying some error management code, Marco Melorio adding a separator in the UI to adapt to a change in libadwaita, Rachit Keerti Das fixing an incorrect link to install from Flathub, and Maximiliano cleaning up our dependencies and application name in code.

Dept of Ops 🛠

time-to-matrix

Aine announced:

a small, weird tool that just works.

Hey, TWIM. Did you ever face a situation where you need to run any command prefixed with time command-name and get a ping in matrix room when it's done? No? Well, doesn't matter, now you can do that with one small command!

That thing called time-to-matrix (binay name: ttm) it works like time command-name and sends results to matrix room. Yes, pretty simple. Now you can use it 😀

Source code, Releases for all major OSes and architectures

Dept of Services 🚀

Element One

Rick reported:

Element One is here! We’re giving TWIM a sneak preview of the new Matrix hosting service from Element in advance of the official launch next week. Element One* is a consumer-focused hosting option which gives you an individual Matrix account on our shiny new one.ems.host homeserver (with a matching Element Web at one.element.io). However, in addition to being a fast, snappy Matrix account, it also comes with unlimited personal bridging to Whatsapp, Signal and Telegram thanks to mautrix-whatsapp/signal/telegram!

Hopefully this is good news for those of you who have chats with friends and family on these other platforms, as you can now chat with them in one place from Element without having to mess around having to run your own bridge - and accounts cost just $5 per month.

Right now this is a (relatively) private / limited beta intended for the TWIM and EMS inner circle, and we'll be announcing more generally in the next few days / weeks. So, if you are interested, please check it out and sign up at https://ems.element.io/element-one :)

*not to be confused with Hydrogen

Dept of Bots 🤖

matrix-review-bot

valere reported:

Hello! What about having your Android & iOS customer reviews posted in a Matrix room as soon they happen?

I just released matrix-review-bot

Get your latest AppStore & Playstore review directly in your fav matrix room.

Mother Miounne

Aine offered:

Mother Miounne v1.1.0 v2.0.0

Good news - Miounne got new release with a lot of small neat changes (and even some features, yes-yes) and binary releases for major platforms and architectures

Good/bad news - e2e integration was removed, because I failed to implement to "well, usable" state 😭

So, go check out releases, changelog and don't forget to pull new docker images.

You asking what's that about? Mother Miounne is "backoffice" of etke.cc service.

I'm too sad to add good jokes and brief descriptions, so just join the #miounne:etke.cc room to find more

Dept of Events and Talks 🗣️

SeaGL

Ben Cotton (he/him/his) told us:

SeaGL (Seattle GNU/Linux Conference) will be held online November 5–6, powered by Matrix. Join our free—as in freedom and tea—grassroots technical summit. No registration required! This year's theme is "on cloud nine", in recognition of our ninth year.

Keynote speakers are:

  • Marie Nordin

  • Christine and Morgan Lemmer-Webber

  • Elana Hashman

  • Cory Doctorow

We have over three dozen other great talks on free and open source software, hardware, and culture. Plus some fun social activities. Volunteers are still needed if you want to lend a wing!

FOSDEM

Matthew reported:

FOSDEM says https://twitter.com/fosdem/status/1451475324684980241

Final Thoughts 💭

Room of the week

timokoesters announced:

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: #weiqi:matrix.org

"The ancient board game known as Go."


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
1eightballde.luxe524
2trolla.us592
3envs.net646
4synapse.yarnoush.be893.5
5matrix.markshorten.co.uk1008
6etke.cc1022
7wallace.sh1414
8mchus.pro2476
9matrix.liamgooch.com2843
10jeroenhd.nl3032

#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
1bwitch.me379
2sspaeth.de455
3grin.hu665.5
4matrix.awesomesheep48.me1079
50x1a8510f2.space1099

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-10-15

2021-10-15 — This Week in Matrix — Alexandre Franke

Matrix Live 🎙

Demo time! Threads and SwiftUI on the agenda this week!

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:

MSCs in Final Comment Period:

  • No MSCs are in FCP.

Merged MSCs:

  • No MSCs were merged this week.

Spec Updates

The actual spec changes for MSC2844: Global version number for the whole spec have now been merged [one, two]. You can take a look at this section of the unstable spec to now see an explanation of the Matrix spec version numbering scheme.

Additionally, take a look at the Client-Server API, where all current APIs have been bumped from /r0/... to /v3/.... See this bit of MSC2844 for the rationale behind this change.

The pieces are starting to fall into place for the upcoming Matrix 1.1 spec release!

Random Spec of the Week

The random spec of the week is... MSC1840: Typed rooms!

This is a concept that was used in the Spaces MSCs to allow servers and clients to denote a room as a Space vs. a typical Matrix room (and set up their UI appropriately). Only the type for a Space has been specified so far, but there are many different applications room types could serve; for example profile rooms!

This MSC aims to create a general concept for a typed room, whereas future MSCs would identify those types and their meaning.

Dept of Servers 🏢

Synapse

callahad told us:

Happy Friday! The Synapse team has been sorting out what we hope to accomplish before the end of the year, and it's looking like our main focus will remain research and experimentation towards making large room joins go very fast. We don't yet see an incremental path from where we are now to where we want to end up, so progress will likely come as a few discrete milestones, rather than a gradual acceleration over time.

Aside from room joins, we expect to spend a good bit of time time on bug fixes and preventative maintenance. For example, we hope to get Sydent passing mypy --strict by this time next week. Doing so would have prevented recent production issues, including one which caused phone number verification to silently fail.

Preparations for releasing 1.45.0 continue apace; I'm loking forward to telling you about it next week!

Homeserver Deployment 📥️

Kubernetes

Ananace told us:

And as has come to be routine for TWIM, this week too has seen an update of my Helm Charts - with element-web being updated to 1.9.2

Dept of Bridges 🌉

matrix-appservice-pstn

chandi reported:

let's bridge everything! Have you ever wished you could make and receive phone calls with matrix?

The beginnings of a matrix <-> SIP bridge are done :) If you can imagine to live with bugs or even help with the development yourself, feel free to give it a try! :) https://github.com/alangecker/matrix-appservice-pstn

Discussions: #matrix-voip-bridging:kb1rd.net

2021-10-15-4j7h3-screencast.gif

Dept of Clients 📱

FluffyChat 0.42.0 has been released

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

krille said:

This release fixes several bugs and makes E2EE enabled by default.

  • feat: Enable E2EE by default for new rooms

  • feat: Display all private rooms without encryption as red

  • feat: New design for bootstrap

  • feat: New design for emoji verification

  • feat: Display own MXID in the settings

  • feat: More finetuning for font sizes

  • chore: Updated translations (Thanks to all translators!)

  • fix: App crash on logout

  • fix: Temporary disable sign-up for matrix.org (Currently gives "500: Internal Server Error" while FluffyChat should send the same requests like Element)

  • fix: Implement Roboto font to fix font issues on Linux Desktop and mobile

  • fix: QR Code scanning

2021-10-15-Ss6Yj-screenshot_20211014-173752.png

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:

Making steps towards stable E2EE, we have now implemented bootstrapping cross-signing on a new account. This allowed me to finally enable cross-signing on my Nico (nheko.im) account (which I intended to only use with Nheko). Thulinma also added a way to refresh the current device list as well as highlighting your current device in the device list, which should make it easier to recover, if a misscommunitcation with the server lead to an outdated device list. Meanwhile LorenDB has been plugging away on converting more dialogs to Qml and we merged like 3 converted dialogs!

2021-10-15-Exgkj-bootstrap.png

Element

Web

  • Released Element Web 1.9.2 featuring chat export, Spaces and E2EE improvements, updates to Electron 13.5.1
  • More progress on the client side of threads, published an MSC and started work on Synapse support
  • Fixed some bugs in registration, Windows icons, phone number confirmation

Delight team

  • On iOS, we’ve been implementing support for pagination of the Space Summary API, to support larger spaces, as well as improving performance. We’ve also started implementing support for creating Spaces.
  • We’re also exploring larger changes to make to the layouts of Element on all platforms to surface simpler and more intuitive navigation all round and tackle some of the feedback we couldn’t get to during the Spaces beta. Watch this space!

iOS

  • We failed to publish the app on the app store this week because of observed crashes. RC 1.6.5 is available on TestFlight. We should be able to release on the App Store on Monday
  • User auto completion has landed on develop
  • Message forward is in the horizon
  • Settings got lipstick by reviewing headers and footers
  • It is now possible to copy and paste an image

Dept of Widgets 🧩

New Widgets: Spanners!

Can you believe we didn’t have a dept. of Widgets yet? We do now!

Half-Shot told us:

Hi folks! This week I took a bit of time out of my day to create a new widget for Matrix. We have the concept of "Spanners" at Matrix where one person wants to take control of a resource, and they will say "I am taking the spanner". This prevents other people (verbally at least) from trying to use the resource at the same time.

For years we have been getting by with sending messages into Matrix, but no more! For now anyone can use the Spanner widget to set up a similar system in their room.

You can try this out now with /addwidget https://half-shot.uk/spanner?spannerName=YourSpannerName (although no promises about the uptime of half-shot.uk)

The repo can be found https://github.com/Half-Shot/matrix-spanner-widget.

You will need to ensure that all users who plan to use it must be able to send state events of type uk.half-shot.spanner. Otherwise, it should be ready to go!

Dept of Ops 🛠

Rager

I heard CLI tools are all the rage, so here is one!

janshai reported:

Rager is a CLI tool for matrix client developers to easily view and parse rageshake logs. It handles syncing (with many parameters to sync only the logs you want), searching through downloaded logs, and paging through any log on your device (with peudo-syntax highlighting to make it easier to understand), right from the comfort of your terminal. It has been in development for a few months (being used/tested by devs at beeper.com) but I feel like it's now in a good enough state to release for everyone else to use. If it's something that may help you, try it out and let me know if it works for you!

Get it here

Dept of Services 🚀

Hingst

Andreas told us:

Hi everyone!

We believe that having your own homeserver should be easy and require little technical knowledge. That's why we launched Hingst, a privacy focused Matrix hosting service which takes care of (almost) everything for you.

Our goal is that our users spend no time whatsoever on maintaining the actual server so they can focus on what matters - chatting with friends and colleagues.

All servers are located in Sweden and of course they run entirely on renewable energy!

That's all for now. Thanks for reading :)

If getting your own homeserver was hinging on the availability of such a service, you don’t have an excuse anymore!

Dept of Events and Talks 🗣️

Finnish Community Meetup

Cos offered:

First annual Finnish Matrix community meet is to be held 20.11 in Tampere, Finland. Infos and registration at https://mobilizon.be/events/5c9ce49d-83de-41d1-b824-8950293d3fd1

Berlin Meetup

Christian told us:

Heads up for those in Berlin 🐻🇩🇪. You're welcome to join us Tuesday evening at 7:00 PM chatting about Matrix development and hosting. We're going to meet in person at c-base. In compliance with the hackerspace's house rules this is a strict 2G event.

If possible, join our #matrix-berlin:matrix.org room.

Dept of Guides 🧭

French User Guide

Henri Carnot announced:

Matrix user guide [French]

Hi !! I'm building a matrix user guide for my school. It is not finished yet, but feel free modify/repurpose it !

Preview : https://minitel.emse.fr/move-to-matrix/emse

source : https://gitlab.com/henri2h/move-to-matrix

The goal is to build an easy user guide which could be easily adapted to other matrix instances.

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: #chess2:matrix.org

"Everything related to chess."


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
1maescool.be517
2boba.best530
3envs.net552.5
4trolla.us934
5almum.de1236
6spooks.cyou1319.5
7halogen.city1864
8matrix.markshorten.co.uk1970
9ewsandor.com2018.5
10diasp.in2408

#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
1conduittestfigyel.gq312.5
2sspaeth.de323
3envs.net421
4dendrite.thomcat.rocks701
5grin.hu744
6spooks.cyou790
70x1a8510f2.space869
8jae.su878
9matrix.awesomesheep48.me1533
10weber.world3921

That's all I know 🏁

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

PreviousPage 1
NextPage 3