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.
- MSC4037: Thread root is not in the thread
- MSC4036: Room organization by promoting threads
- MSC4034: Media limits
MSCs in Final Comment Period:
- MSC3291: Muting in VoIP calls (merge)
- No MSCs were accepted this week.
- No MSCs were closed/rejected this week.
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 is a Matrix homeserver implementation developed by the matrix.org core team
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
- Remove support for Python 3.7 and hence for Debian Buster.
- Correctly resize thumbnails with pillow version >=10
not_user_typeparam 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 📱
- Pasting images from the
- A new
:leavecommand to leave rooms
- Configure how usernames are displayed
- Configure an external command for opening downloads
- Restore layout on restart, or from
- Completing Emoji shortcodes in the message bar
A Qt5-based IM client for Matrix
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+.
- 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
- 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!
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 🧰
Paarth Shah reports
matrix-nio0.21.0 A new version of
matrix-niohas 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
logbookto the standard library
- Dropping support for end-of-life
Multiplatform Kotlin SDK for Matrix
The next Trixnity version has been released. It includes some major performance and internal improvements as well as some cool new features.
- 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
- allow to forget rooms (delete room specific content from database and cache) -> rewrite of the cache to allow indexes
PowerLevelsEventContentwith type safe "events"-field (e. g. allow
content.events.get<MessageEventContent>()additionally to the old way
- Introduce module
trixnity-crypto-coreand replace native crypto algorithms using native APIs (CoreCrypto on apple and OpenSSL on linux/mingw targets)
SecureRandomimplementation using native APIs
MatrixClienthandles 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)
- rollback realm transactions on exceptions
- fix possibly broken media files
Dept of Bots 🤖
A Matrix bot for the Friendly Linux Players community.
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
botssubgroup 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!