15 KiB
+++ date = "2023-11-24" title = "This Week in Matrix 2023-11-24" path = "/blog/2023/11/24/this-week-in-matrix-2023-11-24"
[taxonomies] author = ["Thib"] category = ["This Week in Matrix"]
[extra] image = "https://matrix.org/blog/img/20231124-fractal.png" +++
Matrix Live
{{ youtube_player(video_id="G1jeIlfT8dE") }}
Dept of Spec 📜
uhoreg reports
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:
Spec Updates
Matrix 1.9 is due out next week. Keep your eyes peeled for an update.
Dept of Bridges 🌉
matrix-hookshot (website)
A multi purpose multi platform bridge, formerly known as matrix-github
Andrew F announces
Hookshot 4.6.0 & webhook responses
Get ready for another Hookshot release! The flagship new feature is the ability for Hookshot to respond to webhooks with custom response data, once Hookshot has handled the webhook message. This feature exists because while some services expect an immediate response to webhooks, others wait for the request to complete. With this release, Hookshot can now handle both cases. For more details, refer to the documentation.
The release is available at https://github.com/matrix-org/matrix-hookshot/releases/tag/4.6.0, or by doing
docker pull halfshot/matrix-hookshot:4.6.0
. And as usual, feel free to direct any questions about Hookshot in our Matrix room: #hookshot:half-shot.uk
Dept of Clients 📱
Fractal (website)
Matrix messaging app for GNOME written in Rust.
Kévin Commaille announces
We just released Fractal 5! It is a full rewrite compared to Fractal 4, that now leverages GTK 4, libadwaita, and the Matrix Rust SDK. The two-and-a-half-year effort brings a new interface that fits all screens, big 🖥️ or small 📱, but should still look familiar to users of earlier versions.
It still offers the same old features you know and love, with a few additions. Highlights (italics is new✨ in 5):
- Find rooms to discuss your favorite topics, or talk privately to people, securely thanks to end-to-end encryption
- Send rich formatted messages, files, or your current location
- Reply to specific messages, react with emoji, edit or remove messages
- View images, and play audio and video directly in the conversation
- See who has read messages, and who is typing
- Log into multiple accounts at once (with Single-Sign On support)
It will be available in a few hours on Flathub.
For our next version, we intend to add missing key features, like notification settings, room settings and moderation… We also plan on improving the accessibility and polish the rough edges. Any help is greatly appreciated!
Element X iOS (website)
A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+.
Ștefan says
This week was mostly about tweaks and bug fixes, and we even managed adding a couple new features too:
- Read receipts are out of labs and we even implemented a summary sheet for them
- Polls can now be edited
- We have made a lot of fixes around the rich text editor and message composer
- and more, too many to enumerate here
Element X Android (website)
Android Matrix messenger application using the Matrix Rust Sdk and Jetpack Compose
benoit reports
- RC 0.3.2 is in the open testing and should go to production on Monday.
- Still stabilising and polishing the application
- Writing more tests to help avoid as many regressions as possible and also have a great code coverage metric.
- The application is now using the dynamic room list API, and in particular it will fix the issue where left rooms were still displayed.
- Also fixing issues on the Rich Text Editor library and work on mentions.
- Regarding polls, it’s now possible to reply to them. And very soon it will be possible to edit them, if they get no votes.
Element Android (website)
Secure and independent communication for Android, connected via Matrix. Come talk with us in #element-android:matrix.org!
benoit announces
- A bug has been fixed, which was causing incoming calls to ring forever if answered on another session.
- We will prepare a release candidate 1.6.8 next week
Element (website)
Everything related to Element but not strictly bound to a client
Johannes Marbach announces
- Our receipt handling rewrite has entered code review. We're still testing the impact of this and while things are certainly not fixed entirely, we're noticing a meaningful reduction of the stuck notification pain with this change applied. Meanwhile we also started exploring UX improvements around thread notifications that could help lessen the pain further but haven't concluded yet.
- Work on the new room header and details has progressed and we're going to default the labs flag to true on develop.element.io to source feedback
- We kicked off testing for native OIDC. So far we've identified only one bug around token refresh but we'll give it some more scrutiny next week.
- Our exploration of replacing Cypress with Playwright for end-to-end tests is looking really promising so far. Other than tests running faster, we may also be able to re-enable visual / screenshot tests using Playwright's built-in support rather than Percy.
- Lastly, while we're not exactly proud to still be using Webpack in 2023, at least we've managed to upgrade from version 4 to 5
Dept of Encryption 🔐
libolm (website)
uhoreg reports
Libolm 3.2.16 has been released. This release only fixes some installation issues with the Python bindings. Thanks to Alfred Wingate for the fix. If you don't use the Python bindings, or you already have it installed, there is no reason to update.
Dept of SDKs and Frameworks 🧰
Rory&::LibMatrix (.NET matrix bot/client library)
Emma [it/its] ⚡️ says
No new major features this time around. Any help I can get is super appreciated!
A lot of time this week has been spent working on an example bot with a real use case: Rory&::ModerationBot! The code for this can be found in the ExampleBots/ModerationBot directory.
Things I'm not sure I mentioned last week
- Added license file (AGPL 3) as I forgot to add this (same license as where the code originated from)
- Updated to .NET 8, as that's been released
Changes
- New "SetReplaceRelation" function in TielineEventContent, so one can easily send edited content
- Added
info
field to RoomMessageEventContent, so one can properly represent files- Split
PolicyRuleEventContent
into the 3 types (user, room, server)- Add HTML formatting shortcut for links to events
- Improved the process of uploading files and sending them in rooms internally
CreatePublic
shortcut for createRoom data- Utility function to call /messages multiple times in order to get a certain amount of events (useful if you want to eg. export an entire timeline!)
- Add fallback to
JoinAsync
on rooms to handle already being a member (fixes sending additional join events)- Allow specifying contentType on file uploads
- 10 second timeout on resolving well-knowns
- 300 second timeout on sync requests for command handler instead of 30 (reduces pointless traffic)
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)
Trixnity (website)
Multiplatform Kotlin SDK for Matrix
Benedict says
Trixnity 4.0.0 has been released. This release contains many breaking changes making the API more clear and consistent. Among many other improvements and features there are also some performance optimizations regarding the memory usage and sync processing speed. The initial sync processing (logic and persistence) on my 250+ rooms Matrix account is up to 50% faster (depending on the device and database).
If you want to know more details, check out the release page containing a huge list of changes.
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 announces
- Fix read receipt event handlers not being called with Sliding Sync
- Correctly set/unset room avatars with Sliding Sync
- Many small improvements and bug fixes for
matrix-sdk-crypto
:- Room list service: add a new filter to get all rooms but the left ones
Dept of Events and Talks 🗣️
Thib says
Rejoice, there will be a Matrix booth at FOSDEM! I can't wait to see all of those who can make it to Brussels in February 🎉 https://fosstodon.org/@fosdem/111447848642391129
Dept of Interesting Projects 🛰️
Synapse Super Invites
ben announces
SynapseSuperInvites (sources on github) is a synapse-matrix-server pluggable module that allows any user from your homeserver to create invitation tokens they can share with others (on the same homeserver) to be automatically added to a range of rooms. It does that by providing a few new API-end-points that any client can use to implement a UI for it. Any invite token is bound to the creating user and any redeeming is tracked, so it isn't redeemed again later. Additionally the tokens can also automatically be created as registration tokens, and if the client pings the API with the registration token right after, they are "automatically" added to the configured range of rooms right from the start -- as it is common among other team messaging apps. Which is the behaviour we are aiming for in Acter, where we are implementing this flow right now (contains an example video).
Matrix Federation Stats
Aine says
collected by MatrixRooms.info - an MRS instance by etke.cc
As of today,
8236
Matrix federateable servers have been discovered by matrixrooms.info,2087
(25.3%
) of them are publishing their rooms directory over federation. The published directories contain275483
rooms.
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.
Rank | Hostname | Median MS |
---|---|---|
1 | nerdhouse.io | 264.5 |
2 | tcpip.uk | 304 |
3 | rom4nik.pl | 336 |
4 | medienhaus.dev | 343 |
5 | norge.chat | 362.5 |
6 | matrix.maymundere.org | 366.5 |
7 | bugzbunny.net | 480 |
8 | pavot.ca | 504.5 |
9 | mailstation.de | 978.5 |
10 | matrix.its-tps.fr | 988 |
#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.
Rank | Hostname | Median MS |
---|---|---|
1 | beeper.com | 125.5 |
2 | spqr2gang.com | 152 |
3 | nerdhouse.io | 166 |
4 | matrix.org | 219 |
5 | frei.chat | 267 |
6 | matrix.its-tps.fr | 383 |
7 | inu.is | 478 |
8 | shiftsystems.net | 532 |
9 | forlorn.day | 573 |
10 | noisytoot.org | 1287 |
That's all I know
See you next week, and be sure to stop by #twim:matrix.org with your updates!