Matrix Live

Dept of Spec 📜

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

MSC Status

New MSCs:

MSCs in Final Comment Period:

Accepted MSCs:

  • No MSCs were accepted this week.

Closed MSCs:

  • No MSCs were closed/rejected this week.

Spec Updates

Not a lot to say this week. The Spec Core Team is humming along with review, while we also wait for progress of various MSCs from their authors. The full list of what's in flight can be found in this week's Tuesday ping in the Office of the Spec Core Team room.

IETF and MIMI work is still continuing on in the background. Look out for a TWIM in the near future for an update to progress on that front!

Random MSC of the Week

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

This MSC defines an endpoint to send lots of state (max 50 at once) into a room in one go. This sounds useful for all sorts of tasks, and it's a wonder that it hasn't come up before.

If that sounds like an endpoint you'd like to go, give feedback on the MSC linked above!

Dept of Servers 🏢

Synapse (website)

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

Shay announces

This week we released 1.88.0rc1. First, an announcement: Please note that this release

  • raises the minimum supported version of Python to 3.8, as Python 3.7 is now end-of-life and
  • removes deprecated config options related to worker deployment.

See the upgrade notes for more information. Now the highlights:

  • Remove deprecated worker_replication_host, worker_replication_http_port and worker_replication_http_tls configuration options.
  • Remove support for Python 3.7 and hence for Debian Buster.
  • Correctly resize thumbnails with pillow version >=10
  • Add not_user_type param to the list accounts admin API

and much more. If you'd like to take a deep dive into the changes, you can find the release notes here and as always, if you encounter a bug feel free to report it at https://github.com/matrix-org/synapse/issues/new/choose.

Dept of Clients 📱

iamb

ulyssa announces

iamb (website), a terminal-based Matrix client that uses Vim keybindings, had a new release this past week. Release v0.0.8 includes:

  • Pasting images from the "* clipboard register
  • A new :leave command to leave rooms
  • Configure how usernames are displayed
  • Configure an external command for opening downloads
  • Restore layout on restart, or from config.json
  • Completing Emoji shortcodes in the message bar

Quaternion (website)

A Qt5-based IM client for Matrix

kitsune reports

Quaternion 0.0.96 beta 3

One more iteration on the way to the final release is published. Two biggest changes are in dependencies: unlike the previous iteration that used Qt 5 and libQuotient 0.7.x, beta 3 requires Qt 6 and libQuotient 0.8.x. On top, AppImages for Linux are no more published, giving way to Flatpak. If you want Qt 5 or AppImages back, say so in #quaternion:matrix.org, otherwise the final release will cement these decisions!

Not many changes in the functionality otherwise; but you can now switch E2EE on or off per-account at runtime, rather than across the board at compile time. Check out the release notes at the usual place; and if you're on Linux and want a flatpak, it's already there in the beta channel at Flathub.

Element X iOS (website)

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

Doug reports

  • Notifications are cleared from Notification Centre when marked as read.
  • Room notification settings are starting to take shape.
  • Laying the groundwork to support animations in the timeline.
  • Adopting the latest and greatest features from the Rust SDK.
  • Much work has been put into improving the reliability of our Tests.
  • Bug fixes galore! Thanks for all your feedback following our App Store release.

Element X Android (website)

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

Jorge reports

  • This week we have been polishing the app, getting rid of lots of minor issues so the app is as stable as possible, improving the performance of the timeline, fixing bugs in notifications and improving the overall UX of the app.
  • There is now an Element X Android room where discussion is happening for those brave enough to either build their own versions of the app or download them from our CI! Just keep in mind that it's still a work in progress and the apks are built in debug mode so performance can be quite bad especially when scrolling, as they don't have any performance optimizations and contain lots of debug tooling.

Element Web/Desktop (website)

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

Johannes Marbach says

  • We’re continuing to invest into fixing stuck notification issues. This week, we’ve landed a fix on develop that sends read receipts for thread roots on the main timeline rather than in the thread (which Synapse rejects). We’ve also opened another MSC to clarify what timeline we think thread roots belong in to to help with this problem in future.
  • Our notification settings work is set up for shipping in labs next week
  • On the Compound side we’ve made fix-ups around the typography update and landed a first version of accessible colour updates on develop. Meanwhile, we’ve started exploring the future of theming.
  • Last but not least, we merged the OIDC-native login functionality and have switched to a different OIDC library do help facilitate upcoming changes

Element iOS (website)

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

Doug says

This week we disabled the Share and Siri extensions along with replying from a notification to work around a bug where our current use of app extensions causes corruption in the Rust crypto layer. Sharing is still available from within the app and Siri can be invoked from the keyboard, but we are aware this isn’t ideal.

Dept of SDKs and Frameworks 🧰

Matrix-nio

Paarth Shah reports

matrix-nio 0.21.0 A new version of matrix-nio has been released, with some fantastic new features, and some breaking changes! Full details can be found in the changelog, but as for some highlights:

  • Adding support for Space Parent/Child Events
  • Adding support for knocking on rooms, and enabling room knocking on existing rooms
  • Switching from logbook to the standard library logging module
  • Dropping support for end-of-life python3.7

Trixnity (website)

Multiplatform Kotlin SDK for Matrix

Benedict announces

The next Trixnity version has been released. It includes some major performance and internal improvements as well as some cool new features.

performance improvements:

  • lots of performance improvements in the cache leading to faster sync processing and significant less RAM usage
  • prevent unnecessary reads from repository
  • small performance improvements for realm

features:

  • allow to forget rooms (delete room specific content from database and cache) -> rewrite of the cache to allow indexes
  • PowerLevelsEventContent with type safe "events"-field (e. g. allow content.events.get<MessageEventContent>() additionally to the old way content.events["m.room.message"])
  • Introduce module trixnity-crypto-core and replace native crypto algorithms using native APIs (CoreCrypto on apple and OpenSSL on linux/mingw targets)
  • Own SecureRandom implementation using native APIs
  • MatrixClient handles own CoroutineScope
  • upgrade logging (requires SLF4J 2)
  • unified test suite for repositories (it makes adding new repository implementations significantly less time-consuming, because no tests need to be written)

bugfixes:

  • rollback realm transactions on exceptions
  • fix possibly broken media files

Dept of Bots 🤖

flip-matrix-bot (website)

A Matrix bot for the Friendly Linux Players community.

HER0 says

The bot gained a bit more reliability, as in-room event reminders are now sent as expected, even if the bot was restarted just before the event reminder was supposed to be triggered. Before, reminder logic was calculated based on the current local time, not the time that the event was actually scheduled at, and that would prevent some notifications from being sent.

The GitLab project path was also changed, so that it now exists within the bots subgroup of the Friendly Linux Players group. The main reason for this was to create a separate documentation project that can live alongside the main project in the hierarchy. The documentation is not too interesting to look at yet, but there are plans to provide details within them on how to use the bot in Matrix, run the bot, and contribute to the bot and/or documentation.

On the website side, some server-side and client-side caching, related to events (scheduled by the bot), has been implemented/fixed. This results in load times that are potentially multiple orders of magnitude faster! I'm really glad that I got around to addressing this, as the site feels super snappy now, in comparison.

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