Matrix Live 🎙
Let's learn about PyQuotient with Vlad and Alexey.
Dept of Status of Matrix 🌡️
Element raises $30M as Matrix explodes!
At first when I read the headline I was scared - explodes? How can I protect myself from this explosion? After a moment of reading this huge news, however, I was relieved - Matrix has exploded in popularity, and Element have all new funding to keep driving the ecosystem forward. Let's go!
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/unstable/proposals.
- There were no new MSCs created this week.
MSCs with proposed Final Comment Period:
- No MSCs entered proposed FCP state this week.
MSCs in Final Comment Period:
- No MSCs are in FCP.
While a quiet week for MSC state changes (shown above), there's still plenty of work and collaboration happening!
Spaces work marches forward as MSC3083 has been merged - allowing for users to join a room in a space based on their membership in a space. We think this will really help with the management of Spaces that contain lots of rooms that are otherwise invite-only.
Otherwise MSC3291 (Muting in VoIP calls) has been receiving positive feedback this week!
Finally, MSC3289 (room v8) is ticking along as the implementation is tested in Synapse and Complement tests.
Dept of Servers 🏢
Synapse is a popular homeserver written in Python.
callahad told us:
Synapse 1.39.0 is out!
Of all the pull requests we landed, my hat is off to MadLittleMods and his Graphviz prowess in #10250, which moves us one step further down the path toward MSC2716: Incrementally importing history into existing rooms. Mmm. Graphs.
But back to Synapse! You should check out the release announcement, but the bulk of the work this cycle went into internal cleanups. Synapse should also be slightly more performant, reliable, and should log fewer spurious errors. Of note, ShadowJonathan did a lot of work with
com2annto move the entire codebase to more modern Py3.6+ conventions and inline type annotations; thanks, ShadowJonathan!
Synapse 1.39 also continues our march toward unifying Synapse's interface for extension modules, and we've now exposed plugin hooks for the
account_validityoption, and experimentally implemented hooks for third party event rules.
Homeserver Deployment 📥️
matrix 1-click app
j3s (he/him) offered:
Hello! This week, I created a matrix 1-click app on the DigitalOcean marketplace. It's basically a pre-baked droplet image that is pre-configured with synapse, element-web, caddy, postgres, plus some setup and moderation tools. My intent was to make self-hosting a Matrix system as easy as pointing some DNS records and running a single script. It makes a lot of sense for smaller, more casual Matrix homeservers, and can serve as a good starting point! It also includes some small utility scripts -
Secrets like the postgres password and registration password are generated on first boot, there's no sensitive data baked into the image. Of course, it would be nice to be able to verify this - the source code used to build the image is being open sourced. I'm just waiting for some internal processes to finish. It will show up at https://github.com/digitalocean/marketplace-matrix somewhat soon!
Dept of Bridges 🌉
Heisenbridge is a bouncer-style Matrix IRC bridge.
Lazy joining of IRC users (see below)
Keep nick feature has been added
Bridge aliveness can be tracked from bridge bot presence
Ident replies can be customized by the admin for all users, default to mxid hash
Pillifying IRC nicks has been improved
The biggest impact feature this time around is configurable lazy joining IRC users which improves the experience of joining massive IRC channels by not flooding the homeserver with join events. This is now the default and can be changed globally by the bridge admin or overridden per room by users.
Many fixes here and there. Still a few issues left before 1.0 and a lot of testing.
Dept of Clients 📱
Announcing Matrix client Cinny 1.0.0
Cinny is a web-based matrix client focusing primarily on simple, elegant and secure interface.
The story started when a friend of mine introduced me to matrix and even after his help it was too difficult for me to get around with Element. I guess it was because Element is too different from other popular chat apps. Then I tried to find a good alternative for web but no success.
That's when me and my friend thought about creating Cinny. For the few weeks we were doing it for fun but when we shared a screenshot of the prototype, the response from people was surprising and that's when things got interesting. We got to know that a lot of people out there are looking for a simple and modern client and so we started building it.
Screenshot on Chrome desktop (see below)
Cinny support the following features:
Login/logout and registration of accounts
Four different themes
Basic alphabetically sorted channel list with unread notification indicator
Creating channels and joining/leaving public channels
Creating Direct messages
Inviting users to channel and basic user list
Sending text messages, emojis and attachments
Support viewing edited messages, reactions, replies, attachments and markdowm
Read receipt for latest messages and typing notifications
History scroll and button for quickly scrolling to bottom in room timeline
Channel topic, join, leave, kick, ban, avatar/nick changes in room timeline
Sending/receiving encrypted text messages and attachments
You can find more about Cinny at https://cinny.in
Join our channel at: #cinny:matrix.org Github: https://github.com/ajbura/cinny
Cinny is astounding. A client appears to us nearly fully-formed and looks great while doing it!
Many improvements have been made to Ement.el, a new Matrix client for Emacs. Ement.el can now send and display images, replies, and reactions, as well as edit sent messages. It also supports desktop notifications, configurable by the user to pop up for mentions or for all rooms with open buffers. (Room: #ement.el:matrix.org)
Something something expands until it reads... Matrix?
Updates from the teams
- 1:1 screen sharing is now merged and on develop! Please give it a try and report bugs - plan is for it to go out in the release after next (ie. two weeks from Monday). Huge thanks to Simon for working on this.
- Simon also has PRs up for mute status signalling, done via MSC3291
- Fixing the bug where the buttons in a call don’t work in full screen mode
- v1.7.34-rc.1 is out (maybe even .2 by the time you read this) - full release planned for Monday
- Continuing to figure out a plan of attack for threading
- Looking at message bubble feedback & fixing bugs
- Also looking at fixing blurhash bugs
- The coming release, 1.4.8, which is available on TestFlight, supports voice messages. The feature is under a labs setting. DM and room tabs now contain only rooms. Local contacts and the public rooms directory can be found elsewhere in the UI. Full changelog at https://github.com/vector-im/element-ios/releases/tag/v1.4.8.
- We continue to make good progress on papercuts (https://github.com/vector-im/element-ios/milestone/58) and the overall app stabilisation.
- Release candidate 1.1.15 is getting prepared. It will include voice messages, under a lab flag.
- Some bugs on the crypto part have been fixed, it should improve the performance on e2e rooms.
FluffyChat v0.35.0 has been released
FluffyChat is the cutest cross-platform matrix client. It is available for Android, iOS, Web and Desktop.
This release introduces stickers and a lot of minor bug fixes and improvements.
Add sticker picker [205d7e8]
Also suggest username completions based on their slugs [3d980df]
Nicer mentions [99bc819]
Render stickers nicer [35523a5]
Add download button to audio messages [bbb2f43]
Android SSO in webview [befd8e1]
Reset bootstrap on bad ssss [b78b654]
Hide stickers button when there is not sticker pack [b71dd4b]
Download files on iOS [a8201c4]
Record voice messages on iOS [4c2e690]
cropped sticker [a4ec2a0]
busy loop due to CircularProgressIndicator [15856e1]
Crash on timeline [a206f23]
typo on website [00a693e]
Make sure the aspect ratio of image bubbles stays the same [a4579a5]
Linux failing on attempting to open hive [76e476e]
Secure storage [0a52496]
Make sure the textfield is unfocused before opening the camera [6821a42]
Close safariviewcontroller on SSO [ba685b7]
- Rename store and allow storing custom values [b1c35e5]
Dept of SDKs and Frameworks 🧰
This summer's gone by so fast it feels like it's only been a week! Here's a summary of what's happened with Ruma the past few weeks:
We have had a productive summer with our two Google Summer of Code students, Adam Blanchet and Devin Ragotzy. Adam finished implementing the last of our Identity Service API endpoints, bringing us to 100% implementation of all the Matrix API endpoints! (And we promise there are no bugs because "Rust," right?)
Besides improving the Matrix ecosystem, Devin has been helping the Rust ecosystem at large by writing some Clippy lints to improve our codebase and upstreaming his additions.
Read more here: https://www.ruma.io/news/gsoc-2021-intro/.
Dept of Ops 🛠
David Mehren offered:
I made maubot-ldap-inviter, a maubot plugin that (surprisingly) invites users into Matrix rooms, according to their membership in LDAP groups.
We are switching from RocketChat to Matrix in the next round of a software engineering course where students work on software projects in small groups.
RocketChat has a LDAP sync, which we previously used to auto-add students and tutors to the chatrooms they need to be in (global announcement room, helpdesk, chat for their group etc.). As there was no such feature for Matrix, I built the bot over the last few days.
It's still somewhat specific to our LDAP setup, but if anyone wants to use the bot and has questions, just open an issue in the repo!
Dept of Services 🚀
Mother Miounne from etke.cc
Mother Miounne is here
At etke.cc we suffered long enough with 2 things - order form on website and invites on private matrix servers.
No more suffering! Because now the Mother Miounne exists and it does 2 things (for now): handles of web/html forms (sends it to matrix room) and handles invite tokens (integrates with matrix-registration)
We use it as backend of etke.cc service for some time, but still consider it as unstable, so try it yourself, hope it can help you 😉
PS: #miounne:etke.cc - matrix room with news & discussions
Dept of Events and Talks 🗣️
Matrix @ FrOSCon 2021 (virtual)
Great news! Matrix Dev-Room and Matrix booth are approved! 🎉
We are currently creating a schedule and we have open slots for talks and workshops!
See you at #FrOSCon:fiksel.info 😉
Dept of Interesting Projects 🛰️
This is a personal project I started a couple of weeks ago. I was dreaming of a good open source solution for OneNote or GoodNotes far a long time. There are already great projects, likeXournal++ and Whitebophir. But, they do not include the extent of possibilities to flexible host, collaborate and structuring the notes I have wished for.
Recently, I was thinking about the exact requirements I wanted for such a whiteboard:
Real time synchronization (cloud storage)
Authentication/account infrastructure (to invite and collaborate on one whiteboard)
Adding/Removing ppl to a whiteboard
Reliable hosting (when having cloud storage, I don't want to trust a one-man project to continue hosting. And a lot of ppl won’t self-host.)
Structuring whiteboards in categories
Viewing history and display which part has been drawn by which person
Annotating other whiteboards with new layers
Hosting for media like PDF's and images
Looking at this list, Matrix was such an obvious choice. I could comment every point but basically with: "A whiteboard should be a Matrix room" everything is said.
TheBoard (probably not the final name) is exactly that. The frontend is not done yet, but already in an okay looking and usable state.
Before trying it out: It takes really long to log in with an account with lots of rooms. So, I highly recommend to NOT use your main Matrix account. Additionally, it is necessary to tag rooms as whiteboards. (really un-intuitive UX that will be improved) But for now the + button needs to be pressed and a (empty (not necessary but recommended) AND UNENCRYPTED) room needs to be selected.
UPDATE I just (on Friday) finished initial spaces support to categorize the whiteboard in notebooks (aka spaces). They can only be create within a matrix client that supports spaces. But they will be displayed properly in TheBoard. (see screenshot)
Any problems, ideas and feedback is highly welcome as a github issue or in the matrix channel #TheBoard:matrix.org.
This project is whiteboard (similar to OneNote) which is
using Matrix as its backend. All your drawings are stored in matrix rooms on your matrix server and are accessible to anyone who is invited.
Try It out at: https://toger5.github.io/TheBoard As always: use at your own Risk
Join the matrix channel at: #TheBoard:matrix.org Github: https://github.com/toger5/TheBoard
Thanks to the awesome https://serverstats.nordgedanken.dev project by MTRNord my small server version history graph now contains more of the matrix fediverse: We went from ~3000 to over 5000 active visible homeservers on https://graph.settgast.org/
Two superb projects combining forces! I've long been a fan of Chris' graphs for tracking the growth of the server ecosystem.
Matrix in the News 📰
Famedly in the news!
Famedly in the news! https://e-health-com.de/details-news/messenger-am-uk-frankfurt-ermoeglicht-simultane-ueberfuehrung-von-chats-in-die-patientendokumentation/
Final Thoughts 💭
Happy Sysadmin day! 🥳
Oleg made us aware:
Let's use this day to thank your Matrix home server admin! Especially folks managing Matrix.org and all the public bridges! ❤️
(If you are hosting yourself then you can tap yourself on a shoulder for doing a great work 😁)
Dept of Ping 🏓
Join #ping:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.
Join #ping-no-synapse:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.
That's all I know 🏁
See you next week, and be sure to stop by #twim:matrix.org with your updates!