Dept of Spec 📜
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.
- MSC4049: Sending events as a server or room
- MSC4048: Signed key backup
- MSC4047: Send Keys
- MSC4046: Make & send PDU endpoints
MSCs in Final Comment Period:
- No MSCs are in FCP.
Matrix 1.8 is here!
If you haven't yet seen the blog post, check it out. Room version 11 is new in this release, and we've already got an idea for what Matrix 1.9 looks like :)
New MSCs in detail
In this new segment, we aim to give a bit more context as to why an MSC was opened, beyond what is available in the MSC's introduction.
MSC4049 is highly experimental investigative work into what it would take to support making messages as appearing to be sent by a room or server instead of a user. There are some use cases highlighted in the MSC itself, but the primary driving factor is a point of relatively minor feedback from the MIMI working group: "does
senderreally need to be a user ID?". The spike-shaped experiment overlaps heavily with both crypto IDs and pseudo IDs by accident, but might help inform those two projects via MSC4047 and MSC4046. Currently there is not a plan to push any of the 3 MSCs towards FCP, though feedback is very much welcome on how the stack feels.
MSC4048 is part of the crypto team's mission to improve encryption across all of Matrix, with this particular MSC looking to improve the trustworthiness of key backups. Watch this space for updates as the MSC progresses, and please provide feedback on the proposal itself.
Dept of Servers 🏢
Synapse is a Matrix homeserver implementation developed by the matrix.org core team
This week we released 1.91.0rc1. Highlights include:
- Implements an admin API to lock an user without deactivating them. Based on MSC3939
- Fix performance of state resolutions for large, old rooms that did not have the full auth chain persisted
- Fix a bug introduced in 1.87 where synapse would send an excessive amount of federation requests to servers which have been offline for a long time
- Allow customising the IdP display name, icon, and brand for SAML and CAS providers (in addition to OIDC provider)
and much more. If you'd like to take a deep dive into the changes, you can find the release notes here and as always, if you encounter a bug feel free to report it at https://github.com/matrix-org/synapse/issues/new/choose.
Second generation Matrix homeserver
Devon Dmytro announces
This week we released v0.13.2. Here are a few of the highlights:
- Further improvements and fixes for MSC4014: Pseudonymous Identities
- Space summaries (MSC2946) have been moved from MSC to being natively supported
- The default room version to use when creating rooms can now be configured using room_server.default_room_version
- Migrations in SQLite are now prepared on the correct context (transaction or database)
- Event size checks are more in line with Synapse
- Getting local members to notify has been optimized, which should significantly reduce memory allocation and cache usage
- Background federated joins should now be fixed and not timeout after a short time
- Database connections are now correctly re-used
...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.
Dept of Clients 📱
A client for matrix, the decentralized communication protocol
Carl Schwan announces
This week we released a new major version for NeoChat as part of the KDE Gear 23.08 release. This will be likely the last version using Qt5.
NeoChat received a full visual overhaul of its user interface, which should make it looks a lot cleaner. The timeline bubbles use nicer shadows, we revamped the room list style and improved the notification images to display both the user and the room avatar at the same time. Read markers from the other participants in the room will be displayed in the timeline. The right sidebar which displays the list of participants and the room information now has a special look for direct chats and the whole sidebar is scrollable now instead of just the participants list.
Apart from a visual overhaul, NeoChat can now display location events and also a map with the location of all the users currently broadcasting their location using Itinerary's Matrix integration. Great for locating where your friends are.
We also made it possible to send stickers and the existing custom emoji editor now lets you add new custom stickers too. Finally, we improved our development tools, which allow users to inspect the state of a room and fixed a lot of stability issues all other the place.
Matrix client for Emacs
M-RETwhen point is at an image) view and scale images. (Thanks to Steven Allen for these and other image-related improvements.)
ement-room-image-show-mouseis used to show an image with the mouse.
image-modewhen showing images in a new buffer. (Thanks to Steven Allen.)
ement-room-image-showis not used for mouse events.
- Show useful message in SSO login page.
- Allow editing of already-edited events.
- Push rules' actions may be listed in any order. (Fixes compatibility with v1.7 of the spec. Thanks to Steven Allen.)
- Clean up SSO server process after two minutes in case SSO login fails.
- Don't stop syncing if an error is signaled while sending a notification.
ement-room-list-next-unreadcould enter an infinite loop. (Thanks to Visuwesh and
- Events in notifications buffer could appear out-of-order. (#191. Thanks to Phil Sainty.)
ement-read-receipt-idle-timercould be duplicated when using multiple sessions. (#196. Thanks to Phil Sainty.)
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+.
- This week we continued our foray into OIDC and we’re making very good progress, it won’t be long now
- There’s a brand new user-defined notification settings screen 👏
- We also built the underlying structure for what’s going to become mention pills
- Deep dove into startup performance and made sure that the rooms load in 0.1 shakes of a lamb's tail
- plus tackled a significant number of bugs, developer experience improvements and testing additions
Element X Android (website)
Android Matrix messenger application using the Matrix Rust Sdk and Jetpack Compose
- OIDC has been integrated into Element X Android. Users using a compatible server should be able to sign in using this solution. You can test it using the latest nightly build.
- In the meantime we are still stabilising the application
- Work on polls has made big steps, as well as integrating the Rich Text Editor.
- Coming soon: Account setup screen, displayed the first time the user signs in to an account, since the very first sync performed by the sliding sync proxy may still take time for big accounts.
- Regarding the release, we will make an update of the open testing version, and move it to production in the coming days if we’re happy with it.
Element Web/Desktop (website)
Secure and independent communication, connected via Matrix. Come talk with us in #element-web:matrix.org!
Johannes Marbach says
- Progress on stuck notifications, sadly, slowed down a little this week as we've been busy with maintenance and infrastructure issues.
- Our work around using Compound components in the room header continues. We've finished up the avatar component changes and dealt with some of the expected / unexpected fallout from making app-wide changes.
- Finally, we also proceeded moving from Weblate to Localazy for our translations. We've reduced the number of source strings by using built-ins for language names and similar things and started realising string reuse with the Element X mobile apps.
Dept of Non Chat Clients 🎛️
Carl Schwan reports
KDE Itinerary is a digital travel assistant that protects your privacy. It makes collecting all the information about your travel inside a single application easy and straightforward. KDE Itinerary is available for Plasma Mobile and Android. We release Itinerary at the same time as NeoChat, and in this release, apart of the integration of many more transport providers, it lets you connect your Matrix account with Itinerary to share your live location inside a Matrix room based on the on-board APIs from your train or flight.
Itinerary broadcasts the position, as specified in the relevant MSCs, and extends it with the direction the user is headed towards.
About this release: https://kde.org/announcements/gear/23.08.0/#itineraryhttpsappskdeorgitinerary More information about Itinerary: https://kde.org/for/travelers/#kde-itinerary
Dept of SDKs and Frameworks 🧰
Multiplatform Kotlin SDK for Matrix
Trixnity v3.10.3 has been released with some minor improvements and a fix of a long standing (March 2023) bug.
- move [Event] extensions from trixnity-client to trixnity-core
- server discovery fallback when no .well-known exists
- fix wrong check of mac in sas verification (failed, when other client accepts emojis first)
Dept of Ops 🛠
Matrix server setup using Ansible and Docker
Thanks to Johan Swetzén's efforts (who finished what was started by James Reilly and Shreyas Ajjarapu), matrix-docker-ansible-deploy now supports bridging to Android SMS and Apple iMessage via the mautrix-wsproxy service (in combination with a mautrix-imessage bridge running on your Mac or Android phone).
See our Setting up Mautrix wsproxy for bridging Android SMS or Apple iMessage documentation page for getting started.
Dept of Services 🚀
Your matrix server on your conditions
TLDR: Bring-your-own-server orders on etke.cc no longer incur a one-time setup fee ($50) as part of a pricing change experiment, thus making Matrix hosting with us more accessible and encouraging more people to host on their own server. Additional details are below.
At etke.cc, we're working on a new ordering form, new services and pricing changes to match. We're always trying to cut down costs and to make prices more fair - smaller/simpler setups costing less, while orders with many components (requiring more work to setup and to support) having a higher cost.
At the same time, we're working on automating more of the order-handling flow and of server maintenance, so that we can keep costs low for everyone.
While all these changes are still being worked on (coming soon!), we'd like to announce another change - the experimental removal of the $50 one-time setup fee that we used to charge for Bring-your-own-server orders. With this fee removed, we're aiming to encourage more people to try Matrix on their own server (on-premise or rented from any provider in any location), as opposed to renting Hetzner Cloud servers out through us via our Turnkey offering.
While our Turnkey offering (optionally combined with hosting on a domain of ours like
YOU.onmatrix.chat) is still the easiest way to get started, we'd like to promote our more-independent and vendor-lock-in-free Bring-your-own-server offering more.
Bring-your-own-server orders are more difficult/costly for us to process compared to hosting Turnkey servers that we are in complete control of, so removing the one-time setup fee may come back to bite us through an influx of many and difficult to process orders. For now, we've decided to take this risk and see how it goes. If you've been wishing to host Matrix via etke.cc but this fee was holding you back, now is your chance!
Dept of Bots 🤖
MatrixJoinLink is bot that allows the creation of invite links to non-public rooms in matrix.
Two weeks ago, I've mentioned the bot the first time in TWIM. Since then, I've made several improvements regarding UX. Now I'm happy to announce the next (probably interesting) version of the bot has been released (Release 0.10.0). Additionally, I've added more pictures of the workflow & technical details to the README of the project; so take a look at it if you like :)
The most important change is the new
linkcommand and more detailed error responses to the users (e.g., if permissions are missing). It was not that easy to create an invite link for a space without using development tools in Element to send messages in the space room itself. Thus, I've extended the
linkcommand of the bot: You can now send a message like
!join link !internal.roomId A fancy link namein order to create an invite link to the room with the mentioned internal id (actually, a matrix.to link will also work as long as it contains the internal id of the room).
So, feel free to test the bot and raise any issue using GitHub or using the development room that is mentioned in the project's README.
Dept of Events and Talks 🗣️
Matrix Community Summit 2023
The Matrix Community Summit 2023 🗻 is taking place September 21st through September 24th (in 4 weeks!!!) at the awesome hacker space station c-base! That time seems to be approaching quite fast, so we just published the first version of the schedule which you can view online here or import to your schedule consuming apps.
Join the event space #matrix-community-summit-berlin-2023:matrix.org for all related rooms including news and general discussion, car pools and room shares, etc. If you can and want to help out with the event organisation, join the Matrix Community Summit Orga!
Tickets 🎫 are now available! In order to be able to provide food and drinks for everyone during the whole event, we are counting on Matrix businesses and professionals to buy our supporter tickets. Specific sponsoring packages are also available. Beyond that, we are looking for a "Media Sponsor" to step up, which would enable us to produce media coverage of the event.
Similar to last year, T-Shirts 👕 commemorating the event will be available again and you can already pre-order them with your tickets, with more details following soon.
The call for participation 🗣️ ended last Sunday (August 20th), however if you missed it until now and just came up with the greatest new idea, don't hesitate to contact us at Matrix Community Summit Orga and we will see how we can squeeze you in.
See you soon in Berlin!
That's all I know
See you next week, and be sure to stop by #twim:matrix.org with your updates!