You might have seen the news already, but the Matrix.org Foundation is pleased to welcome the first public sector organisation as part of its membership: Gematik joined us as a Silver member!
Whether youāre an individual, a business, a non-profit, a public sector organisation, you can join the Matrix.org Foundation as a member to support us in our mission and help us steer Matrix in the right direction!
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.
Room version 11 has been accepted! A gentle reminder for Matrix client and homeserver implementations to update and incorporate the new changes. The full list can be found in the MSC itself (mainly changes to redaction semantics and related fields).
While this means that room version 11 is now considered stable, itās not recommended that homeserver implementations set their default room version for newly created rooms to 11 yet. We recommend waiting a few months for client and other homeserver implementations to gain support first.
Matrix has a concept of shared moderation policy lists - where you can create a room containing moderation actions that followers can apply to their own rooms, such as banning a particular known bad actor.
This MSC proposes to expand the list of possible types of recommendations with that of muting a user (removing a userās ability to send messages in a room). This could be especially useful if you moderate many, many rooms and have automation to apply moderation actions based off of a policy list room.
If such a policy change sounds useful to you, why not give the MSC a review and leave some feedback!
Iāve updated the Dash/Zeal Docset which you can use to read the Matrix Spec offline.
If you use Dash and installed it through the applicationās settings, an update should be available now. If you use Zeal, check out the update procedure on gitlab.com.
This week we released 1.87.0rc1. Please note that this will be the last release of Synapse that is compatible with Python3.7
and earlier. Now on to the highlights:
Add spam checker module API for logins
Fix forgotten rooms missing from initial sync after rejoining them
Remove experimental MSC2716 implementation to incrementally import history into existing rooms.
Fix a bug introduced in 1.57.0 where the wrong table would be locked on updating database rows when using SQLite as the database backend
Huge refactoring of Dendrite and gomatrixserverlib to pave the way for easier experimentation
A potential state reset when joining the same room multiple times in short sequence has been fixed
Several āmembershipā (e.g /kick, /ban) endpoints are using less heavy database queries to check if the user is allowed to perform this action
/3pid endpoints are now available on /v3 instead of the /unstable prefix
Support for connecting to appservices listening on unix sockets has been added (contributed by cyberb)
Admin APIs for token authenticated registration have been added (contributed by santhoshivan23)
ā¦and a whole lot more. Check out the release notes for the full set of changes!
As always, feel free to stop by #dendrite:matrix.org to join in on the discussion and if you encounter a bug make sure to report it here.
After long time of inactivity in choojās repo because I was busy with other stuff, we now have many improvements. Two most important changes are not user facing yet very important for development of chooj in the long term. First, the UI stuff have their own repository and are a separate NPM library. Second, I have almost converted the codebase from Javascript to Typescript. There are other small changes. Many bugs have been fixed. If you had problem logging in with chooj on your feature phone, give the build specified in this issue a try. It should have solved the bug. And please let me know if it fixes the problem, or if you have any other issue.
Element X Android is making big progress to become the fastest Element application ever developed! The application is now using the new Room List API from the Matrix SDK.
The application is getting lots of UI / UX polishment, as we are integrating the latest design.
Last but not least, the app has been renamed to āElement Xā (with a space) and got a brand new icon!
Weāve made further steps towards fixing stuck notifications on nightly. The unread dot is now more reliable ā especially when used with the āmark room as readā functionality. Weāve also fixed reactions gone missing when the reacted to event isnāt yet synced. Our plan ahead consists of re-triaging existing issues to surface cases we havenāt yet accounted for. Afterwards weāll push ahead with MSC3981 which is already implemented both client- and server-side but needs testing. For further details, please see the tracking issue.
Our work on improving the notification settings is being finalised. Weāve conducted user testing this week and are preparing for a labsāed launch.
As part of our integration with Compound, our new design system, the first pieces of typography and colour updates are landing on nightly. More news in this area soon.
Finally, weāve also progressed on integrating OIDC and managed to get the login flow working in a POC manner.
Element Android 1.6.3 is now available for 20% of the users in the PlayStore. We are confident that we will reach 100% deployment by the end of next week, and then we will release the app on F-Droid. The roll out is slower than usual since this version is integrating the Crypto Rust SDK (the new Matrix SDK developed in Rust and also used by Element X iOS) and the migration of user private data is quite a sensitive area.
@sctlib/rtc now has support for Matrix /sendToDevice signaling.
Itās a web-component that tries to offer a user interface for peers to connect via WebRTC
There are different āmanualā signaling methods (such as copy/pasting the WebRTC connection data by hand, from one peer to the other), and the Matrix API /sendToDevice endpoint is the new addition.
It works with authenticated matrix users, as well as with guest user/device.
All this is a prototype and experimentation with client side browser based apps (with js/html/css/web-components/npm-packages), using @sctlib/matrix-room-element and its new api.js.sendToDevice method.
One of the thing I enjoy with this project, is that it is web-component based; meaning the new HTML custom DOM element, has a āclear APIā through itās attribute api, methods, events (just like an <img/> or <video/>, or <form/> etc.).
allow to forget rooms (delete room specific content from database and cache) -> rewrite of the cache to allow indexes
PowerLevelsEventContent with type safe āeventsā-field (e. g. allow content.events.get<MessageEventContent>() additionally to the old way content.events["m.room.message"])
Introduce module trixnity-crypto-core and replace native crypto algorithms using native APIs (CoreCrypto on apple and OpenSSL on linux/mingw targets)
The library is fast approaching the 0.8 with the process being much steadier than before, now that we actually practice smaller, more frequent releases - thanks in no small amount to NeoChat people, nicely prodding the author of these lines on a regular basis. The release notes (very short, apparently weāve got the beta right) are, as usual, at the projectās Releases page and the final release can be expected some time next week, if we donāt have unexpected showstoppers.
And just in case someone doesnāt know where to find us - youāre welcome in #quotient:matrix.org!
Have you ever had the need to set the same power levels for the same users in the a lot of rooms?
Itās fairly tedious.
Thatās what room-architect tries to solve. You create groups of users and groups of rooms and set power levels to room-group<->user-group pairs, and this bot will keep the power levels there (as long as the Bot has the necessary power levels itself of course).
I have more planned, and a few more ideas beyond those, if you want to help, open a pull request on the projectās Codeberg repository or open an issue if you find a bug. There is no Matrix-Room for this project yet, but I might create one if there seems to be interest.
Introducing Gate Bot, a Matrix bot that empowers Matrix room owners to create a safety gate between incoming users and their community. Through the use of verification checkpoints, including CAPTCHAs (with ongoing exploration of alternative methods), Gate Bot can effectively thwart automated spam bots while ensuring the protection of communities and their members.
Invite Gate Bot to a room to get started, then follow our setup guide on Github.
Last weekend, I made a few small changes that fixed or worked around minor bugs and usability issues that were brought to my attention by community members. This should make interactions with the bot match expectations more closely. Hooray for collaboration and iteration!
DevConf.CZ, an annual, Red Hat sponsored, open source community conference in Brno, CZ, was held on June 16 - 18.
This year, the conference was piloting Matrix as a primary communication platform and this is a short summary of how it went.
In the end, we went the self-hosting way!
Our hero @duck:milkypond.org from Red Hatās open source program office team did all the heavy lifting by setting up the Synapse and all the necessary services around it, incl. Mjolnir.
Weāve tried to use conference-bot with schedule in compatible json, but DevConf not using Pentabarf turned out to be too limiting, at least for our use-case.
Taking advantage of the Spaces feature, we created #2023:devconf.cz with three sub-spaces: āGeneralā, āSessionsā, and āWorkshop & Meetupsā. Attendees were suggested to join the 2023 space and go from there, as opposed to sharing invites to specific rooms or sub-spaces.
@inknos:snag.social and myself, @mhoyer:snag.social wrote a simple bot that was creating Q&A threads for each talk. It also pinned this message/thread. Online and in-person attendees were suggested to use the Q&A threads to ask questions and session chairs asked them to the speaker(s) in the time dedicated to questions and answers.
āSessionsā space was a home for rooms, which were an extensions of the real-life auditoriums. These rooms had a widget with a Youtube live stream and Q&A threads.
All rooms had a widget with a schedule for said room. The widget was pointing to a website designed to be used as digital signage, so it reflected any schedule changes immediately.
Compared to FOSDEM, and given the size of the conference, we decided to have only one general-purpose public room, which I think worked well. This way, organizers are able to do @ room pings there instead of creating a dedicated āAnnouncementsā room for example.
The organization team did a great job communicating everything to the attendees, even the fact that it is a āpilotā and things might break (they didnāt, yay!).
I donāt have the exact numbers, but I believe there were 300+ users in the Main Chat room, which as far as I can tell is comparable to any chat platforms used in previous years. Not bad for a first year, especially since we only had a very limited time-frame to make it happen.
@dvolavko:matrix.org, the organizer of DevConf.CZ, shared this:
"""
Overall positive feedback. I think we should fully transition to Matrix after this experience. We were collecting attendees to telegram chat for the past 5 years and we reached a similar number on Matrix in 3 days.
""
Did you ever have a list of email addresses and Matrix rooms (or spaces) which you wish to invite them to? And you donāt know their Matrix usernames or if they even have a Matrix account yet? Then this is going to be for you. āØ
For this yearās edition of the Berlin University of the Arts open house day presentation (come visit July 21st - 23rd if you are around!) students and others are going to make use of Matrix once again to digitally present and announce their art pieces, installations, performances, events ā just like they did for the last two years. As part of the digital programme we kept running into the same issue: we have a big Matrix space structure representing an existing hierarchy of faculties, institutes, campus buildings, rooms, study programs, classes, seminars and so on. And with each of them we have a list of maintainers as in people who are responsible.
While weāre still mostly working on other projects, we wrote the matrix-email-onboarding microservice to invite users to Matrix rooms (or spaces) via their email addresses, even before we know if they actually have a Matrix account or not.
It comes with a CLI tool to send out emails šØ with a link (containing a secret token) for your users to click on (screenshot 1), and
A Node.js server-side application to handle web requests to
(1) check a given secret onboarding token š and list the linked Matrix rooms or spaces (screenshot 2)
(2) let the user sign in āļø with their Matrix account and automatically join the given rooms or spaces
(3) (optionally) promote those newly joined users to become moderators or administrators š§āāļø
Weāve decided to CC0 it. So go crazy, make use of it in your public institution, use it for your company, tinker around for yourself, create Issues or send Pull Requests on GitHub and do let us know what you think! Looking forward to all of it. š„°
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
test.zemos.net
85
2
zemos.net
133
3
daedric.net
160
4
conduit.rs
195
5
matrix.org
223
6
herkinf.de
253
7
davralin.work
254
8
aguiarvieira.pt
280
9
777.tf
350
10
075-141-169-120.res.spectrum.com:8446
379
Thatās all I know
See you next week, and be sure to stop by #twim:matrix.org with your updates!
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.