Dept of Spec 📜
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.
- MSC4045: Deprecating the use of IP addresses in server names
- MSC4044: Enforcing user ID grammar in rooms
MSCs in Final Comment Period:
- MSC4040: Update SRV service name to IANA registration (merge)
- MSC3930: Polls push rules/notifications (merge)
- No MSCs were closed/rejected this week.
This last week the SCT has largely been preparing for the spec release happening on August 23rd, 2023 and working on getting some of the IETF/MIMI work into MSC shape. It's largely business as usual at the moment for the SCT :)
Matrix 1.9's planned work will be finalized on Monday as well, ahead of the Matrix 1.8 release on Wednesday. Please raise any MSCs or general feature areas to the SCT before Monday in #sct-office:matrix.org for them to be considered. The SCT will have limited/no bandwidth to look at things not raised for consideration.
Dept of Servers 🏢
Synapse is a Matrix homeserver implementation developed by the matrix.org core team
This week we released 1.90.0. Highlights include:
- Fix a long-standing bug where purging history and paginating simultaneously could lead to database corruption when using workers.
- Remove old rows from the
cache_invalidation_stream_by_instancetable automatically (this table is unused in SQLite).
- Fix a long-standing bug where profile endpoint returned a 404 when the user's display name was empty.
org.opencontainers.image.versionlabels to Docker containers published by Matrix.org
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 📱
A client for matrix, the decentralized communication protocol
So it's been a while since there were any NeoChat updates so I'm going to stretch the definition of a week a bit here (read since we last posted something which is a couple of months).
To start support for libQuotient 0.6 was removed the current minimum is 0.7.2.
A selection of the other things from the extended week include:
- Reworking push rule support, which now includes room specific keywords if you want them.
- Improved devices settings page with the current device, verified and unverified devices categorised.
- Various visual updates to things like the Avatars, bubbles and room hover highlights (rounded corners finally!).
- The settings have been updated with improvements to both the navigation pane and the layout as well.
- Although early days some initial work to polish up the Android version has started, anyone brave enough to try can once again long click on a message to see the menu. The effort should continue to polish the Android version up enough to be ready for daily use.
- The images used in notifications have been improved, they're now round like in the rest of the app and also show the room icon in the bottom right.
There has also been a lot going on in the background with a whole bunch of small improvements and cleanups. Stay tuned as next week 23.08 will be out so that everyone can enjoy the work done over the last few months.
Matrix messaging app for GNOME written in Rust.
Kévin Commaille announces
Fractal 5.beta2 is out!
Fractal 5.beta2 is the second beta release 🎉 since the rewrite of Fractal to take advantage of GTK 4 and the Matrix Rust SDK, an effort that started in March 2021.
The most visible changes since Fractal 5.beta1 are:
- Editing text messages ✏️
- Logging in with homeservers that don’t support auto-discovery 🧐
- A refactor of the login flow should avoid crashes when going back at any step 🔙
- Sometimes two day dividers 📅 would appear next to each other without messages between them, this is now fixed
Of course, there are a also a lot of less visible changes, notably a lot of refactoring, 🐛 fixes and translations thanks to all our contributors, and our upstream projects.
As the version implies, this is still considered beta stage and might trigger crashes or other bugs 😔 but overall should be pretty stable 👍. It is available to install via Flathub Beta 📦, see the instructions in our README.
A list of blocking issues for the release of version 5 can be found in the Fractal 5 milestone on GitLab. All contributions are welcome!
Element X iOS (website)
A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+.
Our main focus this week was adding OIDC support but that doesn’t mean we haven’t had a poke around here and there:
- Making good progress on integrating the rich text editor
- Started looking into mention pills in the timeline
- Sped up the room list detail fetching and rendering
- Optimised the whole invites screen
- Fixed local echoes getting stuck behind read receipt sending
- Allow notifications to be filtered by push rules
- Have the notification service extension report the correct user agent
- Fixed weird keyboard animations when leaving the timeline
- and we even played around with fuzzy searching the room list!
Element X Android (website)
Android Matrix messenger application using the Matrix Rust Sdk and Jetpack Compose
- Element X Android is available as open testing on the PlayStore. You can get it from https://play.google.com/store/apps/details?id=io.element.android.x and report bugs either from the top right menu in the app or at https://github.com/vector-im/element-x-android/issues. This is still an early version!
- In the meantime we are fixing bugs, in particular around the room list and the timeline, working with the Rust team to investigate them.
- We have started to work on Element Call integration
- We also keep integrating with Compound, our design solution
Element Web/Desktop (website)
Secure and independent communication, connected via Matrix. Come talk with us in #element-web:matrix.org!
Johannes Marbach reports
- We're pressing on with resolving stuck notifications. While in past weeks we've dug into bug reports from users and fixed multiple issues, we're reaching a point where the remaining issues are spurious enough to make this increasingly less practical. Therefore, we've started to systemically extend our suite of automated tests to uncover further root causes which has already proven fruitful. We expect most of what we'll find to be addressed with MSC4033 which we will start moving forward after completing the test suite.
- On the Compound front, we're continuing with our updates around the room header and are currently integrating the new avatar component.
- Our efforts to enable native OIDC support in Element Web, unfortunately, had to be paused as we decided to pivot over to complete the initial version of the account and device management UI in MAS to support the Element X mobile apps. We expect to return back to the Element Web integration afterwards.
- Last but not least, we've begun hooking up our web strings to the translation management system used by the Element X apps. This will allow us to share strings across platforms more easily in future.
Dept of SDKs and Frameworks 🧰
Multiplatform Kotlin SDK for Matrix
Some bugs were fixed in Trixnity v3.10.1 and v3.10.2. Also trixnity-examples has been updated. A gradle task was added to run the examples more easily on the JVM. There is now
jsBrowserRunfor the Kotlin/JS and
libQuotient 0.8.1 (website)
A Qt5 library to write cross-platform clients for Matrix
Mostly minor fixes and improvements over 0.8.0 that came out last month; session verification should work now, among other smaller things.
Dept of Services 🚀
When developing Matrix server applications, one of the early needs is a way to ensure the server discovery code actually works (the code which converts a domain name into an IP address and port to send requests to). Historically there's not been real-world test vectors for this, and setting them up is time consuming (it took me about 6 hours).
Under the t2bot.io services banner, resolvematrix.dev now exists to be a real-world test vector for this stuff: https://t2bot.io/docs/resolvematrix/
Feel free to use this service in your unit/integration tests, or just poke at it manually if you prefer. The service is monitored (with no SLA) as part of the t2bot.io infrastructure: https://status.resolvematrix.dev/ (please ignore the day 1 deployment fails - they've been fixed now 😇)
Dept of Bots 🤖
We used a poll to manage the preorder of MSC2997 implementations at CCCamp23. However common clients don't expose the poll results with the required detail for this preorder, so poll-reader was created as a tool to support us.
Dept of Events and Talks 🗣️
Hi from the Matrix Village @ CCCamp23!
As you can see in the photos, we implemented a POC of MSC 2997!
Dept of Ping 🏓
Join #ping:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.
Join #ping-no-synapse:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.
That's all I know
See you next week, and be sure to stop by #twim:matrix.org with your updates!