❌

Reading view

There are new articles available, click to refresh the page.

This Week in Matrix 2024-11-22

By: Thib

Matrix Live

Today's Matrix Live: https://youtube.com/watch?v=O_bChwDHE3U

Dept of Status of Matrix 🌑️

Thib (m.org) announces

We want to know everything about the bugs you squashed, the features you developed, and the docs you wrote. And even better, not only do we want to know about it, we want you to tell the Matrix community about it during our FOSDEM Fringe event, or even to tell the world about it in our FOSDEM Devroom!

Our Call for Proposals is still open for the DevRoom until December 1, so don't miss your chance to advertise your project!

But we're not limiting our presence to a DevRoom, we will also organize a fringe event before FOSDEM and have a booth during the wole event. Want to grab a limited edition T-shirt? Now's your chance to sign-up and help us staff the booth. All details are in our blog post.

Dept of Spec πŸ“œ

TravisR 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:

  • No MSCs are in FCP.

Accepted MSCs:

  • No MSCs were accepted this week.

Closed MSCs:

  • No MSCs were closed/rejected this week.

Spec Updates

The SCT continues to work towards the next spec release, expected in mid-December with Account Suspension, backwards compatibility for captions, and likely some further work towards Matrix 2.0 in the form of crypto MSCs.

Folks are encouraged to raise their MSCs for review in the SCT Office as soon as they feel it's ready for broad review. This helps ensure there are minimal process delays, and feedback can be incorporated into the feature design early. This is especially important for Matrix 2.0 MSCs, which the SCT hopes to be able to release in the new year.

In other news, the SCT had its last workshop this week to set expectations for how the team works. Next steps here are to compile conclusions into a document, check everything over, then find a place to ship that document for everyone to read. This effort has been important to help ensure the SCT is most effective at what it does, and identifying areas where the Foundation more broadly may be able to help. Watch this space for updates.

Dept of Servers 🏒

Synapse (website)

Synapse is a Matrix homeserver implementation developed by Element

Olivier 'reivilibre' says

Hello! Synapse 1.120.0rc1 was cut this week, with Synapse 1.120.0 intended to be released next week. A noteworthy change in this version of Synapse is that authenticated media will now be enforced by default. For people running homeservers that want to gracefully support older clients and older federated homeservers (which still make unauthenticated requests for media), you might still want to turn this enforcement off; see the upgrade notes for details.

With that said, for homeservers in the open federation, it's worth noting that matrix.org has been running like this since September, so by now it's very likely that most clients and homeservers already support authenticated media and there'd be no need to turn it off. This option will likely vanish in the future, but we're not yet sure when. Track this issue if you're interested.

Dept of Clients πŸ“±

Tammy

Benedict says

Tammy 1.0.4 has been released with a bunch of improvements. We added a nice wizard for account setup after initial login. We also introduced sharing media into Tammy on Android. Web does support emojis and file upload/download now and therefore is on its way out of the Beta. Of course, we have also fixed a few bugs.

kazv (website)

kazv is a convergent matrix client and instant messaging app.

tusooaπŸ”οΈ says

kazv 0.6.0 is released. It depends on libkazv v0.8.0 which has fixed a security vulnerability. It also comes with many new features such as better support for stickers, reactions, and media file handling.

Element X Android (website)

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

benoit reports

  • Element X Android v0.7.4 is on the PlayStore (beta channel). Please see the changelog here: https://github.com/element-hq/element-x-android/releases/tag/v0.7.4. Will be pushed to prod on Monday.
  • Working on media caption at the moment: users will be also able to write a caption for files and audio files. They will be rendered in the timeline. Also it will be possible to add a caption after the media has been sent. Removing a caption or editing a caption will be possible too
  • Making progress on room knocks AKA ask to join. There is still work to do on the SDK and the application is getting the latest polish.
  • We are also fixing bugs and recent regressions among our 170k+ SLOC.
  • Last but not least, the send button has been refreshed and is now very glossy!

Extera

OfficialDakari announces

Today, new development version of Extera is out - 1.0-DEV-D5XQW.

Here is what changed since last TWIM post:

  • New versioning scheme. We rolled back to 1.0 and started marking development versions with date in 36-richered number system. A first stable release is soon.
  • Changed reaction colors. Not very heavy change, but improves usability a lot.
  • Removed backdrop blurs in dialogs. They were unnecessary and didn't fit in the UI.
  • Added more animations. Opening emojiboard now has an animation for it.
  • Remade polls. Polls were Extera's first feature, which I added when I didn't know React as good as now. Fixed displaying vote counts, ending polls etc.
  • Added sending polls. Back in summer, when polls were only added, you could only receive & vote in polls. Now Extera can also send polls.
  • Also, we made a few changes to our website and opened it's source code.

The latest version is already live at app.extera.xyz. Source code is always available here.

Dept of Widgets 🧩

Matrix Widget Toolkit (website)

Michael Weimann (n.io) says

Matrix Widget Toolkit is a framework for creating Matrix widgets.

We have released new versions of our matrix-widget-toolkit packages.

Highlights

🎨 Better Element Web design integration: Element Web is currently the most commonly used hosting client for widgets. At the moment, Element Web is moving the designs towards the Element Compound design system. In this toolkit release, the primary (green) and error (red) colours and the avatar colours have been matched with the Compound design system.

πŸš€ To the future: The popular lodash library seems to be unmaintained. Also nowadays many functions are built in to the ECMAScript standard or Browser APIs. We therefore decided to remove the lodash dependency. Most uses are replaced by native functions. What could not be replaced is now provided by a utils module in each package. Last but not least, one less dependency.

All the packages can be found in the releases section of our repo.

You can see a demo of what the toolkit can do using our demo widget.

If you have any questions or feedback, please reach out to us using our public room #nordeck:matrix.org.

Dept of VoIP πŸ€™

Element Call (website)

Native Decentralised End-to-end Encrypted Group Calls in Matrix, as a standalone web app

Robin says

Hello TWIM!

You may be wondering: "Why hasn't there been a post from the Element VoIP Team in so long?" A fair question! We've been asking ourselves the same, especially since so much has happened. Over the past month, we've been deep down the rabbit hole, working hard to solidify the Element Call experience.

Our mission? To banish issues like gray tiles, missing participants, and lost mediaβ€”for good! (Well, at least issues we can identify and control…)

This behind-the-scenes work wasn't exactly flashy, but it was crucial. Here's what we've been tackling to make Element Call more stable than ever:

  • Encryption key issues: Fixes to ensure keys don't get lost between the client and widget.
  • State resolution complexities: Matrix state resolution can lead to scenarios EC struggles with. While Simplified Sliding Sync helps here, getting everything to work as reliably as we need for EC took some work.
  • Edge case fixes: Numerous small changes in widget communication and the SPA (Single Page Application) to iron out tricky corner cases.

Looking forward, these foundational improvements open doors for bigger stepsβ€”like making EC more secure and fully leveraging its Matrix backing.

Other key updates:

  • We've improved mobile ringing, though there's still work ahead making DM calls behave like a telephone call.
  • Load times for the widget and app have been significantly improved, making calls snappier to start.
  • Tiles now stay in a stable order to make for a more focused call experience.

With all that groundwork laid, let's get to the fun stuff !

New FeaturesπŸŽ‰

Our latest release introduces several usability enhancements and fun additions that make calling over Matrix even better:

  • Fast camera switching: on mobile. Easily switch cameras with a dedicated button.
  • Emoji reactions! πŸ‘πŸ€˜πŸ±πŸΆ With playful sound effects that keep the mood lighthearted.
  • Raise hand feature: Now you can raise your hand during calls! (Includes an experimental timerβ€”feedback welcome on whether it's helpful or confusing.)

Exciting Milestones

Even on stable Element Web, you can now start an Element Call-based callβ€”a huge step forward for the quest to ship MatrixRTC!

Not all of our recent stability improvements have made it into this release (some depend on Synapse, JS-SDK, or other updates), but we're taking care to roll them out thoughtfully to ensure a smooth experience.

Now's a great time to give Matrix calling a try! Jump into Element X or even stable Element Web and start a call. We can't wait to hear your thoughts.

Happy calling! πŸš€

Dept of SDKs and Frameworks 🧰

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

bnjbvr says

@this-week-in:matrix.org

We have released a new version of the Matrix Rust SDK this week: you can now update it to version 0.8.0!

This is the first version we're releasing using our brand new release process, so changelogs are still a bit rough, but this new release process should also help with hopefully getting more frequent releases (with fewer large breaking changes, better changelogs over time, etc.).

Notable new changes include:

  • There are new APIs in town to observe the latest event of a single type: Client::observe_events and Client::observe_room_events (docs).
  • The media cache has been moved over to a new store, called the EventCacheStore; it may be configured when creating a new client using StoreConfig::event_cache_store.
  • The send queue now has the ability to upload medias, and reflect ongoing uploads as local echoes.
  • The implementation of invisible crypto is moving along nicely, with new methods to pin a UserIdentity, listen to identity changes etc.

Full changelog for the main crate. Note we now have changelog files for every other crate we do publish.

libkazv (website)

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

tusooaπŸ”οΈ announces

libkazv 0.8.0 is released. It uses the vodozemac crypto library instead of the deprecated olm, and fixes a security vulnerability that might have allowed the replacement of the session key of a megolm session. There are also several small enhancements.

Elm SDK (website)

A more consistent alternative to the matrix-js-sdk, written in Elm.

Bram says

Elm SDK beta 3.6.1

The Elm SDK has a patch update, fixing trailing slashes at the end of the URL.

Most of the work for the Elm SDK is fixing bugs where the spec doesn't match the ecosystem. Synapse doesn't sanitize user IDs over federation, for example, which leads to unspecified JSON results. This is currently in the testing phase, but this refactor means a second patch update might appear soon.

  • ❌️ Downside: This means more work for me.
  • βœ…οΈ Upside: The Elm SDK will be able to count numbers and determine the scope of these problems.

Once the Elm SDK has appropriately adapted to some problems like these, I will report my findings, hopefully offering the Spec Core Team some statistics that can help them make decisions when making breaking migration changes. For now, however, this week's patch update exclusively fixes a bug! πŸ›

Dept of Services πŸš€

Synapse Admin

Aine [don't DM] reports

A while back, we at etke.cc announced our Synapse-Admin fork, and this week, we're excited to share more new features and QoL changes!

Add "Assign Admin" button

Using the Make Room Admin API endpoint, you can now assign room admins to Matrix rooms. This feature works only if there is at least one local member (preferably with a room admin power level) in that room.

Add preferred color themes to login page and footer

This update brings something small but special: a proper dark theme across the whole Synapse Admin app πŸŽ‰.

Previously, the Login page had a light background even when your browser was configured to prefer dark mode. The same was true for the footer, which was overwhelmingly bright.

Fellow dark mode enjoyers, the inconvenience is no moreβ€”both the Login page and footer now use your preferred theme colors!

Documentation for configuration

Not a new feature, but one that may help a lotβ€”we hope you find this useful! We've added documentation for all config options and example configs for reverse proxies. The latter is a bit lacking, containing examples only for basic cases with Nginx and Traefik, so PRs are greatly appreciated.

Source code, admin.etke.cc (CDN version), and don't forget to say hi in the #synapse-admin:etke.cc

Dept of Bots πŸ€–

I Don't Have Spotify Maubot

HarHarLinks announces

Do people sometimes share links to music with you on Matrix? They do for me. Often, people use Spotify as their music streaming service, but I don't have Spotify.

Last week I came across sjdonado's I don't have Spotify webapp which conveniently exposes a REST API that allows you to easily query things, and is selfhostable open source software.

So easy enough I spent yesterday afternoon tinkering a quick maubot plugin that does the job for you: https://github.com/HarHarLinks/maubot-idonthavespotify.

Here is what it looks like in action:

Baibot

Slavi says

baibot and its underlying framework library (mxlink) have been adapted to the new v0.8.0 release of the Rust-based matrix-sdk.

This brings Matrix authenticated media support, so:

  • baibot can now be used on existing homeservers which already enable authenticated media (like matrix.org)
  • there's one less blocker preventing admins from enabling authenticated media on their homeserver

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

Matrix Retreat 2025: Workation in Thailand

Yan says

Following the success of the Matrix Retreat in Austria 2024, we are organizing the next iteration: a workation for those passionate about Matrix, messengers, and distributed technology.

Details:

  • When: Between FOSDEM (February 1–2, 2025) and FOSSASIA (March 13–15, 2025) joining partially is possible
  • Where: Koh Phangan, Thailand

This is an excellent opportunity to collaborate with like-minded professionals in a productive yet relaxed environment.

How to Get Involved:

  1. Join our videocall: on 24th November 6pm CEST
  2. Connect via Matrix for updates and coordination:

We look forward to collaborating with you on this exciting initiative.

Dept of Interesting Projects πŸ›°οΈ

matrix-sdk-redis

andybalaam says

matrix-sdk-redis is a new Rust crypto store implementation, allowing you to use matrix-rust-sdk and store your Matrix crypto information in a Redis store, avoiding the need for a filesystem. It's highly experimental and has some significant known gaps, but it seems to work. Version 0.1.1 is out now. Find out more at https://codeberg.org/andybalaam/matrix-sdk-redis

Element Web Guest Module (website)

Michael Weimann (n.io) reports

The Element Guest Module in conjunction with the Synapse Guest Module allows visitors to your homeserver to automatically register a temporary account with some capabilities that go beyond standard Matrix guest users.

Element Web 1.11.84 now includes the matrix-react-sdk as part of the Element Web repo (PR). We have released a new version of the guest module adapting to the change, that works with Element Web 1.11.84 (or later).

All the packages of our Element Web modules can be found in the releases section of our repo.

If you have any questions or feedback, please reach out to us using our public room #nordeck:matrix.org.

TARDIS

Matthew announces

I wrote a new experimental DAG visualisation layout algorithm for TARDIS, loosely based on git-style 'tramline' branching visualisations. It can handle massively complex DAG structures, useful when debugging exotic state resolution problems or fork-proliferation problems.

So for instance, the layout of an Element Call-related DAG explosion that TARDIS entirely failed to visualise last week, which looked like this:

Now looks like this

Matrix in the News πŸ“°

Thib (m.org) announces

Computer Weekly covered the story of ePost, a service from the Swiss Post based on Matrix targeting a million users

Matrix Federation Stats

Aine [don't DM] reports

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

As of today, 10384 Matrix federateable servers have been discovered by matrixrooms.info, 3171 (30.5%) of them are publishing their rooms directory over federation. The published directories contain 21165 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.

#ping:maunium.net

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

RankHostnameMedian MS
1awawawawawawawawawawawawawawawawawawawawawawawawawawawawawawaw.gay183
2girlboss.ceo214
3puppygock.gay270.5
4ncat.cafe307
5uwu.zemos.net318
6rory.gay321.5
7transgender.ing329
8constellatory.net349
9ipv6.girlcock.systems353
10kif.rocks360

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.

Matrix in full force at FOSDEM

By: Thib

The Matrix.org Foundation and community are very happy to announce that this year, they will be in full force at FOSDEM, with a community event right before the conference, a booth to welcome everyone during the conference, and a dev room to explore topics in depth!

Jan 31 - Matrix Community Event

We organize an event before FOSDEM for the community to meet and talk about Matrix without fear of missing out on all the great talks at FOSDEM. The event will take place on January 31 at 1 pm CET at HSBXL and last the whole afternoon. Please note that HSBXL moved since last year.

A picture of a group of people smiling, behind a Matrix flag

It's an unconference/barcamp: come and bring your ideas, share them at the beginning of the event, and small groups will form spontaneously.

Please note that the Matrix Community Event has the same Health & Safety Policy as the Matrix Conference.

As last year, attending the event is free, and we're looking for sponsors to show their commitment to the ecosystem by refreshing our community with drinks and feeding it with pizzas! Of course, you will be credited in our event wrap-up post on matrix.org. We're open to additional ideas to get you the recognition you deserve.

Join the FOSDEM Barcamp room if you're interested in the event, and reach out to events-wg@foundation.matrix.org to sponsor!

Feb 1&2 - Booth

This year again, we are happy to have a booth for the duration of the event. This is our opportunity to talk with the broader open-source community, share our latest updates, and listen to people's feedback. We can also help the broader community spread the word with cool stickers and T-shirts!

A picture of three male presenting people behind a table, smiling in front of Matrix branded t-shirts and stickers

We're looking for volunteers to run the booth with us. This includes talking to the community, sharing project news, and selling merch. Don't worry if it's your first time: We have a booth handbook ready for volunteers and want to limit the time commitment to 2 hours per day.

Reach out to events-wg@foundation.matrix.org if you're interested in staffing the booth with us! We will work out together which slot works best for you. People who sign up before December 15 are entitled to a special edition T-shirt!

Feb 2 - DevRoom

Some topics are too complex to be discussed at a booth. Fortunately, we have a DevRoom on Sunday 2 afternoon to talk about topics in greater depth. Be it a technical talk about state resolution or a success story about how Matrix got deployed in your organization, we want to hear about it all!

A picture of Matthew & Amandine presenting their slides. Amandine holds the microphone from Matthew. They're in front of slides spelling out "5 years from now, everyone will communicate via Matrix"

The Call for Proposals is still open, but be quick! It will close on December 1, and we can't bypass that deadline!

The whole team is looking forward to meeting you at FOSDEM!

This Week in Matrix 2024-11-08

By: Thib

Matrix Live

Today's Matrix Live: https://youtube.com/watch?v=HmoVN1x4kO8

Dept of Status of Matrix 🌑️

Matrix at FOSDEM 2025

Thib (m.org) says

We're happy to announce that this year again we will have a DevRoom at FOSDEM!

We have half a day to talk about all the great projects we have been working on as a community. Our devroom should be on Sunday afternoon, even if it's not completely set in stone for now.

You can submit a talk following one of the two formats:

  • 20 min talk + 10 min Q&A, for topics that can be covered briefly
  • 50 min talk + 10 min Q&A, for more complex subjects which need more focus

Be quick, the Call for Proposals ends on December 1st and we can't extend it. FOSDEM organizers will close all DevRooms CfPs, and we can't bypass it!

Find all the dates & details on our Call for Proposals

Governing Board Meeting

Nico says

Next Friday (November 15th) the governing board will have its first official meeting! Topics include the governing structure (how do we decide stuff), forming committees (how do we work on topics and who participates where), selecting a chair and vice chair for the board (to steer meetings) and define how we want to communicate. Some of those topics are still in flux and will be defined further throughout this week. If you are interested, your representatives might be able to tell you more and answer your questions!

We are looking forward to having our first official meeting as the board and hopefully we will have productive results to share with you all soon!

Ecosystem Governing Board Members Office Hours

HarHarLinks reports

Earlier this year, the members of the Matrix Foundation voted for members from their own constituency to represent them at the Governing Board. Nico, Bram and myself were elected to represent the Ecosystem.

While we are usually approachable and responsive in all kinds of ways, there are some topics or situations better to discuss synchronously. We therefore starting today Wednesday 6th November start with weekly office hours every Wednesday at 17:00 German time (CET = UTC+1 during winter). 🐸 We will be responsive to chat in the Ecosystem Public Forum room and will also share a link to a (video) call there.

Please find more detail in the announcement post over here.

Update: Our first office hours went great! We covered quite a lot of topics both between us representatives and the community members who joined - so much so that we overran our time slot by 50% πŸ˜… There is going to be one more office hour next week before the first official governing board meeting, so join the office hour (or write us async) if there is any topic you want us to bring up with the governing board. We would also like to emphasise that we are offering this way of communication for you, the community, so please give us feedback over at the Ecosystem Public Forum in regard of the choice of time slot, etc.

Dept of Spec πŸ“œ

Andrew Morgan (anoa) {he/him} [back Nov 5] 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:

  • No MSCs are in FCP.

Accepted MSCs:

Closed MSCs:

  • No MSCs were closed/rejected this week.

Spec Updates

There was a flurry of PRs to the spec website itself this week. In addition to the myriad of fixes and clarifications, the underlying technology got an update!

https://spec.matrix.org is a static site generated with Hugo, and we use the docsy Hugo theme. Matrix.org has their own fork, with minor changes to self-host all third-party JS/CSS assets instead of downloading them from CDNs.

This fork had gotten a bit outdated however, mostly because updating it and re-downloading the CDN assets was a bit of a pain. This week KΓ©vin Commaille both automated this task and subsequently updated our docsy fork to the latest and greatest. Thank you!

We'd also like to call out @Johennes, @bnjbvr, @AllMightLegend, @uhoreg and @dkasak for their contributions to the spec this week. Thanks all!

Dept of Servers 🏒

Synapse (website)

Synapse is a Matrix homeserver implementation developed by Element

Devon Dmytro says

There was no new release this week, but we have been working hard on getting a few specific things ready to go for the release. You can expect the v1.119.0rc1 release to be out early next week.

Alongside the usual allotment of new features and bug fixes, we have been working hard on:

  • Lifting the minimum supported Python version to 3.9
  • Updating Synapse test infrastructure in order to pull in the latest version of Twisted (24.10.0)

Thank you to all our contributors for helping to make Synapse the best it can be. As always, feel free to stop by #synapse:matrix.org to join in on the discussion and if you encounter a bug make sure to report it here.

Dept of Bridges πŸŒ‰

Parsee

LDA announces

OyΓ©, oyΓ©, nouvelle alpha sur le plus petit pont ! I just released the Parsee v0.2 alpha today. I've not being able to work as much on it as before, but I did get quite some bugsquashing features, and plain dumb experiments like getting it to build and start on an (emulated) DEC Alphaserver with some minor changes to Cytoplasm, more commands to make admins' lives easier, and reworked Matrix->XMPP formatting in order to make it more pleasant.

I've also dabbled in some MbedTLS support, but it is still unstable(and slow), done slightly more work with avatars, and fixed some known bugs that would make handling Parsee annoying.

As of next(v0.3 will probably be out by 2025), I am mostly working on optional Janet extension support, to make Parsee even more powerful and extensible.

We're still available over at Matrix and XMPP(xmpp:marsee@conference.monocles.eu) if you want to try it out.

Dept of Clients πŸ“±

Benedict says

We released a new version of Tammy including some UI fixes for older Android devices. For those who are hearing about Tammy for the first time: Tammy is a new multiplatform Matrix messenger powered by Trixnity Messenger.

Quaternion (website)

A Qt5-based IM client for Matrix

kitsune says

This is the first 0.0.97 pre-release primarily focused on migration to libQuotient 0.9. Not much to talk about aside from this. The release notes and some prebuit binaries can be found at the usual place.

Element X iOS (website)

A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+.

Mauro Romito says

  • A new RC for EX iOS will soon be released 1.9.5
  • In the new RC EX iOS will be capable of also receiving verifications requests through the SAS protocol (while before was only able to send them)
  • We also added a toggle to enable media optimisation that will process media files, to save up data and memory space by compressing them. The option is on by default but can be turned off
  • The work for implementing sending, receiving and accepting/declining knocks on rooms is progressing
  • Alongside knocking we are also implementing management of room aliases

Dept of Services πŸš€

Synapse Admin Updates

Aine [don't DM] reports

A while back, we at etke.cc announced our Synapse-Admin fork, and this week we're excited to share more new features, QoL changes and bug fixes!

We'll begin by discussing technical and under-the-hood updates before moving on to UI features.

SYNAPSE_ADMIN_VERSION env variable

Starting from the least interesting - if you want to build Synapse Admin yourself in an environment where git is unavailable, you can now use SYNAPSE_ADMIN_VERSION env var to set version, instead of relying on git tags.

Logout that actually does the job

Earlier, the logout did send a request to the Matrix logout API endpoint, but didn't clean up things like local storage that is used as a state/session store. Well, now it does 🀷

Proper restrictBaseUrl despite its type

Previously, you could limit Synapse Admin instance to work with specific homeserver(-s) using the restrictBaseUrl config var that accepted both string (like "restrictBaseUrl": "https://example.com") and slice (like "restrictBaseUrl": ["https://example.com", "https://example.net"]). Such an approach has proven to be problematic in multiple cases, but today the last inconvenience with it has been solved - now single-item slices will be treated the same way as the string does (and yes, they are treated differently in the UI), using the only value of the slice.

Configuration in /.well-known/matrix/client

We found out that people tend to use Synapse Admin instances hosted outside their actual servers, and even use a single Synapse Admin instance to manage multiple servers. Unfortunately, such a setup means you can't rely on the config.json file that comes with Synapse Admin instance because it won't contain server-specific configuration… So, here is the solution - just add configuration to your /.well-known/matrix/client file under cc.etke.synapse-admin key, here is an example of how to mark mautrix-telegram puppets as appservice-managed users:

{
  "cc.etke.synapse-admin": {
    "asManagedUsers": ["^@telegram_[a-zA-Z0-9]+:example\\.com$"]
  }
}

works for any config option

Generate random passwords with ease

when creating or updating users. With this change, a new button has been added to the user's create/update form where you can generate a random password in 1 click.

Experimental Features and Rate Limits controls are here!

Now you can enable specific Experimental Features per user, and adjust user's rate limit overrides on the user's page.

Source code, admin.etke.cc (CDN version), say hi in the #synapse-admin:etke.cc

Matrix Federation Stats

Aine [don't DM] announces

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

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

Stats timeline is available on MatrixRooms.info/stats

How to add your server | How to remove your server

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.

Call for Participation to the FOSDEM 2025 Matrix Devroom

By: Thib

Hello everyone,

The Matrix.org Foundation is excited to host a Matrix.org Foundation and Community devroom in person next year again at FOSDEM! Half a day of talks, demos and workshops around Matrix itself and projects built on top of Matrix.

We encourage people working on the Matrix protocol or building on it in an open source project to submit a proposal! Note that companies are welcome to talk about the Matrix details of their open source projects, but marketing talks are not welcome.

Key dates

  • Conference dates: 1st and 2nd February, 2025
  • Devroom date: 2nd February, 2025
  • Submission deadline: Sunday, 1st December, 2024
  • Announcement of selected talks: Friday, 15th December, 2024

You must be available in person in Brussels to present your talk.

Talk Details

The talks can follow one of the two formats:

  • 20 min talk + 10 min Q&A, for topics that can be covered briefly
  • 50 min talk + 10 min Q&A, for more complex subjects which need more focus

We strongly encourage you to prepare a demo when it makes sense, so people can actually see what your work looks like in practice.

Of course, the proposal must respect the FOSDEM terms as well:

The conference language is English. All content must relate to Free and Open Source Software. By participating in the event you agree to the publication of your recordings, slides and other content provided under the same licence as all FOSDEM content (CC-BY).

Code of Conduct

All speakers and attendees agree that all of the presentations and discussions in our devroom are held under the guidelines set in the FOSDEM Code of Conduct. We expect attendees, speakers, and volunteers to follow the CoC at all times.

If you have any questions about the CoC or wish to have one of the devroom organisers review your presentation slides or any other content for CoC compliance, please email us and we will do our best to assist you.

Submitting a Proposal

Proposals must be submitted on FOSDEM's conference management system: https://pretalx.fosdem.org/. Heads up that last year FOSDEM shelved the good old Pentabarf in favour of Pretalx. All submissions must go through Pretalx: https://pretalx.fosdem.org/fosdem-2025/cfp. When submitting a proposal, make sure to select the Matrix.org Foundation & Community track.

We expect to receive more requests than we have slots available. The devroom organisers will be reviewing the proposals and accepting them based on the potential positive impact the project has on Matrix, as defined in the Mission section of https://matrix.org/foundation.

If a project proposal has been turned down, it doesn't mean we don't believe it has good potential. Maintainers are invited to join the #twim:matrix.org Matrix room to give it some visibility.

This Week in Matrix 2024-10-25

By: Thib

Matrix Live

Today's Matrix Live: https://youtube.com/watch?v=5q3njjtlaVU

Dept of Spec πŸ“œ

Andrew Morgan (anoa) {he/him} says

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

Steady progress across a range of MSCs this week. I'm particularly excited to see MSC2409 to reach FCP given its widespread use. Perhaps MSC4203: Sending to-device events to appservices is next?

Dept of Servers 🏒

Synapse (website)

Synapse is a Matrix homeserver implementation developed by Element

Andrew Morgan (anoa) {he/him} says

This week we released Synapse v1.118.0rc1. The major thing to be aware of is that Python 3.8 is now end-of-life. As per our Deprecation Policy for Platform Dependencies, Synapse will be dropping support for Python 3.8 in the next release; Synapse 1.119.0.

Otherwise, Synapse 1.118.0 is the first release to support Python 3.13! PostgreSQL 17 is also supported as of this release.

Other highlights in this release include an experimental implementation of MSC4210: Remove legacy mentions, and the ability to set one's display name upon registering via JWT. In addition, there's the usual round of bugfixes and internal changes. See the release changelog for the full details!

Dept of Clients πŸ“±

Extera

OfficialDakari says

Some improvements for Extera are made. Here is what I've changed:

  • Reaction styles. I've completely redesigned reactions in messages.
  • Perfect browser back button handler. Primarily it's made for mobile. Now you can close modal dialogs with back button, and it works.
  • Custom CSS themes! Now you can add Custom CSS Themes to Extera.

Also, here are upcoming things:

  • Custom JS plugins. You will be able to inject JavaScript into Extera, like themes.
  • Custom AI bots with persona (on extera.xyz homeserver). I will announce in Extera's chat when AI platform for Matrix will be out. Users will be able to create AI bots with GPT-4o + custom system prompt and more.

Best regards, Extera team developer

Element X iOS (website)

A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+.

Doug reports

  • Element X iOS 1.9.3 is in TestFlight and will be available next week. It adds support for rendering media captions in the timeline, showing verification badges when looking at a room member’s details and fixes a bug with media upload where we sometimes included an incorrect image size.
  • Work on support for Knocking continues and we’re currently updating the Reaction Picker to include a Frequently Used section so you don’t have to hunt for your favourite emoji all the time.
  • Version 1.9.3 is the last version of Element X iOS that will support iOS 16. The next version we will release will require iOS 17 or 18 as we prepare the way to fix some longstanding bugs that should be addressed by using newer SwiftUI components.

Dept of Widgets 🧩

Matrix Widget Toolkit

Kim Brose (Nordeck) reports

It's been a bit over a month since we updated our Matrix Widget Toolkit to the newest MUI, React, Redux, and Matrix versions just before the Matrix Conference, so we are happy to share the newest update with you today.

While the list isn't long, it is quite significant. We migrated away from Facebook's Create React App (CRA) framework in favour of the new and actively maintained Vite framework (mind the French pronunciation πŸ˜‰). This allows us to update some dependencies with known issues that were kept back behind CRA. Along with that, we also swapped out our testing framework from Jest to the Vite-native Vitest. If you're consuming the toolkit, you might already be using our @matrix-widget-toolkit/testing package, which conveniently exposes a helper to mock the widget API. These breaking changes caused us to release a new major version of the testing package.

With that, up-to-date package versions of the toolkit components are now:

  • @matrix-widget-toolkit/testing@3.0.1, based on vitest
  • @matrix-widget-toolkit/api@3.4.2, @matrix-widget-toolkit/mui@2.0.6, @matrix-widget-toolkit/react@2.0.3, all now tested using vitest
  • @matrix-widget-toolkit/widget-server@1.0.6, with a slightly newer nginx as its base

All the packages can be found in the releases section of our repo.

You can see a demo of what the toolkit can do using our demo widget.

If you have any questions or feedback, please reach out to us using our public room #nordeck:matrix.org.

Dept of SDKs and Frameworks 🧰

Trixnity (website)

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

Benedict says

A new release of Trixnity is out. It supports files larger than 2.1GB now, has some API improvements and there are some new helpers regarding file handling. Additionally a few bugs has been fixed. Matrix 1.12 support is also implemented, but will be part of the next release.

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

bnjbvr says

Hello everyone! Here's for the first Matrix Rust SDK update for a long time, for updates which happened this week, as generated by our new release process helper! More news about a new Matrix SDK release coming Soonβ„’.

SDK

  • Support for preallocated media content URI has been added in Media::create_content_uri(), and uploading the content for such a preallocated URI is possible with Media::upload_preallocated().
  • Uploaded medias can now be cached in multiple attachment-related methods like Room::send_attachment.
  • When SendAttachment::store_in_cache() is set, the thumbnail is also cached with a sensible default media request (not animated, scaled, same dimensions as the uploaded thumbnail).
  • RoomListService::subscribe_to_rooms no longer has a settings argument.
  • Room list service: Add m.room.topic and m.room.pinned_events in all_rooms.
  • Room list service: Add the m.call.member state event in the required state.
  • (internal) Event cache: Dropping a LinkedChunk UpdatesSubscriber release the reader token for the GC.

Crypto

  • We now persist the error that caused an event to fail to send. The error QueueWedgeError contains info that client can use to try to resolve the problem when the error is not automatically retry-able. Some breaking changes occurred in the FFI layer for timeline::EventSendState, SendingFailed now directly contains the wedge reason enum; use it in place of the removed variant of EventSendState.
  • Add more reason codes to UtdCause.
  • matrix_sdk_crypto::type::events::UtdCause::Membership has been renamed to ...::SentBeforeWeJoined.
  • Don't warn about verified users when subscribing to identity updates.

Matrix Dart SDK (website)

Matrix SDK written in pure Dart.

Matrix Dart SDK (website)

td says

meep quick major version release twim announcement -

v0.34.0

  • Powerlevel updates are no longer local echo'd, we wait for the update to come down sync.
  • Fix a ton of edgecases parsing message bodies
  • We also added v1.12 endpoints support.
  • Auto-generated objects now also have proper equality and hashcode overrides so you can just compare 2 objects now.

That's it for now, see you soon bye byee

libQuotient (website)

A Qt5 library to write cross-platform clients for Matrix

kitsune announces

libQuotient 0.9.0

After a few release candidates, the new stable branch and the new version of libQuotient are officially released! Matrix 1.12 under the hood, cross-signing support (finally in stable), lots of refactoring and cleanup after transition to Qt6-only code and a flurry of smaller features and fixes. The release notes are where you would expect them.

Elm SDK (website)

A more consistent alternative to the matrix-js-sdk, written in Elm.

Bram says

Elm SDK beta 3.6.0

Despite being a minor update, the number of new features is major! The beta 3.6.0 Elm SDK update adds the following features:

  • Added Matrix.Room.getState to explore a room's state
  • Added Matrix.leave to leave rooms
  • Added Matrix.Invite module
  • Added Matrix.Event.redact and Matrix.Room.redact to redact events
  • Added Matrix.Room.name, Matrix.Room.topic & Matrix.Room.pinned_events to quickly access the most commonly used state events

Additionally, using backwards compatibility, the Elm SDK now supports ALL official spec versions! (Including historical ones.) This means that you can safely update the Elm SDK without needing to wait for your homeserver to update. You can now view the supported versions document for an in-depth table.

Dept of Ops πŸ› 

matrix-docker-ansible-deploy (website)

Matrix server setup using Ansible and Docker

Slavi reports

matrix-docker-ansible-deploy now supports installing and configuring Matrix Authentication Service (MAS).

Huge thanks to Quentin Gliech from the Element / Matrix Authentication Service team for answering our numerous questions about MAS.

Our Setting up Matrix Authentication Service documentation page has more details about this new service, what you might expect from the switch and how you can migrate your existing (Synapse) homeserver setup to it.

Dept of Services πŸš€

Synapse-Admin

Aine [don't DM] reports

A while back, we at etke.cc announced our Synapse-Admin fork, and we're excited to share more QoL changes and a new feature

Apart from that, the #synapse-admin:etke.cc room has been created - do not hesitate to say hi!

Source code, admin.etke.cc (CDN version)

Dept of Bots πŸ€–

Draupnir (website)

Gnuxie πŸ’œπŸ reports

Draupnir, a moderation bot, has released v2.0.0-beta.8. This release includes improvements to safe mode, we now show which persistent configuration properties have caused Draupnir to enter safe mode. We also have made a few changes to Draupnir's logging to give system admins feedback on how Draupnir is configured. For all the details, check the release notes.

I've also written a blog update about what I have been working on over the last month or so and I also talk through an update to the Draupnir roadmap.

https://marewolf.me/posts/draupnir/2406.html

Please note that in this release the minimum node.js version required to run Draupnir has been updated from Node 18 to Node 20. If you are using Debian, please follow our documentation for using Debian and node source here, which was kindly contributed by Sky.

If you have any questions or need help with anything related to Draupnir, please find us in our support room at #draupnir:matrix.org.

Matrix Federation Stats

Aine [don't DM] reports

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

As of today, 10274 Matrix federateable servers have been discovered by matrixrooms.info, 3145 (30.6%) of them are publishing their rooms directory over federation. The published directories contain 22149 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.

#ping:maunium.net

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

RankHostnameMedian MS
1conduwu.it151
2transgender.ing185
3envs.net192.5
4tomfos.tr197
5awawawawawawawawawawawawawawawawawawawawawawawawawawawawawawaw.gay203
6pissing.dev208
7constellatory.net233.5
8girlboss.ceo251.5
9nerdhouse.io256
10synapse.rntpts.de292.5

That's all I know

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

This Week in Matrix 2024-10-18

By: Thib

Dept of Social Good πŸ™†

spaetz says

The German Data Protection Officer is creating a catalogue of criteria to assess messengers. They still take feedback till Nov 15. List of criteria is available in German and English.

Toot: https://social.bund.de/@bfdi/113306169664247379

English criterion pdf link is: https://www.bfdi.bund.de/SharedDocs/Downloads/EN/Konsultationsverfahren/3_Messengerdienste/Katalog-SMA-Front-End.pdf?__blob=publicationFile&v=2

Dept of Spec πŸ“œ

TravisR says

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:

  • No MSCs are in FCP.

Accepted MSCs:

Closed MSCs:

Spec Updates

Matrix 1.12 went out last week! This release contains a few Trust & Safety improvements, bug fixes for authenticated media, an ability to mark rooms as unread, and several other quality of life features. Check it out, and get an early preview for what the next release might look like πŸ‘€

If there's something you'd like the Spec Core Team to take a look at, let us know in our office room: #sct-office:matrix.org

Dept of Servers 🏒

Synapse (website)

Synapse is a Matrix homeserver implementation developed by Element

Quentin Gliech reports

This week we released v1.117.0. The highlights of this release are essentially many small performance increases, mostly for the new MSC4186 sliding sync implementation.

As always, check out the full release notes to make sure you don't miss any of the exciting changes! Feel free to stop by #synapse:matrix.org to join in on the discussion and if you encounter a bug make sure to report it here.

Dept of Clients πŸ“±

Extera

OfficialDakari announces

Hello again, users of the Matrix! It's been a week since last TWIM post and 2,5 months after first Extera commit! Anyway, here is what happened this week:

  • More animations! Developer found out about Framer-motion and now puts animations everywhere. Jump to latest/unread buttons now slide into view instead of showing up instantly.
  • Fixed pinned messages request spam. Now pinned messages window doesn't DoS the homeserver.
  • Bubble layout improved again! Message timestamps are moved to the bottom of messages. Also added icon indicating message status. It even tells if someone has read the message!
  • Redesigned emoji board and upload board. Upload board now looks like in Discord and more fits into Material UI.
  • Rust Crypto. Extera now uses Rust crypto because of recently disclosed vulnerability.

Also, Extera's alt frontend for YT Music will be released very soon.

Best regards, Extera team developer

mautrix and gomuks updates

tulir reports

This month's bridge releases include the WhatsApp bridge upgrading to the Megabridge architecture as well as small bugfixes for other bridges.

In non-bridge news, a couple weeks ago I finally started writing my own web client, and now gomuks web is starting to be usable enough for chatting. At some point in the future, I'll migrate the gomuks terminal UI over to the new framework as well.

Read more at https://mau.fi/blog/2024-10-mautrix-release/

Fractal (website)

Matrix messaging app for GNOME written in Rust.

KΓ©vin Commaille says

It's time to experience La vie en rose! We just released Fractal 9.rc and to show our support 🩷 for Breast Cancer Awareness Month, we decided to change the accent color to pink. And it is also packed with bug fixes, take a look for yourself:

  • We used to only rely on the secrets provider to tell us which Matrix accounts are logged-in, which caused issues for people sharing their secrets between devices. Now we also make sure that there is a data folder for a given session before trying to restore it.
  • Our notifications are categorized as coming from an instant messenger, so graphical shells that support it, such as Phosh, can play a sound for them.
  • Some room settings are hidden for direct chats, because it does not make sense to change them in this type of room.
  • The size of the headerbar would change depending on whether the room has a topic or not. This will not happen anymore.

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, it should be mostly stable and we expect to only include minor improvements until the release of Fractal 9.

If you are wondering what to do on a rainy day, you can try to fix one of our newcomers issues. We are always looking for new contributors!

Ement.el (website)

Matrix client for Emacs

alphapapa announces

Ement.el, a Matrix client for the GNU Emacs text editor and Lisp environment, has been released at version 0.16. Changes since the last release include:

Compatibility

Additions

  • When option ement-room-images is disabled (preventing automatic download and display of images), individual images may be shown by clicking the button in their events.

Changes

  • Option ement-room-coalesce-events may now be set to (and defaults to) a maximum number of events to coalesce together. (This avoids potential performance problems in rare cases. See #247. Thanks to Arto Jantunen for reporting and Sergio Durigan Junior for testing.)

Fixes

  • Replies to edited messages are correctly sent to the original event (whereas previously they were sent to the edit, which caused reactions to not be shown). (#230, #277. Thanks to Phil Sainty for suggesting, and to dionisos for reporting.)
  • Set filter-buffer-substring-function in room buffers to prevent undesired text properties from being included in copied text. (#278. Thanks to Phil Sainty.)
  • Command ement-disconnect no longer shows an error message. (#208.)
  • Retrieval of earlier events in a just-joined room. (#148. Thanks to Richard BreΕΎΓ‘k for reporting, and to Phil Sainty for testing.)
  • Cache computed displaynames in rooms (avoiding unnecessary reiteration and recalculation). (#298. Thanks to Rutherther for reporting and testing, and to Phil Sainty.)
  • Customization group for options ement-room-mode-hook and ement-room-self-insert-mode. (Thanks to Phil Sainty.)
  • Inheritance for some faces. (#303. Thanks to Jonas Bernoulli.)

Feel free to join us in the chat room: #ement.el:matrix.org!

Element X iOS (website)

A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+.

Mauro Romito says

  • Made some good progress on the knock join rule implementation
  • Some media upload optimisation were done client side to allow a more optimal media experience
  • Fixed some bugs in particular a nasty one that did not allow images to be opened when sent from EXA
  • The identity banner will now always show the user id to reduce ambiguity

Element X Android (website)

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

benoit reports

  • F-Droid release flow is now fixed, users should be able to upgrade to the latest version from this store.
  • The identity banner will now always show the user id to reduce ambiguity
  • Working on various features like room knock and incoming verification request.
  • Fixing many bugs and polishing the app, in particular microphone lost when background-ing the app during a call on Android 14.
  • We made some fixes for RTL languages, the app should be rendered correctly in this case (not released yet)

Dept of SDKs and Frameworks 🧰

Rory&::MatrixUtils - General utility suite for Matrix

Emma [it/its] reports

Just a small change to better integrate with tools like communitybot

Changes:

  • Added ability to create a new policy list directly (without relying on the broken room creator)
  • Added a dedicated sidebar item to access and manage policy lists

Re: matrix.org: users on matrix.org can access LibMatrix & related rooms again!

The "first party" instance is available at https://mru.rory.gay, and is a clientside-only web app!

And, as with all of the other projects:

  • The code is available at cgit.rory.gay!
    • All contributions are more than welcome, be it documentation, code, layout/UI/UX improvements, anything!
  • Discussion, suggestions and ideas are welcome in #mru:rory.gay

Dept of Ops πŸ› 

synadm (website)

Command line admin tool for Synapse (Matrix homeserver)

jacksonchen666 (they/it) says

The documentation for synadm has been updated with 2 changes:

  1. The most obvious theme change: You can see the new docs theme on https://synadm.readthedocs.io/en/latest/ right now (compared to https://synadm.readthedocs.io/en/v0.46.1/)
  2. There is now an API to CLI mapping page for synadm, linking to the Synapse Admin API docs and the synadm command that uses the linked Synapse Admin API. This is useful for seeing what's implemented and what's not, or if you forgot which command does what you want.

That's roughly all the big changes. We also want to thank everyone who has contributed so far, and at the same time welcome new contributors. The β€œAPI to CLI Mapping” docs chapter was created to give a clear overview of what synadm can do and what’s not yet implemented. Check it out, use it, come and join #synadm:peek-a-boo.at and help us make synadm better and more feature complete!

Dept of Services πŸš€

etke.cc (website)

Your matrix server on your conditions

Aine [don't DM] announces

Synapse-Admin Updates

A while back, we at etke.cc announced our Synapse-Admin fork, and this week we're excited to share a single major update, but oh boy, if you use MAS you'd love it!

Login with Access Token is here πŸŽ‰

Yes, that's not a full MAS compatibility, but at least now you can generate a proper token using mas-cli and use it as-is, without odd quirks like blocking access to specific endpoints to modify the token.

Source code, admin.etke.cc (CDN version), already available in MDAD playbook

Matrix Federation Stats

Aine [don't DM] announces

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

As of today, 10219 Matrix federateable servers have been discovered by matrixrooms.info, 3143 (30.8%) of them are publishing their rooms directory over federation. The published directories contain 21159 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.

#ping:maunium.net

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

RankHostnameMedian MS
1tomfos.tr188
2conduwu.it198.5
3transgender.ing214.5
4bark.arf.wf221
5awawawawawawawawawawawawawawawawawawawawawawawawawawawawawawaw.gay231
6envs.net264.5
7mehren.cloud276
8nerdhouse.io297
9maunium.net341.5
10constellatory.net358

That's all I know

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

This Week in Matrix 2024-09-27

Dept of Servers 🏒

Synapse (website)

Synapse is a Matrix homeserver implementation developed by Element

Devon Dmytro announces

This week we released v1.116.0rc2. Here are a few of the highlights:

...and a whole lot more. Check out the release notes for the full set of changes! Thank you to all our contributors for helping to make Synapse the best it can be. As always, feel free to stop by #synapse:matrix.org to join in on the discussion and if you encounter a bug make sure to report it here.

Dept of Clients πŸ“±

Fractal (website)

Matrix messaging app for GNOME written in Rust.

KΓ©vin Commaille says

Back to school, and Fractal is back too! The leaves are starting to cover the floor in our part of the globe, but you don’t have to shake a tree to get our goodness packed into Fractal 9.beta:

  • We switched to the glycin library (the same one used by GNOME Image Viewer) to load images, allowing us to fix several issues, like supporting more animated formats and SVGs and respecting EXIF orientation.
  • The annoying bug where some rooms would stay as unread even after opening them is now a distant memory.
  • The media cache uses its own database that you can delete if you want to free some space on your system. It will also soon be able to clean up unused media files to prevent it from growing indefinitely.
  • Sometimes the day separators would show up with the wrong date, not anymore!
  • We migrated to the new GTK 4.16 and libadwaita 1.6 APIs, including CSS variables, AdwButtonRow and AdwSpinner.

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!

If you have a little bit of time on your hands, you can try to fix one of our newcomers issues. Anyone can make Fractal better!

Element X iOS (website)

A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+.

Doug reports

  • This week brings the Release Candidate for v1.8.4 to TestFlight which amongst other things enables Message Pinning - long press on a message and tap Pin to try it out yourself!
  • v1.8.4 is also our first build to use Xcode 16 which should fix some iOS 18-related bugs and we’ve been fixing any smaller bugs that we’ve encountered as the week has progressed.
  • Lots of time has been spent on our tests (some of which fell apart a little after the Xcode 16 upgrade), and hopefully we’ll soon be back to enjoying a stable suite of tests.
  • Finally we’re tackling the big AGPL migration and are updating Element iOS Classic, Compound iOS and the Rich Text Editor to be inline with all of our Element licenses.

Element X Android (website)

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

ganfra reports

  • This week we've released version 0.6.4 to Google Play Open Testing. Message Pinning is now stable - long press on a message and tap Pin to try it out yourself!
  • We have spend most of our time fixing bugs and improving code, including tests.
  • Finally we’re tackling the AGPL migration on various projects to be inline with all of our Element licenses.

Dept of SDKs and Frameworks 🧰

vodozemac-bindings for c++

tusooaπŸ”οΈ reports

vodozemac-bindings for c++ now works for builds without exceptions. We have also written a doc: https://iron.lily-is.land/w/from-libolm-to-vodozemac/ . Again, any help is welcome.

It now supports building on Windows. See Merge Request 10 for more details.

Dept of Services πŸš€

etke.cc (website)

Your matrix server on your conditions

Aine [don't DM] says

A while back, we at etke.cc announced our Synapse-Admin fork, and this week we're excited to share two major updates:

  • Upgrade to React Admin v5
  • Restrictions on modifying specific users

The React Admin upgrade enhances the Synapse-Admin UI experience, especially if you found the previous dark theme too high-contrast.

The second update is a quality-of-life improvement you've always wanted but may not have known you needed. πŸ™‚

Previously, we introduced a feature to prevent users from accidentally deleting their sole homeserver administrator account.

Now, we're addressing another common issue: inadvertently altering system user accounts managed by appservices (such as bridges and bots). Editing, deleting, locking, or changing the passwords of these appservice-managed accounts can cause serious problems. To prevent this, we've added a new feature that blocks these types of modifications to such accounts, while still allowing other risk-free changes (changing display names and avatars). By defining a list of MXID regex patterns in the new asManagedUsers configuration setting, you can protect these accounts from accidental changes.

If you're using matrix-docker-ansible-deploy, the playbook automatically handles this configuration setting to ensure appservice-managed user accounts remain safe.

Source code

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

Matrix User Meetup Berlin

saces announces

As we have all not seen each other for a long time, I can proudly announce:

Next Matrix user meetup 2.10.2024, 8 pm @ c-base

Meet other matrix users, chat about Matrix, the rest, and everything else, discuss your Matrix ideas, sign each other in persona, and maybe spice the evening with a good mate or beer.

Every first Wednesday of the month in the c-base at 8pm ('til the next pandemic).

Matrix room: #mumb:c-base.org

Dept of Interesting Projects πŸ›°οΈ

AlexGames: simple Lua/Rust WebAssembly powered board games running in a Matrix widget

axby announces

I put together a collection of simple board games written in Lua and Rust, built them to WebAssembly, and focused on a standalone web application that relies on a websocket server for multiplayer. I tried swapping out the websocket server for the Matrix widget API, and it works! This means that all you need is the static HTML/JS/WASM hosted on a server, and you can add a widget to a small Matrix room like this:

/addwidget https://alexbarry.net/dev/games/matrix-widget/?matrix_widget_id=$matrix_widget_id&matrix_user_id=$matrix_user_id

And you can play games with a friend, using Element web or desktop. No other server side handling required!

Here's a demo video, two Element web sessions playing chess together, using the Matrix room for game state changes: https://youtu.be/a_uR0tPeR18?t=15

Source code is available in a branch on GitHub here, and feel free to join #alexgames:matrix.org if you're interested in more, or want to find someone to try a game with. To try the standalone web version, you can visit https://alexbarry.github.io/AlexGames/ . I'd be happy to update and polish the Matrix widget version if there's interest. I also set up my project so that you could write your own games in Lua and upload them to the existing web/matrix version, without having to build the project. See my very simple API (e.g. draw_rectangle, handle_user_clicked) and the API demo example game.

Matrix in the News πŸ“°

HarHarLinks reports

While the team is still working hard on the video recordings from The Matrix Conference (watch this space!), we got some news coverage:

Matrix Federation Stats

Aine [don't DM] announces

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

As of today, 9994 Matrix federateable servers have been discovered by matrixrooms.info, 3079 (30.8%) of them are publishing their rooms directory over federation. The published directories contain 21297 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.

#ping:maunium.net

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

RankHostnameMedian MS
1conduwu.it211
2tomfos.tr213
3fost.re224
4awawawawawawawawawawawawawawawawawawawawawawawawawawawawawawaw.gay228.5
5puppygock.gay250
6girlboss.ceo275.5
7itzzen.net277
8bark.arf.wf315.5
9ipv6.girlcock.systems352
10speakup.nl375.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.

RankHostnameMedian MS
1tomfos.tr66.5
2fost.re81.5
3conduwu.it83
4transgender.ing98.5
5girlboss.ceo131
6nerdhouse.io175.5
7bark.arf.wf176.5
8constellatory.net182.5
9littlevortex.net195.5
10ipv6.girlcock.systems208.5

That's all I know

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

❌