πMatrix Live S13E12 - Foundation & Event updates
πDept of The Matrix Conference ποΈ
Andy says
The Matrix community assembles in MalmΓΆ, Sweden in a little over 10 days' time, for our conference, followed by another day of hacking and collaborating in Copenhagen, Denmark! Are you ready to join us?
As mentioned in Matrix Live this week, the event will include a demonstration of cross-border federation in the public sector. Don't miss it!
Don't forget to bring your project stickers with you, for the event sticker exchange.
This really is a must-attend event, get your ticket now here.
πDept of Events and Talks π£οΈ
πStammtische (website)
HarHarLinks reports
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 matrix-community.events!
- 12 October (2nd Monday of every month) 20:00 CEST: #matrix-stammtisch:ccc.ac at CCCAC
Are you running a Matrix meetup? Add it to the list!
πDept of Spec π
Andrew Morgan (anoa) {he/him} announces
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
Despite the lack of MSCs entering FCP/being accepted/etc. there's been quite a lot of activity on the Matrix 2.0 spec front!
The SCT is hoping to get the Matrix 2.0 MSCs landed before the Matrix conference. Follow along below for how that's going:
- π’ MSC4140: Cancellable delayed events β Merged.
- π’ Clarifications for MSC4140: Cancellable delayed events β Merged on 29 September.
- π‘ MSC4354: Sticky Events β 2 / 8 approvals (unchanged). Discussion and implementation work progressing; two formal concerns resolved, three still outstanding.
- π΄ MSC4480: Sliding Sync Extension: Sticky Events β SCT review now underway, rather than awaiting initial review. Token/pagination and alignment with other Sliding Sync extensions remain under discussion; not yet proposed for FCP.
- π‘ MSC4551: Sliding Sync Extensions: Receipts β Proposed for FCP, 6 / 8 approvals, no formal concerns recorded. Replaces MSC3960, which was closed as superseded on 30 September.
- π‘ MSC4538: Sliding Sync Extensions: To-Device messages β Proposed for FCP, 6 / 8 approvals, no formal concerns recorded, ongoing discussions.
- π‘ MSC4543: Sliding Sync Extensions: End-to-end encryption β Proposed for FCP, 5 / 8 approvals, no formal concerns recorded, ongoing discussions.
- π‘ MSC4548: Sliding Sync Extensions: Account data β Added to this pulse check: proposed for FCP, 6 / 8 approvals, no formal concerns recorded, ongoing discussions.
- π‘ MSC4143: MatrixRTC β Real-time communication over Matrix β 6 / 8 approvals (unchanged). Implementation-mismatch concern resolved; Sticky Events is the sole remaining formal concern.
- π‘ MSC4195: LiveKit transport for MatrixRTC β 6 / 8 approvals, up from 3. Only the MatrixRTC dependency concern remains; concurrent FCP is permitted.
- π‘ MSC4196: Voice and video calling application for MatrixRTC β 6 / 8 approvals, up from 1. Only the MatrixRTC dependency concern remains; concurrent FCP is permitted.
πDept of Clients π±
πTesseract (website)
Marco announces
Hello, folks! It's been some time since the last update, so here it is:
Tesseract is now in beta! The last missing features (invite dialog and room moderation: kick/ban/unban) were added in 0.9.0. This doesn't mean new features aren't coming; only that it should be possible to use it as your main daily desktop client.
There have been 7 releases since the last TWIM post and there are too many changes to list here, but I'd like to mention call rooms, directory browser, user status, and simpler encryption setup and recovery.
About encryption setup: in the ongoing effort to make this easier and more user-friendly, a new silent recovery setup was added (only for accounts without recovery set up). Tesseract will set the encryption and recovery silently and save the recovery key in the OS secure storage (only if available), and then periodically nag the user to make sure it is saved in a better/safer place. This way a new user will have a fully functional client with all the end-to-end encryption capabilities set up, right after login. (This can be disabled with a build flag, in case a build without this functionality is needed). Hopefully this will make onboarding new users much simpler.
On a different note, Tesseract is now available in the Microsoft Store, which is something I never imagined I would say out loud, but here we are π€·π» (easier installs, with proper signed binaries, for free; how could I resist?)
For the curious, here are all the recent changelogs. Feel free to drop by the official room!
πElement X Android (website)
Android Matrix messenger application using the Matrix Rust SDK and Jetpack Compose.
Jorge says
Hello everyone, this week on the Element X Android team we've been focused on:
- Improving the multi-account feature (still behind a feature flag). There is a better UX for selecting which account you're using and more places where this is useful, like when sharing something coming from outside the app.
- Global search: we're now able to automatically back paginate and add past history to the search index so you can search for older messages in your encrypted rooms. The feature should be available shortly, too!
- Multi-selection of messages in rooms: you'll be able to select and forward several messages into other rooms, instead of having to do it one by one. There are some limits set to prevent spamming. The feature is still a work in progress, so it's behind a feature flag.
- Element call native: the VOIP team has been working really hard to deliver a better experience than webview integration, which is known to have limitations and audio bugs we can't fix because the webview environment limits us, so they built a native experience instead. This is behind a feature flag for now, but if you can test it, we'd love to know your feedback.
- Unread counts in the room list: we're displaying unread notification counts in rooms now and we've improved their UI too. With backpagination, they should be way more accurate now, although we know there are still some corner cases we need to fix. There is also the option now in the app to display only unread notifications in the room list, instead of displaying also an indicator for unread messages in rooms you don't really care about.
- Improving the send queue: we know there are some issue related to the send queue after we changed its logic to try to enforce the order of sent events and are working on fixing those.
- We're now automatically dismissing notifications for rooms we know are fully read from other devices.
And many other bug fixes and improvements.
πDept of VoIP π€
πLiveKit JWT service (website)
Bridging Matrix and LiveKit for Matrix RTC realtime sessions.
Johannes Marbach says
lk-jwt-service v0.8.0 was released yesterday. This release updates the Client-Server endpoints for token requests and delayed leave delegation to the latest state of MSC4195. Some of these changes are breaking, unfortunately. We've considered this acceptable because we're also still wrapping up the client-side implementation for actually using the Client-Server endpoints in matrix-js-sdk and element-call. The legacy, non-client-server endpoints still exist, however, and have received a security fix. Therefore, we recommend updating in either case.
πDept of SDKs and Frameworks π§°
πdjangomatrixappservice
Fabian says
Do you want to manage a larger amount of bots (lets say you want to write another bridge)? How about managing them through a web interface? Or just send notifications from your webservice to your users? How about implementing all this in a powerful, python-based web framework?
Well, here is a solution to that! I have completely rewritten pretty much all of the code in the central component of a larger project that i started two and a half years ago during my funding from PrototypeFund.
I call this central component
djangomatrixappservice, because it is a Django app that can interact with the matrix application service api. It comes bundled with a matrix-nio based client.It supports multiple auth types:
- Application service identity assertion
- Rotating OIDC/MAS tokens
- Legacy password login/long-lived tokens
Activity is triggered byβ¦
- your code
- push notifications directly from the homeserver to your web service
- application service transactions to your web service
There is no long-running sync-requests in the background, so this does scale to as many accounts as you like without requiring more energy.
Despite having found ways to unit test a lot of it, there are still important parts that are not covered by that yet, so currently it is very experimental. I am posting this now, because I am confident that this approach is abstract enough to fulfill a lot of developer needs, but provides enough guidelines to become a common base for different projects. Since the initial migration for a django project is pretty important to get right, this is the perfect time to gather feedback for that.
Next steps include:
- Add more documentation on how to get started
- Increase the coverage of unit testing
- Gather experience from more little projects
The code is hosted on codeberg: https://codeberg.org/alertrix/djangomatrixappservice
Feel free to reach out to me in the #twim-offtopic room or #djangomatrixappservice:alertrix.net
I would love to hear your feedback (how would you want to integrate it in a project) and I am looking forward to posting more about this in the future!
πDept of Built on Matrix ποΈ
πOUDEA and bytEM
Tero says
OUDEA and the first public version of bytEM are now live.
As bytEM is built on Matrix / Synapse federation, I thought this might also be interesting for the wider Matrix community. Weβve now reached the point where the architecture, installer and first working implementations can all be explored publicly:
OUDEA β Open Unified Data Exchange Architecture: https://oudea.org
bytEM Installer: https://github.com/liberbyte/bytEM-installer
First public bytEM index / cities.app: https://bytem.de.cities.app/
Current example / demo indexes: https://www.liberbyte.com/indexes.html
The basic idea is to use Matrix federation not primarily for communication, but as the underlying infrastructure for a federated data exchange architecture β allowing independently operated data products to be discovered, referenced and exchanged across organisations.
We would really appreciate any further opportunity to give thisΒ air time within the Matrix community, whether at an upcoming Matrix Conference, conference session, community call, or another format you think would fit. Unfortunately my official application to present in MalmΓΆ was turned down.
I think it could be an interesting example of Matrix being used well beyond messaging, and weβd be very happy to present and demo what we have built, what we have learned, and where we are taking it next.
πMatrix Federation Stats π
Aine [etke.cc] says
collected by MatrixRooms.info - an MRS instance by etke.cc
As of today,
20512Matrix federateable servers have been discovered by matrixrooms.info,4122(20.1%) of them are publishing their rooms directory over federation. The published directories contain19715rooms.The most popular server software among the online servers is:
- synapse:
15804(77.0%)- continuwuity:
1920(9.4%)- conduit:
543(2.6%)- dendrite:
284(1.4%)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.
| Rank | Hostname | Median MS |
|---|---|---|
| 1 | vrkknn.net | 167 |
| 2 | codestorm.net | 186 |
| 3 | raccoon.cafe | 192 |
| 4 | sspaeth.de | 235.5 |
| 5 | ellis.link | 251.5 |
| 6 | awesomesheep48.ca | 301 |
| 7 | qwertyad.one | 317.5 |
| 8 | victorewik.es | 353 |
| 9 | elisaado.com | 367.5 |
| 10 | koshchki123.com | 390.5 |
π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
