matrix.org/content/blog/2024/07/2024-07-05-twim.md

18 KiB
Raw Permalink Blame History

+++ date = "2024-07-05T19:30:00Z" title = "This Week in Matrix 2024-07-05" path = "/blog/2024/07/05/this-week-in-matrix-2024-07-05"

[taxonomies] author = ["Thib"] category = ["This Week in Matrix"] +++

Matrix Live

{{ youtube_player(video_id="SlXwdtVdQUA") }}

Dept of Status of Matrix 🌡️

Thib (m.org) announces

The enthusiasm around The Matrix Conference is simply mind-boggling! In less than 2 weeks, the project leads of state-sponsored deployments, key digital rights activists and the Matrix community at large sent us more than 60 high-quality proposals 🤯

We're really excited to help the key players in the ecosystem meet in Berlin, and I can't wait to see the fantastic talks people are working on. While the team works on producing a proper schedule for it, organisations that want to increase their brand awareness in the Matrix Ecosystem can still sponsor the conference. Let your marketing department know, pass them our sponsorship brochure!

Dept of Spec 📜

Andrew Morgan (anoa) {he/him} 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:

  • No MSCs were closed/rejected this week.

Spec Updates

Below are the MSCs which were on Tuesday's pings, and their current status:

Random MSC of the Week

The random MSC of the week is... MSC1607: Proposal for room alias grammar!

An effort to specify what characters are and aren't allowed in room aliases. Written before the current spec process (and in RST!). If you're interested in having the identifiers in Matrix be more formal, perhaps consider giving this MSC a poke?

Dept of Servers 🏢

Synapse (website)

Synapse is a Matrix homeserver implementation developed by Element

Devon Dmytro announces

This week Synapse v1.110.0 was released. With it came more work towards native sliding sync support (#17187, #17301), experimental support for account suspension, support for the unstable MSC4151 report room API (#17270, #17296), and a whole lot more!

Thank you to all our contributors and those who test our release candidates! 🙂

conduwuit (website)

conduwuit is a very cool, featureful, well-maintained fork of Conduit

Release 0.4.4

Hi everyone! It's been a while since a conduwuit TWIM post and some releases since then. Today 0.4.4 was released, but there have been some cool features in some earlier releases.

The most notable one is conduwuit's introduction of both a CLI console, and a publicly usable prefixed/escaped admin command interface. The v0.4.3 release page has detailed information and screenshots with it all.

Public escaped admin commands allow any server admin to run in any public unencrypted room admin commands and return their outputs. The most common usages currently are server moderation, pinging servers, echoing text, restarting your server, and displaying your uptime, but any admin command can be ran. The amount of admin commands that have potential to use this are being expanded.

The addition of a console interface allows administration of conduwuit from a CLI context, being able to run admin commands and receive their outputs even in colour and highlighting. This stemmed from a developer need of testing net-new admin commands faster without a client, but has plenty of valid uses for normal users too, including potential automation or remote administration without interacting with the Matrix API and your admin room.

conduwuit 0.4.4 has also significantly improved performance, noticeably in the form of ping times, and likely various other user-facing features. Some long-standing user-facing database bugs were also fixed that resolved some client issues.

GitHub Releases | Docker Hub | NixOS

Liberapay | GitHub Sponsors | Ko-fi

Chat with us in #conduwuit:puppygock.gay

Dept of Clients 📱

chooj

Farooq [MR. Potato] announces

After several weeks of no update, there are some good ones in chooj, the Matrix client for KaiOS. The most important new feature is that you can now send Pictures in chooj. Other attachments types such as Videos and Files are in TODO list. There are other smaller changes on the way, too. Like setting display name and avatar, push notifications and some others. More importantly, chooj is finally in the verge of getting published to KaiStore. KaiStore requires integrating KaiAds, so if there are many users, there will be a source of revenue for the project to live on. However, chooj won't show ads if users don't want to see them. If you are interested in helping with the KaiStore publishing and have a device with KaiStore installed, you can send your IMEI to Farooq to add your device to testlist. chooj will still be available for sideloading from BananaHackers store for those who prefer a no ad privacy focused version. At the end, don't forget to join #chooj:mozilla.org

Kazv (website)

kazv is a convergent matrix client and instant messaging app.

tusooa says

kazv 0.4.0 features a lot of updates and bugfixes. The main highlights are supporting mention completions, user-given nicknames (MSC3865), and supporting Qt6 and KF6. This also means that we can again build on Windows. After v0.4.0, support for Qt5 and KF5 will be dropped. See the release notes page for a video showing the autocompletion feature.

Fractal (website)

Matrix messaging app for GNOME written in Rust.

Kévin Commaille reports

Its been all over the news, so you probably already have heard about whats happening in France, but in case you havent yet: a new Fractal beta just dropped!

What have we been up to for Fractal 8.beta?

  • Mentions are sent intentionally
  • Authenticated media are supported
  • Draft messages are kept per-room
  • The verification and account recovery processes have been polished
  • HTML rendering should be more robust, as we switched to the same library already used by the Rust SDK to cleanup tags in messages
  • Speaking of HTML rendering, code blocks gained syntax highlighting, lists can be nested, numbered lists can start from an arbitrary number, the details tag is supported, and @room mentions are detected and rendered with a pill

As usual, this release includes other improvements, fixes and new translations thanks to all our contributors, and our upstream projects.

It is available to install via Flathub Beta, see the instructions in our README.

As the version implies, there might be a slight risk of regressions, but it should be mostly stable. If all goes well the next step is the release candidate!

As always, you can try to fix one of our issues. 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+.

Doug announces

  • Version 1.6.13 is available on TestFlight, it adds:
    • Support for editing local echoes.
    • Support for discovering an Element Call widget URL.
    • The composer remembers your current message after choosing to edit a different one.
    • All calls should now be donated to the phones call list.
    • The timeline will potentially be quicker in rooms you open and close a lot.
  • Weve also been working on Authenticated Media support in Element iOS.

Element X Android (website)

Android Matrix messenger application using the Matrix Rust SDK and Jetpack Compose.

benoit says

  • EX Android v0.4.16 is in review by the Play Store! You can take a look at the changes here:
    • New draft support, no more lost not sent message
    • New Avatar rendering for DM detail page
    • Element Call now following application theme and locale.
    • And many bug fixes

Dept of SDKs and Frameworks 🧰

Trixnity (website)

Multiplatform Kotlin SDK for developing Clients, Bots, Appservices and Servers

Benedict says

I upgrade Trixnity to Kotlin 2.0 this week and added Kotlin Multiplatform support for the Room database.

Matrix Dart SDK (website)

Matrix SDK written in pure Dart.

td announces

meep quick update, matrix 0.30.0 released since the last post, here's a summary:

v0.30.0

General

We made quite a few fixes on how last events are stored (these are the last visible events you can quickly see in your rooms list).

  • Room last events now automatically update if a UTD message is successfully decrypted later.
  • They now also correctly show a redacted state if their parent event (relationship_id) was redacted.
  • In the earlier versions we tried to consolidate our network exceptions under oneMatrixConnectionException type. Unfortunately this did not work out and we have removed it now to avoid confusion.
  • Support for JWT authentication. (thanks to: Ray Wang)
  • Not uploaded inbound sessions are stored separately now to optimize loading inbound group sessions on client startup. In practice this improves the SDK performance significantly.
  • We also deperacated a few streams such as onAccountData, onGroupMember, room.onUpdate in favor of the more powerful client.onSync stream.
Security
  • The getDownloadLink did not validate non-mxc links properly which could lead to IP leaks.
  • Some state events could be reapplied when fetching history. This would result in some fun/nasty errors like losing your powerlevels or having an older powerlevels version. This applies to all room state events so if your clients face something related a clearCache should fix it. In the future we will try to implement something in the SDK which handles this clearCache part by itself.
MatrixRTC
  • We now expose a matrixRTCEventStream stream which you can listen to for events. For now these include events related to participant changes. Expect this to be a breaking API as we add more to it in the near future.
  • You can now pre-share your encryption keys for a group call, f.ex you can do this on your group call onboarding page which improves UX.
  • Fixed our ICE restart mechanism, this massively improves connection results for 1:1 and mesh calls.

That's it for now, until next time! bye byee 👋

Libkazv (website)

libkazv is a matrix client sdk built upon lager and the value-oriented design it enables.

tusooa announces

libkazv 0.6.0 features many optimizations and fixes. First of all, the handling of room events not yet decrypted are optimized so that the session ids of undecrypted events in a room are collected in a map, and the session id will be first checked for existence before trying to decrypt. This drastically decreases the time needed for one tick of the main event loop that involves decryption, from about 1s to almost instantaneous, which means you now get notifications for new messages in almost no time. See more details in this diff. We now also conform to the spec by not validating the sender key and sender device id in MegOlm-encrypted messages (they are still validated in Olm messages). This corrects the behaviour when we see an encrypted message of which the sender's device is removed or just not there at all (for example, this may happen for bridges). Lastly, there are improvements in test coverage, from 71% to 74%.

Dept of Events and Talks 🗣️

Matrix Events

MTRNord (they/them) announces

A list of Matrix Events!

For a long time (and still) I struggled to figure out where which matrix related events happen. TWIM has a category for this, but events quickly disappear and can't be added via ical to my calendar. Therefor, I decided to start a list similar to what https://foss.events provides for the wider foss world.

You can find it at https://matrix-protocol.events Additionally, there is an ical endpoint available at https://matrix-protocol.events/calendar and a json endpoint at https://matrix-protocol.events/events.json - Take a look at the About page for the details around the licenses involved.

Feel free to reach out to report bugs or wishes or add (your) events to the list by contributing at https://codeberg.org/matrix-events/matrix-protocol.events

Matrix Room: #matrix-protocol-events:midnightthoughts.space

Matrix Federation Stats

Aine says

collected by MatrixRooms.info - an MRS instance by etke.cc

As of today, 9587 Matrix federateable servers have been discovered by matrixrooms.info, 2936 (30.6%) of them are publishing their rooms directory over federation. The published directories contain 161187 rooms.

Stats timeline is available on MatrixRooms.info/stats

How to add your server | How to remove your server

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.

Rank Hostname Median MS
1 doctoruwu.uk 227
2 girlboss.ceo 242
3 conduwu.it 277
4 awawawawawawawawawawawawawawawawawawawawawawawawawawawawawawaw.gay 292
5 uwu.sulian.eu 341
6 craftingcomrades.net 361
7 matrix.org 412
8 plocki.org 505
9 fs.tum.de 515
10 transfem.dev 797.5

#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 conduwu.it 101
2 doctoruwu.uk 103
3 girlboss.ceo 113.5
4 uwu.sulian.eu 123.5
5 awawawawawawawawawawawawawawawawawawawawawawawawawawawawawawaw.gay 145.5
6 matrix.its-tps.fr 256
7 spritsail.io 269.5
8 inu.is 309
9 transfem.dev 399.5
10 puppygock.gay 497.5

That's all I know

See you next week, and be sure to stop by #twim:matrix.org with your updates!