πŸ”—Matrix Live S13E01 - Image Packs

πŸ”—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:

Closed MSCs:

  • No MSCs were closed/rejected this week.

πŸ”—Spec Updates

Matrix v1.19 released this week! Check out the release blog post for the full details. Exciting improvements include allowing clients to look up and display rooms you have in common with another user, custom emoji and sticker packs and proper history sharing when joining encrypted rooms.

Otherwise the spec process is red hot with many new MSCs opened this week. Remember that anyone can contribute a review to an MSC, so why not take a look at the list of open proposals and weigh in on any that strike your fancy?

πŸ”—Dept of Events and Talks πŸ—£οΈ

HarHarLinks announces

πŸ”—Stammtische (website)

A Stammtisch ("regular's table") is a German meetup format where those with a shared interest meet regularly for discussion, exchange, and socialising. Find more community organised events at https://matrix-community.events!

πŸ”—Dept of Working Groups πŸ’ͺ

πŸ”—Website & Content Working Group (website)

The Website and Content Working Group is responsible for the editorial and technical oversight of the main Matrix websites and social media channels.

MTRNord (they/them) reports

The Website & Content WG has some new and hopefully exciting updates for the website to share!

  • Andy Piper joined the Working Group in his position as the new Thib and has started to take over the TWIM duties as part of this.
  • There has been a major overhaul of the try-matrix page in April
  • We added a new TWIM and Blog post section to the frontpage
  • The ecosystem pages have got an overhaul which should make them more consistent and fixes various longstanding issues with the layout of the cards
  • The client feature list has got an overhaul which now splits stable and experimental features, adds descriptions to them, added support for unknown and partial support of a feature and also adds new features to the list. If you are a client developer, it might be a good time to check if your client entry can be updated to reflect these new features. This project is a bigger ongoing project still. If you are interesting in learning more about whats yet to come have a look at the epic.
  • We also decided to drop the "latest_release" field on the clients since currently it was very difficult to keep it updated, which caused more issues than it actually ended up solving.
  • The Getting Started docs have been extended to also explain the MXID
  • Various clients and servers have been added and updated
  • We did various updates to dependencies and general documentation maintenance within the repository
  • Published a poster for anyone to print if they would like to advertise matrix

Additionally, there is movement again on the issue regarding auto refreshing client data. It would be appreciated if Client developers and server developers could have a read and share their opinion on the proposal made as it not only affects us but also you as the community.

πŸ”—Dept of P2P πŸ‘₯

Matthew announces

P2P Matrix is back. It's early days and we haven't had a chance to do a proper blog post yet, but we debuted it at DWebCamp yesterday and https://arewep2pyet.com got a quick update. The current approach is Element X Android talking to a new tiny embedded server called Neutrino, which in turn talks mesh Matrix via CoAP over Iroh over Bluetooth Low Energy. It's explicitly not yet secure and ready for use on untrusted networks, but it's fun for demos (highly experimental armv8 apk here) and gives an idea of where the new work is headed! Huge thanks to the Dutch Government for funding Element to resume work on P2P Matrix again \o/

πŸ”—Dept of Servers 🏒

πŸ”—Tuwunel (website)

Enterprise successor to conduwuit, the high-performance and feature-rich fork of Conduit.

june ✿ πŸ³οΈβ€βš§οΈ (it/she/puppy) announces

Tuwunel 1.8.1 teaches the homeserver to speak the Synapse admin API. Point existing admin tooling at a Tuwunel server and the user, room, media, device, and token endpoints answer, plus room deletion, purge, and background-task tracking. iwalkalone69 asked for this, and the user endpoints now include listing a user's joined rooms, raised by ngophuocloi-miracle-aavn.

Threads got a real workout. The threads list (MSC3856) now orders by latest activity, honors an include=participated filter, serves per-requester views that respect ignored users, and carries each thread's newest edit on its latest_event. Threading itself is stable now, advertised in /versions with related-by filters and nested relations refused at send.

Spaces got two fixes people will feel. sdenike reported that spaces silently vanished from sliding sync where Synapse showed them (MSC4186), and Lazalatin noticed space-visible rooms missing from the overview for new members. Both are back. balintbarna caught OIDC and LDAP registration breaking when configured together, syobocat got Tuwunel building on FreeBSD again, and Wanja-L flagged the missing MatrixRTC Docker docs.

basnijholt landed a configurable default power level for new rooms and taught OAuth to fall back to Apple id_token claims when userinfo fails. dasha-uwu enforced user suspension at the API boundary and closed an unauthenticated TURN path. Tuwunel can now act as its own identity provider through native OIDC registration and login, requested by temp1403-oss. June made the startup database migrations faster and kept long ones from tripping systemd's start timeout, and shipped a signed SECURITY.md. Federation delivery is steadier too, with EDUs that persist until acknowledged.

Full release notes: https://github.com/matrix-construct/tuwunel/blob/af3b4ad4c/RELEASE.md


πŸ’• GitHub ✦ Releases ✦ DockerHub ✦ Playbook ✦ Containers ✦ Documentation πŸ•οΈ Tuwunel πŸ’•


πŸ”—Dept of Clients πŸ“±

πŸ”—Tesseract (website)

Marco says

First things first: CALLS! This was the very first question asked in Tesseract's room so I couldn't resist. It's not enabled by default yet (it needs a lot of testing), so the installers don't have it. But if you build from source, you can try it if you run cmake with -DTESSERACT_ENABLE_CALLS=ON. So, anyone with a running MatrixRTC/LiveKit setup is welcome to help with the testing :)

These are fully native calls, tested in all three platforms, against Element Web and Element X. But there is only so much testing one can do talking to oneself. Screen sharing is also there, but that was a whole different beast, so YMMV.

The video capture code allowed adding a nice /selfie command (which does not require a build flag)

Besides that, other highlights are:

  • Initial version of room settings.
  • Lots of performance fixes and optimizations
  • Detect bridged rooms (shown in the room info panel) via MSC2346
  • Show room join/leave events
  • Space root summaries.
  • Properly linkify media captions.

πŸ”—Element X Android (website)

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

Benoit announces

v26.07.0 is out this week!

Highlights:

  • Mark all as read: a new button lets you instantly mark all messages in a room as read, contributed by a new community contributor (@hghgrtut β€” welcome! πŸŽ‰)
  • RTL text support: the app now detects right-to-left text in messages and adjusts rendering accordingly, improving the experience for Arabic, Hebrew, and other RTL languages
  • Notification privacy: message content is now hidden in notifications when the app is locked by a PIN code
  • Accessibility improvements: several fixes landed for TalkBack users, covering the chat search field, message composer, and video/image previews

In development, we're working on media gallery Event to send several attachments at once and for viewing them, and a "scroll to unread messages" feature.

πŸ”—Dept of Interesting Projects πŸ›°οΈ

πŸ”—matrix-jukebox (website)

bgt lover reports

Matrix-jukebox is a matrix RTC compatible application which playes music inside calls, for example as started by element call

This is a long time coming, so a relatively large feature was packed in this one

πŸ”—A web interface

For a long time, the jukebox bot wasn't a jukebox in fact, because all it did is play noise in a call. With the recent commit, this is no longer the case. Now, we have a web interface which allows people to upload songs to the jukebox, which will then be played in the matrix RTC call instead of just noise.

warning: because as of now there's no authentication, anyone with access to the webpage can upload songs, so treat this as a proof of concept while I try to not reinvent authentication and yet another user account system.

πŸ”—How it works

You go to the address specified in your configuration file with your web browser of choice, for example http://localhost:5555, then type a name and select an audio file, then click upload to queue. A progress bar will indicate the upload progress, so if it gets stuck for example, you know. Once you uploaded a track, you will be given the opportunity to upload another.

You can add more than one song in the queue, and the bot will automatically play the next track after the previous one finishes. Also, the bot will periodically announce in the room which track is playing as the transition happens.

πŸ”—Commands

To make proper jukebox functionality possible, the following commands were added:

  • play: will start playing the current track, or resume it after it was paused. The bot will reply with the result upon completing the command, and if there's nothing in the queue to play, it will say so
  • stop: pauses playback, use play to resume. Likewise, the bot will announce when playback stopped
  • skip: if there are more tracks in the queue, the bot picks the next track, announcing its name as a reply to the command issuer
  • quit: if the bot is joined to a matrix RTC session, this command leaves the call

warning: the exact format of the commands depends on the prefix variable in the bot section, so check your configuration files. In the example config file, it's set to !

πŸ”—New config section

This update comes with some updates to the configuration file, check the example file for details. The section that was added is called web, which will host more web configuration in the future. For now, it only contains a variable called bind, which is a string made of the address and port the bot should listen on, example value is 0.0.0.0:5555

πŸ”—Testing

Unfortunately, there's no tag yet, because this is very alpha software. Therefore, clone the repository at the latest commit, that way you will get the most recent changes. After you compiled the project and made sure it runs, you should see an error about the lack of a config file. Copy the example file from docs/config.example.yaml into config.yaml, make the necessary changes, then run it.

For more information about matrix-jukebox, the repository is at

https://codeberg.org/esoteric_programmer/matrix-jukebox

Happy hacking!

πŸ”—Matrix in the News πŸ“°

networkException says

Connected Places wrote an interesting article about Matrix, rooms and the social web (as part of a series about Matrix): https://connectedplaces.online/decrypting-matrix-where-rooms-go/

πŸ”—Matrix Federation Stats πŸ“Š

Aine [etke.cc] says

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

As of today, 19634 Matrix federateable servers have been discovered by matrixrooms.info, 4178 (21.3%) of them are publishing their rooms directory over federation. The published directories contain 20301 rooms.

The most popular server software among the online servers is:

  • synapse: 15465 (78.8%)
  • continuwuity: 1610 (8.2%)
  • conduit: 575 (2.9%)
  • dendrite: 320 (1.6%)

Stats timeline is available on πŸ“Š MatrixRooms.info/stats

🧩 Integrations with apps and servers | πŸ’œ Support the project | πŸ‘‰ 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.

Join #ping:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.

RankHostnameMedian MS
1continuwuity.org159
2prisma.moe220
3nerdhouse.io230.5
4vrkknn.net241
5raccoon.cafe269
6zirco.dev279
7ellis.link293
831a05b.net303
9cisnt.uk306
10nhjkl.com316

πŸ”—That's all I know

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

To learn more about how to prepare an entry for TWIM check out the TWIM guide.

The Foundation needs you

The Matrix.org Foundation is a non-profit and only relies on donations to operate. Its core mission is to maintain the Matrix Specification, but it does much more than that.

It maintains the matrix.org homeserver and hosts several bridges for free. It fights for our collective rights to digital privacy and dignity.

Support us