Matrix Live

Transcription (Community made): https://en.miki.community/wiki/Matrix_Tutorial_7

Dept of Spec πŸ“œ

TravisR 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/proposals

MSC Status

Merged MSCs:

Closed MSCs:

MSCs in Final Comment Period:

  • No MSCs are in FCP.

New MSCs:

Spec Core Team

In terms of Spec Core Team MSC focus for this week, we've been aiming to get the requirements for MSC3952: Intentional Mentions landed as well as discussing MSC3952 itself, in addition to planning out what the next few spec releases are expected to look like.

Watch this space for progress on the Matrix 2.0 MSCs and other critical path items :)

Curated MSC of the week

This week's random chosen MSC is MSC3575: Sliding Sync! It's one of the largest (or is the largest?) MSCs we've ever had, and dramatically changes how clients actually get updates from the server. It's worth the read if you're a client developer, though the team working on it is ironing out some bugs. Let us know what you think on the MSC :)

The Chart

It seemingly was okay with being generated this week again, so here it is:

Dept of Servers 🏒

Synapse (website)

Synapse is a Matrix homeserver implementation developed by the matrix.org core team

Shay says

Howdy, welcome to another week in Synapse-land. We've released v1.78.0rc1 with some cool bugfixes and features. Some notable additions in this version are:

  • Fixed a long-standing bug where the room aliases returned could be corrupted.
  • Fixed a bug introduced in Synapse 1.76.0 where partially-joined rooms could not be deleted using the purge room API.
  • Fixed a long-standing bug where federated joins would fail if the first server in the list of servers to try is not in the room.
  • Implement the experimental exact_event_match push rule condition from MSC3758.
  • Added account data to the command line user data export tool

and much more! Take a closer look here in the release notes and have a happy Friday.

Construct (website)

A performance-oriented homeserver with minimal dependencies.

Jason Volk reports

There's been progress in several areas for Construct 0.9 this week, cut with 71 new commits. First I'd like to give special thanks for @bgiovanni for continuing to drive the progress this week; they have on several occasions been able to navigate the codebase and the specification to provide concise reports so I can fix anything in mere minutes. I hope we can keep this up.

Construct can now be configured to purge a room from the database after the last local user leaves. This week I also took the plunge on implementing a controversial clause in the specification which requires a server to broadcast a join event on behalf of another server. This is problematic because it's technically an amplification attack, so I've done my best to narrow the conditions for when to actually perform this: only if the counter-party is not already joined, and only if Construct has an alias set for the room being joined.

In other news, I fixed a bug in boost::asio but since that won't land for a while and Construct's io_uring(7) might be susceptible on Arch and Gentoo I hacked a workaround just for us, especially since the old epoll(7) + aio(7) makes my desktop much less responsive (I can't believe I dealt with that for years!).

Next week Yan Minari might have a deeper look at Sytest and Complement integration and maybe mdad, while I plan on implementing local room policies and user management to make Construct safe for public registration.

If you're looking for an alternative to synapse please check us out at #construct:zemos.net

Conduit (website)

Conduit is a simple, fast and reliable chat server powered by Matrix

Timo on Conduit ⚑️ reports

Hey all, in the past weeks I have been working on message backfilling over federation (!), history visibility correctness and a bunch of small bug fixes.

Prepare for a new Conduit release in the near future!

Dept of Clients πŸ“±

Nheko (website)

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

Nico reports

Some of you might have already seen it, but for the rest I will just spoil the surprise now: We released 0.11.2 (and 0.11.3, don't ask...) this week! Now you can easily hide spoilers by just enclosing the message with ||, search for users in the user directory and much more. I have included the changelog below so you don't need to look for it!

Highlights

  • Improved Markdown input πŸ—’οΈ
    • You can now enter strike-through and spoilers using ~~ and || respectively.
    • Single line-breaks now also create a line-break in the formatted message.
    • Code tags now preserve whitespace.
  • User search in the invite dialog πŸ§‘β€πŸ€β€πŸ§‘ (Malte E)
    • Can search either locally or consult the user directory on your server.

Features

  • Allow disabling animations before login.
  • Set the window role to "imageoverlay" on X11. (Thulinma)

Improvements

  • The Nheko binary should now be slightly smaller.
  • You can now build Nheko against a system install of the blurhash and cpp-httplib libraries. (vitaly)
  • You can now enable scrollbars for the room and community lists in the settings. (balsof)
  • Add a generic video icon when there is no thumbnail. (LorenDB)
  • Pause video when switching rooms. (LorenDB)
  • Add a fancy delegate when encryption is enabled. (LorenDB)
  • Standardise command format messages. (phyto)
  • Automatically fetch keys for undecrypted messages after verification.
  • Remove all notifications on exit on Linux. (ShootingStarDragons)
  • Document markdown features and /cmark command in the man page. (tastytea)
  • Speedup the user completer.
  • Allow closing menus on Wayland by clicking the window. (ShootingStarDragons)
  • Merge Debian/Ubuntu Dependencies in the README. (enigma9o7)
  • Update zsh completions. (tastytea)
  • Skip empty requests for cross-signing keys when user only has one device. (Jason)
  • Hide image overlay when saving a file. (ShootingStarDragons)
  • Make it more obvious that the add reaction button is not an emoji.
  • Build only the gstreamer qml plugin in flatpak.
  • Update Ubuntu dependency list for building from source. (tastytea)

Translations

  • Estonian (Priit)
  • Ukrainian (NullPointerException)
  • Indonesian (Linerly)
  • Chinese (Poesty Li)
  • Esperanto (Tirifto)
  • French (MayeulC, CB, Glandos, Rick)
  • Dutch (Thulinma)
  • Italian (DynamoFox, Elia Tomasi, Joseph Curto, Quanterxotur)
  • Russian (Evgeny, SOT-TECH)
  • Finnish (Lurkki)

Bugfixes

  • You can now forward stickers again.
  • Edits shouldn't "jump" out of threads anymore.
  • Focus text input when quick switcher is closed. (LorenDB)
  • Fix rare freeze with an empty list in a completer.
  • Don't fail the plugins check on GStreamer 1.22 during a video call.
  • Allow nested ()/[] brackets in URLs. (mauke)
  • Make br tags work properly again.
  • Don't double free call devices. (Jason)
  • Work around multiple destructor calls on Clang. (Jason)
  • Html in sidebar.

You can find most of the downloads either in your favourite distributions repository (even including Arch now!), flathub or on our releases page: https://github.com/Nheko-Reborn/nheko/releases/tag/v0.11.3

Thank you, everyone who contributed!

Fractal (website)

Matrix messaging app for GNOME written in Rust.

KΓ©vin Commaille says

Hello all! Fractal 4.4.2-beta2 is available on Flathub Beta.

You read correctly, it's not Fractal 5 yet. This is a maintenance release that fixes the compilation of Fractal 4.4 with recent libraries and allows to build the Flatpak with the latest GNOME runtime. That means no more warning that the GNOME 41 runtime is outdated!

There are no new features, but since we updated a lot of Rust dependencies we preferred to release a beta version before using it to update our stable release to the latest runtime. So please test it and if no major regression is reported, we will release it as stable in two weeks.

To get it, run the following commands:

flatpak remote-add --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo
flatpak install flathub-beta org.gnome.Fractal
flatpak run --branch=beta org.gnome.Fractal

Note that if you always want to use this beta version instead of the stable one, and run it from the icon in your launcher, you will need to change its desktop file to use the command in the last line.

See you soon with some news regarding Fractal 5 hopefully!

Ement.el (website)

Matrix client for Emacs

alphapapa reports

Changes since the last release include:

Additions

  • Command ement-view-space to view a space's rooms in a directory buffer.

Changes

  • Improve -ement-describe-room- command (formatting, bindings).

Fixes

  • Retry sync for HTTP 502 "Bad Gateway" errors.
  • Formatting of unban events.
  • Update password authentication according to newer Matrix spec. (Fixes compatibility with Conduit servers.)
  • Image scaling issues.

Feel free to join us in #ement.el:matrix.org!

Element Web/Desktop (website)

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

Johannes Marbach reports

  • This week we got closer to getting our cloud packaging working, a step towards drastically reducing the time we spend on releases and allowing us to do more.
  • We also continued to work on stuck notification issues with one bug fix and another close to being resolved, too.

Element iOS (website)

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

Ștefan says

This week we were very busy squashing bugs in Element X and we’re happy to announce that we are ready to make it available to the general public as a TestFlight app available for iOS, iPadOS and macOS (on Apple Silicon) soon (pending Apple's review). This is a pre-alpha version of the app which features the new faster sync and basic functionality. There are lots more features coming over the next few weeks! We will share the public link in our new Element X iOS public room over at https://matrix.to/#/#element-x-ios:matrix.org

Element Android (website)

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

Jorge MartΓ­n says

This week our efforts have been split between Element X and Element Android:

  • On Element X, we're focused on laying the foundations for the app, improving our tools and processes for distributing the updated Rust SDK as an Android module and refining the initial screens of the app, matching the new designs and UX flows.
  • On Element Android, we've released a new version 1.5.26 with more fixes and improvements for the Rich Text Editor, Polls and Location Sharing features, to name a few of them.

Dept of Non Chat Clients πŸŽ›οΈ

matrix-migrate

ben says

Happy to announce a neat little CLI tool (built with rust, of course) to migrate your matrix rooms from one account to another: matrix-migrate is inspired by the the EMS migrator, but

  1. is a nice little CLI tool, based on matrix-rust-sdk
  2. allows for restarts (refreshes at the beginning)
  3. it runs the operations async in parallel and is thus quite a bit faster

Matrix Wrench (website)

Matrix Wrench is a web client to tweak Matrix rooms.

Christian Paul (jaller94) reports

Matrix Wrench 0.11.0

I've continued to develop Matrix Wrench, a webapp for techy Matrix admins to manage rooms and room state. It can be hosted on any static web space, supports multiple logins and has just one direct dependency (htm/preact).

Lots of great new features got released in the last two weeks. Here are the highlights:

  • Added: Tables of joined rooms and direct contacts
  • Added: New input for identities: Masquerade As Matrix ID (for AppService tokens)
  • Fixed: Knocking button didn't work ("Error: Content not JSON.")

Check out the changelog of Matrix Wrench.

Dept of Widgets 🧩

matrix-meetings

Oliver Sand reports

After we had some great time at FOSDEM and where we were able to test our Barcamp widget with a broader group, we are thrilled to announce that we finally made the next widget public:

Entering the matrix-meetings-widget! The widget allows to plan meetings, invite other users, configure meetings rooms, view your calendar, and perform video conferences. All data is stored in Matrix, no external service required. As the Widget API is a bit limited for this use-cases, it's a combination of a widget and a bot.

As a small teaser: We are in the progress of building a whiteboard widget that is fully based on Matrix without an external storage. If you have any questions, reach out to us at #nordeck:matrix.org.

Dept of SDKs and Frameworks 🧰

Trixnity (website)

Multiplatform Kotlin SDK for Matrix

Benedict announces

A new release of Trixnity is out. Among other things, there are some performance improvements regarding reading/saving files and reply fallback support has been added.

matrix-rust-sdk (website)

Next-gen crypto-included SDK for developing Clients, Bots and Appservices; written in Rust with bindings for Node, Swift and WASM

Jonas Platte reports

Dept of Bots πŸ€–

mnotify

stefan announces

Since there are people out there who actually use my tool for writing bots, I revived mnotify and started rewriting it in Rust using the matrix-rust-sdk. As a consequence, E2EE now works out of the box! Thanks to vadozemac builds without external C libraries are possible! If you are familiar with Rust and the matrix-rust-sdk, help is appreciated! πŸ™‚

rust pingbot

cel reports

A new pingbot (echobot) has been implemented as an application service. There is an instance of it operating in #ping-no-synapse:maunium.net currently; and there is some discussion of it there. Source: https://codeberg.org/cel2/pingbot-appservice-rs https://git.scuttlebot.io/%2531GZTczroR1ldeWb0BbZH10MCWh9dd5HQM9qiN734YY%3D.sha256/

flip-matrix-bot (website)

A Matrix bot for the Friendly Linux Players community.

HER0 says

We now have a nice web page for each event! These provide a convenient way to share event details with others, and are already used in the iCalendar feed. If/when updates to Mastodon and Steam are live, they will also use these pages. For an example web page, this corresponds to the event coming up this weekend:

https://friendlylinuxplayers.org/events/70392fec3bc0393e

In addition, there was some refactoring merged, thanks to a community member.

Dept of Events and Talks πŸ—£οΈ

Matrix Salon Podcast (German)

Christian Paul (jaller94) reports

Meet Nico who many might know as the maintainer of the nheko client and a passionate critic. We talked about how he hopes to improve Matrix by voicing concerns on various change proposals and how the similarity of the names Nico and nheko is just a coincidence.

Episode link: https://anchor.fm/matrix-podcast0/episodes/Nico---FOSDEM-2023-e1vf7g1 Mastodon post: https://mastodontech.de/@jaller94/109920366857895607

Matrix User Meetup Berlin

saces says

Next Matrix user meetup 1.3.2023, 8 pm @ c-base

Meet other matrix users, chat about Matrix, the rest, and everything else, discuss your Matrix ideas, sign each other in persona, and maybe spice the evening with a good mate or beer.

Every first Wednesday of the month in the c-base at 8pm ('til the next pandemic).

Matrix room: #mumb:c-base.org

Dept of Guides 🧭

Andreas says

I wrote two blog posts (one, two) about decentralization and its advantages over centralized networks (with some Matrix examples). It's in Swedish, but I hope some find it useful.

Room of the Week πŸ“†

du announces

Tech News in Matrix

Would you like to get your tech news inside of your Matrix client of choice? I've set up a simple room that pulls articles from dozens of quality RSS feeds (including This Week In Matrix) and posts them in the room. You can join the read-only room at: https://matrix.to/#/#tech:uxn.one

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
1nognu.de302.5
2neko.dev303
3maescool.be317.5
4technodisaster.com339
5willy.club397
6kwatra.me456
7hsn.dev528.5
8pavot.ca575
9trygve.me588
10rom4nik.pl649

#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.s3cr3t.me230
2dendrite.matrix.org244
3maximiliangaedig.com272
4matrix.org291
5celehner.com317
6rustybever.be388.5
7evulid.cc533
8zemos.net902.5
9conduit.test.zemos.net:84471055.5

That's all I know

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

The Foundation needs you

The Matrix.org Foundation is a non-profit and only relies on donations to operate. Its core mission is to maintain the Matrix Specification, but it does much more than that.

It maintains the matrix.org homeserver and hosts several bridges for free. It fights for our collective rights to digital privacy and dignity.

Support us