πMatrix Live π
πDept of Spec π
TravisR announces
Hello everyone! It's me, not-anoa, here with your weekly spec update. I finally got the scripts to run which means you get a proper update once again (yay).
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://matrix.org/docs/spec/proposals.
πMSC Status
MSCs in Final Comment Period:
- MSC3589: Room version 9 as the default room version (merge)
- MSC3582: Remove m.room.message.feedback (merge)
New MSCs:
- [WIP] MSC3726: Safer Password-based Authentication with BS-SPEKE
- MSC3725: Content warnings
- MSC3723: Federation /versions
Closed MSCs:
πSpec Core Team
In terms of Spec Core Team MSC focus for this week, we've been looking at unblocking MSC3440: Threads so it can make a smooth journey into acceptance. This involves quite a lot of work to ensure that the features we're concerned about are addressed, but so far the FCP progress on it is looking good.
We're also spending a bunch of time working out what room version 10 looks like to try and fix some usability issues with join rules and general maintenance of things like power levels. The hope is that in time for Matrix 1.3 we'll have v10 out (but not made default) for folks to experiment with.
πRandom MSC of the week
Your random MSC is MSC2974: Widgets: Capabilities re-exchange. I swear it was actually random and only after running the script exactly once. The MSC is interesting because it allows widgets (a feature working its way into the general spec, slowly) to ask for more permissions when they need them. This ensures the widget doesn't need to ask for everything at startup (which is more likely to mean that it gets rejected), and that it can maintain a clean security state during normal operation.
One day it'll probably make it into the spec as part of the larger widget movement, but first we need to get widgets into the spec properly.
πThe Graph
Numbers only mean so much, and graphs show progress. Here's the breakdown of MSCs over time:
πOf note
If you look carefully at the OpenAPI viewer, you might notice a dropdown for not-client-server APIs π. There's still work to be done to bring on the missing APIs, but this is in a place where it can be experimented with. Thanks to Alexandre Franke for getting this over the line :)
πDept of Servers π’
πSynapse (website)
Synapse is the reference homeserver for Matrix
Brendan Abolivier reports
This week we've released Synapse 1.53.0rc1, which includes a bunch of new features, improvements, and other niceties... But more on that next week when we release Synapse 1.53.0 π As usual, we're super grateful for anyone that helps us test release candidates by running them with their homeservers! Please report any breakage or feedback in #synapse:matrix.org
Apart from this we have been continuing our experimentations with Poetry to better manage our dependencies in our Python projects after we switched Sydent to it last week. We're already starting to see improvements off the back of this work, such as automated security PRs and an opportunity to centralise our automated workflows to better reuse them in our projects (see https://github.com/matrix-org/backend-meta). We look forward to bringing all this goodness to Synapse soon!
See you next week! π
πHomeserver Deployment π₯οΈ
πHelm Chart (website)
Matrix Kubernetes applications packaged into helm charts
Ananace says
And my Helm Chart updates are still happening, also now listed on Artifact Hub for easier discovery. This week saw several element-web updates, finally ending on 1.10.4
πDept of Clients π±
πNheko (website)
Desktop client for Matrix using Qt and C++17.
Nico says
Is using Nheko a bit of a pain on your PinePhone? Do you just want bubbles in your chat app, not raw lines of text? Does Nheko waste too much space on timestamps and other metadata for messages?
Well, I am assuming Malte was annoyed by that or similar reasons. But in the end, they did spend a lot of effort reorganizing the way Nheko layouts messages so that people can have bubbles. This should make Nheko feel much more at home on the PinePhone and it seems like they are doing even more to make Nheko a great experience on mobile devices! But just look at it yourself:
If you are scared now and you think: "This is not the Nheko I came to love!", don't worry, all of this is optional. You can play around with the different avatar sizes as well as the bubbles themselves. You can even make Nheko look like it always looked!
There will be some regressions though. If you want to contribute, it would help a lot if you test those changes and report issues that you find! <3
Apart from that, there were also a lot of other bugfixes and cleanups by various contributors. You can also hide events by type now. If you don't want to see stickers or when someone joins a room, just disable that in the room settings! Tastytea implemented that. Long usernames should now also no longer overflow the profile pages and you can reset the state for a single room using the /reset-state /command. This is helpful when updating Nheko to use widgets, but Nheko just threw those events away (or pinned messages or other state events).
That's all, have a wonderful bubbly day!
πElement (website)
Everything related to Element but not strictly bound to a client
kittykat reports
Hello and welcome back to another week at Element!
Location Sharing
- As of this week, Location Sharing is now available by default for users on all platforms, except desktop where you can receive but not send locations.
- Weβre starting work on the next stage, which is to enable live location sharing, and βpin droppingβ where you can pick any location on a map to share.
Threads
- Threads are now live in Labs on all Element platforms!
- Please remember this feature is experimental; let us know your feedback and report any bugs as we continue to improve.
- The teams on all platforms are working hard on improving the stability and performance of Threads.
πElement Web/Desktop (website)
Secure and independent communication, connected via Matrix. Come talk with us in #element-web:matrix.org!
kittykat says
- The new search experience came out this week, you can enable it in Beta to try it out! We are collecting feedback from users to inform upcoming improvements.
- Weβre working hard on smashing bugs and reducing the number of defects.
πElement iOS (website)
Secure and independent communication for iOS, connected via Matrix. Come talk with us in #element-ios:matrix.org!
kittykat announces
- Along with closing bugs, weβre working hard on adding finesse to our app and removing some of those βpapercutβ issues that users experience.
- Keep your eyes peeled for updates and let us know what you think!
- Our first time user experience is being updated also. Weβve introduced new splash screens to help introduce Element. Donβt panic! You can skip straight to βsign-inβ if this isnβt for you.
- A new spinner is hereβ¦ While we work on the speed and performance of the app weβve introduced a new spinner that does not get in your way while you work.
πElement Android (website)
Secure and independent communication for Android, connected via Matrix. Come talk with us in #element-android:matrix.org!
kittykat says
- Bugs and Papercuts⦠Our app is getting some love from our developer team as we try to reduce confusion and simplify flows throughout the app.
- Keep an eye out for any small changes and let us know what you think!
- Creating a new account in Element can be intimidating for new users, especially those who arenβt familiar with Matrix. Weβre introducing new screens and simplifying our questions so that users can sign up with confidence!
- If you have any feedback, or want to share your thoughts on our first time user experience, get in touch.
- A new layout option hit our app this week: Message Bubbles! If youβre used to seeing inbound messages on the right, and outgoing messages on the left this might be for you. You can access the new appearance option from Settings.
πDept of Non Chat Clients ποΈ
πBeeper media viewer
tulir says
I wrote a small web app thing that can download, decrypt and display Matrix media in a browser. The goal is to use it in the Android SMS bridge for sending attachments that are too big for MMS, but it might be useful for other things too.
Currently it consists of the web frontend, a maubot plugin to generate links, and a small server that stores file metadata (so the URLs just contain the decryption key and a short ID to find the metadata on the server). I'll probably continue working on the exact URL format to make it shorter and to encrypt the metadata, and maybe also add an alternative mode where all info is included in the URL to make the server component optional.
You can try it out by sending files in an encrypted room with @media:maunium.net. It'll reply with a link like https://media.mau.chat/AGIPyjtJQAU#KHBwuZFrv1ffCd4ZUylo8MV03P9N4sz2T75zLi1Urcw
The code can be found at https://gitlab.com/beeper/media-viewer
πCactus Comments (website)
Cactus Comments is a federated comment system for the web, based on the Matrix protocol.
AsbjΓΈrn says
Cactus Comments is a comment system for the open web, built on Matrix.
Another small-ish release for the client: v0.12.0
This update introduces a new UI for the login form.
Here's the changelog:
- Re-structure login form to more clearly separate matrix.to links from direct login.
- Require user id (e.g.
@alice:example.com
) instead of username. Only show homeserver url field if .well-known lookup fails.- Add top-right "X" button to close login modal.
- Login modal now closes when you press outside it.
- Fix some CSS bugs related to positioning the login form in viewport center.
- Make
LoginForm
a stateful component./ipns/latest.cactus.chat is updated to point to the latest release, so sites linking there should already be using the new version.
Try out a live demo: cactus.chat/demo
Join our Matrix room: #cactus:cactus.chat
πDept of Ops π
f0x says
I worked on adapting the NixOS module for Synapse to support worker deployments. It's a great reproducible deployment method, and super easy to configure. My module is perhaps less quality than the rest of the chain, but it's pretty neat to define your whole Matrix deployment like this: https://git.pixie.town/f0x/nixos/src/branch/synapse-workers/nodes/cosmos/containers/synapse-workers.nix#L60 and have Nix figure out all the systemd units and nginx routes that have to be added
Full Nix code for the module is at https://git.pixie.town/f0x/nixos/src/branch/synapse-workers/common/modules/synapse pictured is the ping stat for a little test deployment with 8 federation senders :P
Dandellion dares
do tell your about publishing my NixOS module for workers in a git repository as well then π? https://github.com/dali99/nixos-matrix-modules
πmatrix-docker-ansible-deploy (website)
Matrix server setup using Ansible and Docker
Slavi says
matrix-docker-ansible-deploy now supports installing the matrix_encryption_disabler Synapse module (details here), which homeserver admins can use to prevent End-to-End-Encryption from being enabled by users on their homeserver. The popular opinion is that this is dangerous and shouldn't be done, but there are valid use cases for disabling encryption discussed in this Synapse issue.
πDept of Services π
πetke.cc (website)
Your matrix server on your conditions
Aine reports
π Today marks 1 year of the etke.cc! π
During that year, we did:
- Pushed 234 updates and enhancements to the automation framework used as the service core
- Integrated 17 additional components to the matrix stack
- Developed 5 bots and tools to extend matrix capabilities
- Installed 92 new matrix servers
- Helped 172 people and organizations to achieve their goals in the matrix
- Posted 74 updates in the announcements room
Some history:
- the project (not service yet) started on February 12, 2021
- the first installed server was etke.cc itself (yes, etke.cc homeserver is a customer of etke.cc service from the day 1)
- the second installed server was a chatbot, that uses matrix as a platform to interact with users across different chat networks (Telegram, WhatsApp, Signal, etc.) - one API to rule them all.
- In May 2021 the service was published globally
#news:etke.cc | #discussion:etke.cc
πDept of Bots π€
πmatrix-wordle (website)
An implementation of the popular Wordle game for the Matrix Protocol.
krazykirby99999 reports
An implementation of the popular Wordle game for the Matrix Protocol.
Source: Github Repository
Made with simplematrixbotlib
πSetup
Install Python 3.8 or higher
Install python-poetry
python -m pip install poetry
Clone Repository
git clone https://github.com/KrazyKirby99999/matrix-wordle.git
Install Dependencies
cd matrix-wordle python -m poetry install
πUsage:
Set environment variables
HOMESERVER=https://matrix.org USERNAME=wordle-bot PASSWORD=password # or ACCESS_TOKEN=syt_...
Run main.py
python -m poetry run python main.py
πExample:
πDept of Interesting Projects π°οΈ
TravisR reports
After a few years, matrix-room-directory-server has finally gotten an upgrade to modern times. Intended to eventually be a standalone directory server (making vanity aliases possible, but otherwise not functional as a homeserver), it currently only supports overriding the federation
/publicRooms
endpoint.The changes made today are to replace the old, broken, appservice-backed approach with a space-backed approach. You can see this in action on t2bot.io: querying the room directory over federation will hit the room directory server, which is watching #directory:t2bot.io in the background to determine which rooms to serve.
πDept of Guides π§
minecraftchest1 says
Hay y'all. I created a blog post about how to host element and matrix .well-known files using cloudflare pages that I thought might be worth sharing. Have a few kinks to work out regarding CORS (might need to clean my browsers cache) though. https://minecraftchest1.wordpress.com/2022/02/17/hosting-element-and-matrix-well-known-files-with-cloudflare-pages/ https://matrix.to/#/#minecraftchest1-blog-matrix-elemet-cloudflare:matrix.org
π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.
Rank | Hostname | Median MS |
---|---|---|
1 | workers2.pixie.town | 270.5 |
2 | matrix.org | 320 |
3 | neko.dev | 345 |
4 | magdeburg.jetzt | 427 |
5 | koyax.org | 491 |
6 | jae.fi | 565 |
7 | wuks.space | 664 |
8 | fachschaften.org | 703 |
9 | balsillie.net | 704 |
10 | matrix.sp-codes.de | 743.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.
Rank | Hostname | Median MS |
---|---|---|
1 | nognu.de | 210 |
2 | rustybever.be | 262.5 |
3 | cry.is | 299 |
4 | matrix.org | 322.5 |
5 | conduit.grich.sk | 331 |
6 | dendrite.grin.hu | 568 |
7 | conduit.rs | 613.5 |
8 | matrix.sum7.eu | 635.5 |
9 | dendrite.s3cr3t.me | 896 |
10 | dendrite.matrix.org | 1430 |
π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.
Support us