17 KiB
+++ date = "2024-01-19" title = "This Week in Matrix 2024-01-19" path = "/blog/2024/01/19/this-week-in-matrix-2024-01-19"
[taxonomies] author = ["Thib"] category = ["This Week in Matrix"]
[extra] image = "https://matrix.org/blog/img/91c38cc78477b571f0628e95a07b8ca525e3d2191747390913107197952.png" +++
Matrix Live
{{ youtube_player(video_id="yCQX1IckgaE") }}
Dept of Status of Matrix 🌡️
Josh Simmons announces
Have you seen the Stack Overflow Developer Survey results for 2023?!
Of the 83,830 folks surveyed, Matrix was the #1 chat tool in terms of current users' satisfaction. It was also rated as the most desirable among the open source tools with open governance, but there is a lot of room for improvement in awareness. We’re excited to build on this 2024! 🚀
Dept of Bridges 🌉
Emīlija announces
Matrix-Zulip bridge
I have made a bridge for Zulip.
It can:
- Send text messages
- Use Matrix puppeting
- Translate between Zulip topics and Matrix threads
- Bridge multiple organizations and streams
- Bridge all topics from a stream to a single room
Dept of Clients 📱
SchildiChat (website)
SchildiChat is a fork of Element that focuses on UI changes such as message bubbles and a unified chat list for both direct messages and groups, which is a more familiar approach to users of other popular instant messengers.
SpiritCroc says
It's been a while since I last posted here, so it's about time I tell you more about the current state of SchildiChat for Android!
Last year was rather eventless when it comes to new features. Since Element switched to maintenance mode for our upstream codebase, it didn't make much sense to keep developing new features for it, since we'll want to benefit from Element X's performance improvements and the advantages of using Jetpack Compose as UI toolkit as well. On the other hand, for most of last year, Element X didn't feature enough basic functionality to start tweaking it to our likes.
This situation has changed towards the end of last year, and work has started on SchildiChat Next, a SchildiChat fork of Element X for Android. It's still very much work-in-progress (it even still welcomes you to "Element" during onboarding) and misses lots of our original features found in the old codebase. Not all of these features will come back, but we may add some new ones in return. Like usually, we focus on whatever makes sense to us and that we wished that Element had that's in our scope to implement.
Now, since everybody will ask anyway what changes exactly we make, I'll try to maintain an updated list here. Some highlights of what has been done so far, apart from some mandatory theme and design changes to better match our taste:
- Floating date header while scrolling messages
- Sort room list by unread rooms first
- Render media captions in accordance to MSC2530
- Render server-reported unread counts, including support for MSC2654 (if both your homeserver and your sliding-sync proxy support this MSC)
Furthermore, I'm currently working on filtering the room list by spaces, since this feature has become a must-have for me, but upstream space support is not expected to land soon. I already added some basic implementation for hierarchical space filtering as experimental feature in current test builds. However, there's still work remaining, like properly reporting the filtered room list to the sliding window for sliding sync, respecting the user-chosen space sort order, and fixing remaining bugs.
If you already want to try out SchildiChat Next before it's ready for a stable release, it's currently available in my F-Droid testing repository. For discussion, you can visit our matrix room at #android:schildi.chat .
Fractal (website)
Matrix messaging app for GNOME written in Rust.
Kévin Commaille says
Fractal 6 is up and ready!
That's right, barely 2 months after Fractal 5, we feel there have been enough improvements to grant a new stable release. You have probably noticed that we have adopted a version scheme similar to GNOME and will bump the major version with each new release.
The list of goodies:
- Fractal can open Matrix URIs, it is even registered as a handler for the
matrix
scheme- The verification flow was rewritten, hopefully solving most verification issues
- Room members can be kicked, banned or ignored from their profile
- More notifications settings, global or per-room, were added
- Times follow the format (12h or 24h) from the system settings
- Tab auto-completion also works for mentioning public rooms, just start your query with
#
It is available right now on Flathub.
This version is fully translated into 6 languages 🙌️ and we hope to get even more 📈 for the next one! Head over to Damned Lies if you want to give a hand.
We would also like to thank our new and returning contributors and our upstream projects.
For our next iteration, we already have a bunch of accessibility improvements waiting, and we plan to continue improving the room settings and the moderation features. Any extra work from you 🫵️ will be highly valued!
Element X Android (website)
Android Matrix messenger application using the Matrix Rust Sdk and Jetpack Compose
benoit announces
- We have released the version 0.4.1, more details about what's new in the release notes. Will be in production next week.
- Also working to publish the application to F-Droid, with support for push with UnifiedPush.
Dept of SDKs and Frameworks 🧰
Matrix Rust SDK
bnjbvr reports
- Support for notifications in invited rooms has been added, thanks to zecakeh.
- Failing to toggle a reaction will now properly report the error to the caller.
- Many fixes and improvements in the crypto crates, notably for better Web support with indexeddb.
- Read statuses for rooms are now properly computed client-side, giving better counts than homeservers can compute, viz. for encrypted rooms.
- New commit and pull requests guidelines have been added to the contribution guidelines.
matrix-nio
Paarth Shah says
New release of
matrix-nio
! Most notable change is that some minimum dependencies have been bumped (for compatibility/security purposes), and as a resultpython3.12
is now fully supported and tested! Full changelog here
Trixnity (website)
Multiplatform Kotlin SDK for Matrix
Benedict reports
Trixnity v4.2.0 has been released with some polishing.
features/improvements:
loginWith
automatically gets profile information, which makes custom login easier- allow gracefully stopping ongoing sync request
- BREAKING: cleaner hierarchy of
RoomMessageEventContent
- introduced
FileBasedInfo
ActiveVerifications
as interface to allow mocking- don't force type in MessageBuilder extensions
Dept of Ops 🛠
Dendrite-Admin-Interface (website)
jjj333_p (any pronouns) announces
Dendrite-Admin-Interface is in its third release, v0.0.3, and what I consider useful to some public/group instances of Dendrite.
What this includes: Along with the evacuate user/room command previously announced, there is now a convenient reset password command as well as a deactivate user command. The deactivate user command is particularly useful as this feature does not exist natively in the Dendrite admin api, and it is able to set the user display name and profile image to something sanatized and indicative of a deactivated user for clarity--on par with industry standard chat platforms. Oh and I finally wrote up proper documentation for setting it up lol.
What is to come?
- Media moderation - audo deletion, as well as manual deletion of users. when added to deactivate user command, this should comply with as close to a gdpr delete as we will get on the matrix platform.
- Regex based user listing and deactivation - as per popular demand, one of the soon coming features for the interface to be able to fetch active users from the database (read only) and then perform mass actions on those, useful in situations such as spam bot attacks.
Remember to drop by our Github and throw your feature requests into an issue!
matrix-docker-ansible-deploy (website)
Matrix server setup using Ansible and Docker
Slavi announces
After an insane amount of work, which we had been procrastinating on since matrix-docker-ansible-deploy's initial migration to Traefik last year, we're finally saying goodbye to the
matrix-nginx-proxy
component.This change represents a huge refactoring, not only in how services get exposed publicly (reverse-proxy-wise), but also in cross-container networking, Prometheus-metrics exposure, and other areas.
matrix-nginx-proxy
has been very central to the Ansible playbook during its 7 years of life, performing at least 7 different roles and thus going against the UNIX philosophy of "doing one thing and doing it well". We're happy to have untangled that whole mess and to finally see it gone! May it rest in peace! 🪦
Dept of Bots 🤖
Draupnir (website)
Gnuxie 💜🐝 announces
Draupnir, which is a moderation bot that Matrix communities use to collaboratively protect each other, is now licensed under the AFL-3.0 which is an OSI approved license. Previously Draupnir was licensed under the Cooperative Software License, details for the license change can be found here. Docker images are now built with Node 20, though using Draupnir with Node 18 from source is still supported and will be for the foreseeable future. Both these changes come with the release of Draupnir 1.86.0, the full details of which can be found here.
You have probably noticed that it has been three months since the last release, and this is because I have been extracting and rearchitecting the core of Draupnir (and Mjolnir) into a TypeScript library which Draupnir will depend upon in an upcoming release. This library is called the matrix-protection-suite and is being developed specifically to express Draupnir's core concepts concisely. In my view, it has become necessary to create this library because it has been very difficult to maintain or consider adding features which lay on a foundation that is limiting, and it is simpler to attempt to remedy that before addressing the bigger issues that Draupnir and Mjolnir have. Each change to Draupnir can (and often does) exacerbate or complicate existing issues, and this is mostly natural to software as it ages.
With that, you can come find us in https://matrix.to/#/#draupnir:matrix.org. I also want to thank everyone who has been providing support for others using Draupnir both within https://matrix.to/#/#draupnir:matrix.org and elsewhere.
Dept of Events and Talks 🗣️
HarHarLinks announces
It is This Week in Matrix 2024-01-19, and that means it is only 2 more TWIMs until FOSDEM 2024!
This is a reminder that on Friday (2024-02-02) afternoon leading up to FOSDEM, the Matrix Foundation and Community will host a FOSDEM Fringe event called #fosdem2024-foundation-community-meetup:matrix.org at and with the support of Hackerspace Brussels!
Further, there will be a booth on the floor and a main track talk on Sunday morning followed by a whole afternoon of Matrix presentations in the Matrix devroom.
So, in case you haven't yet, this is your reminder to book your journey and accommodation, and meet you in Brussels!
Read Thib's blog post for all the details at https://matrix.org/blog/2024/01/matrix-presence-fosdem/.
Dept of Guides 🧭
Matrix Client Tutorial
uhoreg reports
I've completed the initial draft of the Megolm encryption section of my client tutorial. In contrast to the previous section I wrote on Megolm encryption, this section is higher-level, and shows how outbound Megolm sessions are managed and sent. Up next will be a section on properly handling
m.room.encryption
events, and a simple example bot that handles encryption.
Matrix Federation Stats
Aine announces
collected by MatrixRooms.info - an MRS instance by etke.cc
As of today,
8492
Matrix federateable servers have been discovered by matrixrooms.info,2323
(27.4%
) of them are publishing their rooms directory over federation. The published directories contain167178
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 | envs.net | 221.5 |
2 | nerdhouse.io | 294 |
3 | plocki.org | 324 |
4 | fostered.uk | 348 |
5 | ilmari.org | 514.5 |
6 | sulian.eu | 543 |
7 | shema.lv | 752 |
8 | matrix.sp-codes.de | 802 |
9 | rom4nik.pl | 922 |
10 | herkinf.de | 932 |
#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 | nerdhouse.io | 127.5 |
2 | dendrite.s3cr3t.me | 159 |
3 | matrix.its-tps.fr | 182 |
4 | matrix.maymundere.org | 219 |
5 | dendrite.matrix.org | 305.5 |
6 | inu.is | 310 |
7 | neshweb.chat | 324 |
8 | darkness.services | 531 |
9 | herkinf.de | 936.5 |
10 | jpeg.city | 1011.5 |
That's all I know
See you next week, and be sure to stop by #twim:matrix.org with your updates!