Matrix Live

Dept of Status of Matrix 🌡️

Josh Simmons announces

This week Thib published the second installment in our roadmap blog post series: Opening up the Foundation. This post dives into the work we’re doing this year to increase community participation and open governance, looking even beyond the Governing Board to things like office hours, working groups, and fiscal sponsorship.

If you missed the first post in the series, check it out: A roadmap and appeal for help from The Matrix.org Foundation.

We’re grateful for the level of support we’ve received as we share more about the Foundation’s financial needs and the work we are doing in service of the ecosystem. Many dozens of individuals have donated and joined as Individual Members, and we’ve more than doubled the number of organizational members! Huge thanks to Beeper, Fairkom, Famedly, Fractal Networks, Gematik, IndieHosters, and XWiki.

We still have a long way to go, and critically we need larger organizations to step up to the plate, but the early results are encouraging. Onwards and upwards! 🚀

Matthew reports

There's a huge number of Matrix projects active in the German public sector, and the team at Element has had a go at mapping them out and providing a guide to what's going on, how they relate to each other, and to generally try to explain why Germany is the leading country for digital sovereignty - including self-sovereign secure communication with Matrix: https://element.io/matrix-in-germany

Dept of Spec 📜

Andrew Morgan (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/proposals.

MSC Status

New MSCs:

MSCs in Final Comment Period:

  • No MSCs are in FCP.

Accepted MSCs:

Closed MSCs:

  • No MSCs were closed/rejected this week.

Spec Update

Once again, a general call for help for folks to write up some spec PRs - aka turning our current list of accepted MSCs into actual PR against the spec itself.

Huge thanks to @zecakeh for writing several of these over the past week. The number left is dropping rapidly! Likewise to others that have been sending general fixes and updates to the spec as well.

If that sounds like something you'd like to help out with, even if you've never touched the spec before, please consider writing one up! You can see examples of Spec PRs here, and can join #matrix-docs:matrix.org for help 🙂

Random MSC of the Week

The random MSC of the week is... MSC2872: Move the widget title to the top level of the definition!

This is a very simple maintenance MSC which moves the "title" property from within the "data" property to the top-level of a widget definition (a m.widget state event). The reasoning is simply that the "name" property is also top-level in the widget definition, and it makes sense to put those by each other.

Dept of Servers 🏢

MTRNord says

ejabberd seems to now support Matrix federation https://www.process-one.net/blog/ejabberd-24-02/

Synapse (website)

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

Andrew Morgan (anoa) announces

The final release of Synapse v1.102.0 was delayed this week while the team had limited bandwidth, sorry! Expect a release next week at the usual time.

Dept of Clients 📱

nannanko says

kazv v0.1.0 has been released.

kazv v0.1.0 adds a lot of features, fixes some bugs. We believe kazv has all the basic features that a matrix client and instant messaging app should have.

Full Changelog

Added

Fixed

Removed

Neochat (website)

A client for matrix, the decentralized communication protocol

Tobias Fella reports

NeoChat 24.02 was released

This week, we have released version 24.02 of NeoChat. On a technical side, the most notable change is the migration from Qt5 to Qt6, though as an end user, you shouldn't notice a significant difference here. On the feature side, this release brings massively improved support for spaces and in-app account registration and deactivation. It also brings support for showing reactions based on custom emojis, for receiving push notifications using KUnifiedPush (not enabled by default, for now), and for forwarding messages to other rooms. You can now also quickly share contacts with other users by showing a QR code linking people's matrix ID. We have fixed my favorite the most annoying bug NeoChat has, where NeoChat would load forever if it fails to connect to your account, and finally, we have implemented the most requested feature: being able to switch to a dark mode when running on Android. But that's not all! There's also a ton of other improvements, fixes, and features - far too many to list here.

The release will be out very soon on Flathub. If your distro doesn't have it yet, it probably will, some time soon. If it doesn't, go bother them about it :). The windows store should also receive the update in the near future.

What's next?

Since the release, we haven't been idle, of course. Notable features merged since the last update include:

  • The possibility to sort the room list alphabetically (Implemented by James)
  • Improvements to message rendering, most notably with amazing syntax highlighting for code blocks (also implemented by James)
  • Improvements to the developer tools, like showing account data and a nicer list for state events (implemented by me, Tobias)
  • Fixed sharing with Plasma's Purpose system (implemented by me)
  • Audio and Video messages now stopping when a different message starts playing (implemented by me)

Still under review are support for sharing messages to other applications using Purpose and a built-in QR code scanner for scanning contact info, room links, etc. Finally, as a sneak peak into the future: We might also currently be experimenting with LiveKit based video calls 🤫

FluffyChat (website)

Krille-chan reports

FluffyChat v1.18.0 has been released 🥳

FluffyChat v1.18.0 adds some new features, fixes a lot of bugs and improves the notifications on Android by showing them in a conversations style. Voice messages got the ability to change the play speed and the status header is now optional.

Full Changelog

  • feat: Add speed button for audioplayer (krille-chan)
  • feat: enhanced send video functionality by adding toggle send original (Mubeen Rizvi)
  • feat: add dialog to hide presence list with long-press (Marcus Hoffmann)
  • feat: Add notification shortcuts to android (krille-chan)
  • feat: make showing user presence info optional (Marcus Hoffmann)
  • feat: Open chat on shortcut click on android (krille-chan)
  • fix: BuildContext crash when joining room (krille-chan)
  • fix: Export session (krille-chan)
  • fix: Notifications open sometimes automatically on android (krille-chan)
  • fix: Open room after join (krille-chan)
  • fix: Open room by notification happened multiple times (krille-chan)
  • fix: Open room links with event id (krille-chan)
  • fix: properly initialize hideUnimportantStateEvents setting (Marcus Hoffmann)
  • fix: Remove status msg not changeable from old cache (krille-chan)
  • fix: use correct icons for chat pin/unpin (Marcus Hoffmann)
  • fix: use correct icons for mark read/unread action (Marcus Hoffmann)
  • build: Update Linux build files (krille-chan)
  • build: Update to Flutter 3.19.1 (Krille)
  • chore: Add more information to Person object in android notifications (krille-chan)
  • chore: Thumbnail follow up for notifications (Krille)
  • refactor: Better download UX with file picker for android and iOS (krille-chan)
  • refactor: Use hashcode instead of string to id workaround for notifications (Krille)
  • Added translation using Weblate (Belarusian) (kopatych)
  • Added translation using Weblate (Interlingua) (Software In Interlingua)
  • Translated using Weblate (Arabic) (Rex_sa)
  • Translated using Weblate (Basque) (xabirequejo)
  • Translated using Weblate (Chinese (Simplified)) (Poesty Li)
  • Translated using Weblate (Chinese (Simplified)) (大王叫我来巡山)
  • Translated using Weblate (Estonian) (Priit Jõerüüt)
  • Translated using Weblate (Galician) (josé m)
  • Translated using Weblate (German) (Benjamin Wagner)
  • Translated using Weblate (Greek) (Benjamin Wagner)
  • Translated using Weblate (Russian) (Benjamin Wagner)
  • Translated using Weblate (Russian) (v1s7)
  • Translated using Weblate (Ukrainian) (Ihor Hordiichuk)
  • Translated using Weblate (Ukrainian) (Сергій)

Element X iOS (website)

A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+.

Ștefan announces

Happy Mărțișor day, everybody! 💐

Element X 1.5.10 has been submitted to AppStore review and improves how your homeserver identifies the latest iPhones and Mac and makes errors more helpful when first configuring a homeserver. Plus tapping on your avatar in the Home Screen will go straight to the settings screen.

See the full release notes here: https://github.com/element-hq/element-x-ios/releases/tag/1.5.9

We're also making good progress on new features:

Element X Android (website)

Android Matrix messenger application using the Matrix Rust Sdk and Jetpack Compose

benoit announces

The version 0.4.5 has been published on the testing track. Changelog: https://github.com/element-hq/element-x-android/releases/tag/v0.4.5. Among new things: mark rooms as favorite, add some moderation tool to rooms (still not 100% implemented), add a gesture to swipe to dismiss the media viewer.

Now the team is working on moderation actions like banning members, blocking / unblocking people. We are also improving the overall quality of the translations. And we have started to work on login using QR code, for a very fast way to log in a device using an existing session, which will also take care of accessing the message history without any other user actions.

We are also iterating on the room list filtering, which will be soon available on production.

Dept of VoIP 🤙

MatrixRTC calls

Timo K. says

Hello from the VoIP team, with matrixRTC recently reaching the point where there are multiple clients supporting it. There is lots of momentum and motivation to make it well integrated and joyful to use.

Embedding

Lot of work happened on improving and finalizing the embedding of element call into element web. We want it to be seamless and stable. Some of the more visible changes of the last weeks are:

  • EC will now use the same theme as EW and thanks to compound we already have a decent looking light theme for Element Call.
  • There is a new hidden feature to skip the lobby by pressing the shift key while clicking on any of the call buttons.
  • In embedded mode element call is now using the same compound themed lobby that is also used in the stand alone app.

We are getting closer and closer to make matrixRTC calls the new standard.

Besides the integration work we are building a way to invite external non-matrix users into a call. In the future it should be possible to start a call in Element Web, create a link to that call and share that link. This url will bring non matrix users to an instance of the Element Call single page application where they get a temporal matrix account and seamlessly join the conference. (This is already working in an mvp fashion, Feel invited to watch the demo in this weeks matrix live)

Another small addition which might be hard to find, hence is worth mentioning, is that one can now change if a video is rendered as "Fit to Frame" (cropped) or without cropping which is very useful if someone is using a portrait video feed. (see the light themed screenshot)

For anyone eager to try calls over matrixRTC themselves, it is currently supported on EX and develop.element.io (If "new group call experience" is activated in the labs settings)

Dept of SDKs and Frameworks 🧰

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.

bnjbvr says

We're back to a regular schedule! This week, we've had the following improvements:

  • numerous additions and enhancements to the FFI layer,
  • work is ongoing on the Event Cache, including notably a novel data structure to efficiently hold events in memory and on disk ("linked chunks"),
  • a new debug TUI tool using the UI crate features has been introduced, multiverse, to help with debugging client issues.
  • work on new APIs to search the room directory has started!

Rory&::LibMatrix (.NET 8 matrix bot/client library/SDK)

Emma [it/its] announces

Not too much to report on, mainly some work on HomeserverEmulator

Additions

  • Added some E2EE/key storage related models
  • HSE: Added initial sync and /initialSync support
  • HSE: Partially implemented key uploads
  • HSE: Report supporting all documented login flows (implementation pending)
  • HSE: Implemented basic room creation
  • HSE: Split up some controllers (eg. User/Room ones)

And, as always:

  • The code is available at cgit.rory.gay!
    • All contributions are more than welcome, be it documentation, code, anything! Perhaps, example usecases, bots, ...?
  • Discussion, suggestions and ideas are welcome in #libmatrix:rory.gay (Space: #mru-space:rory.gay)
  • Got a cool project that you're working on and want to share, using LibMatrix? Be sure to let me know, I'd love to hear all about it!

nannanko reports

libkazv v0.3.0 has been released.

libkazv v0.3.0 adds a lot of features, fixes many bugs.

Full Changelog

Added

Fixed

Dept of Events and Talks 🗣️

Matrix User Meetup Berlin

saces says

Next Matrix user meetup 6.3.2024, 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 Interesting Projects 🛰️

Acter

ben reports

Acter 1.24.2229 brings 💪 Actionable Updates 📣

Yesterday's release of Acter, v1.24.2229 (available on the Apple Store and Google Play store) brings a cleaner Events UI and several fixes on various parts of the App, but most notably 💪 Actionable Updates 📣 with push notifications in a new editor—allowing space leaders to include calls-to-actions, formatted texts with links and even videos in the updates boosted to all members. More details including demo videos in the release blog post.

What's New & AMA next week

Or you join us for the "What's New & AMA" session I will be hosting next week (Wednesday March 6th, 16h UTC) on Zoom (Meeting-ID 946 107 8631), where I will be showing the latest features and other updates we have worked and answer any questions in regards to Acter. There will be a recording made available after, so if you have a question but can't make it make sure to DM me the questions prior so we can get it answered.

Dept of Guides 🧭

Draupnir4All

MTRNord announces

Small update on the project today: We updated https://docs.draupnir.midnightthoughts.space to a more readable design and hopefully also better working for mobile than before. If you have any issues please report them at https://github.com/the-draupnir-project/draupnir4all_docs :)

Also while I was at it I added S/MIME and PGP keys to my Zammad instance that's used for the email. You can find the public keys/certs at https://docs.draupnir.midnightthoughts.space/getting-started.html#pgp-and-smime as well as the fingerprints of each file. Sending both just signed or encrypted files should be possible with both. Encrypted Replies are only confirmed working with PGP at this time. This is somewhat complicated by the Zammad integration for now. However, all messages will be signed by either GPG or SMIME.

Matrix Federation Stats

Aine reports

collected by MatrixRooms.info - an MRS instance by etke.cc

As of today, 9512 Matrix federateable servers have been discovered by matrixrooms.info, 2776 (29.2%) of them are publishing their rooms directory over federation. The published directories contain 20157 rooms.

Stats timeline is available on MatrixRooms.info/stats

How to add your server | How to remove your server

Dept of Ping

Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by pingbot, a maubot that you can host on your own server.

#ping:maunium.net

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

RankHostnameMedian MS
1maunium.net242
2nerdhouse.io268
3ari.lt271
4rom4nik.pl273
5fostered.uk310
6plocki.org339
7aguiarvieira.pt420.5
8envs.net436.5
9littlevortex.net503
10nhnn.dev649

#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
1nerdhouse.io146.5
2ari.lt149
3aguiarvieira.pt151
4fostered.uk179
5spritsail.io211
6matrix.its-tps.fr236
7jpeg.city248
8shiftsystems.net259
9littlevortex.net325.5
10inu.is452.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