The Adventures of TWIM bot
Last week the Matrix Scientists had turned this room into a portal to TWIM bot's ship tank so we could all fuel it with news about our work. The spec and hookshot news were reported late when the tank was already full, sending TWIM bot's ship into hyperspeed mode 🚀
We lost contact with the bot for a few days but managed to restore a connection with it. It appeared to have crashed on the green planet of Fuj'ehr. Its ship shattered in pieces at impact! 💥
The bot managed to find most of them, but some critical pieces of the engine were missing. We needed to find those pieces quickly before the mushy ground of Fuj'ehr swallows them forever! 😱
The Editor has asked the Matrix Scientists to reconfigure the room and bridge it to TWIM bot's navigation tools. Each news report highlighted the position of a piece of engine on its map. 🗺️
Matrix Live 🎙
This week my guests are the FluffyChat and MinesTRIX maintainers, following the v1 release of the simple and beautiful FluffyChat… and they want to work together!
Dept of Status of Matrix 🌡️
Austin Huang reports
Very handy to quickly know if a server is well maintained or not before making it your new home!
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.
- MSC3554: Extensible Events - Translatable Text
- MSC3553: Extensible Events - Videos
- MSC3552: Extensible Events - Images and Stickers
- MSC3551: Extensible Events - Files
- MSC3550: Allow HTTP 403 as a response to profile lookups
- MSC3547: Allow appservice bot user to read any rooms the appserice is part of
MSCs with proposed Final Comment Period:
- No MSCs entered proposed FCP state this week.
MSCs in Final Comment Period:
- No MSCs are in FCP.
Extensible events are coming! With lots of potential usecases to be built on top of the concept (such as threading, polls, and any type of data one would like to through on top of existing room events), extensible events are finally getting some love. New MSCs are available above, which detail some of these usecases. Exciting times!
A small correction from last week's issue: the next aggregations MSC to be focused on (after MSC2675 (serverside aggregations) is MSC2677 (annotations and reactions), as it's a more pressing blocker for usecases such as threading and polls.
Otherwise, the Spec Core Team is continuing to wind down in preparation for the holidays ☃️
Random MSC of the Week
The random spec of the week is... MSC3015: Room state personal overrides.
Quite a novel concept, and one that would enable many usecases, such as the ones described in the MSC itself. Check it out if that's something that interests you!
Dept of Servers 🏢
Synapse is the reference homeserver for Matrix
This week we cut Synapse release candidate 1.49.0rc1 It includes a bunch of work to supporta plethora of MSCs (MSC 2675, MSC3030, MSC2918, MSC2946), a crop of bugfixes and improvements to our documentation which incorporate Synapse's old wiki. And as ever, there's a bunch of internal type hinting to keep the Synapse team's blood pressure at healthy levels.
The formal release of Synapse 1.49.0 is scheduled for the coming Tuesday. This will be the last Synapse release of 2021 as the Synapse team prepare for a break over the Christmas period. Releases will continue at the usual pace in the new year, with 1.50.0rc1 slated for 2022/01/04 and 1.50.0 for 2022/01/11.
Please note: Synapse 1.49 will be the last version to support Python 3.6, PostrgreSQL 9.6, and Ubuntu 18.04 LTS (Bionic): by our next release, these will have reached their upstream end-of-life. If you're reliant on any of these platforms, please ensure you have plans to upgrade.
In other news, we're preparing to release a new version of Sygnal with a series of fixes for common errors. This should make Sygnal administrators much happier by removing an awful lot of error spam from logs!
Sydent is the reference Matrix Identity server. It provides a lookup service, so that you can find a Matrix user via their email address or phone number (if they have chosen to share it).
Homeserver Deployment 📥️
Helm Chart ↗
Matrix Kubernetes applications packaged into helm charts
This week has seen yet another set of updates to my Helm Charts, with element-web being bumped to 1.9.6 and matrix-synapse seeing fixes to non-standard port configurations and better support for modern ingressClass handling.
Dept of Clients 📱
Desktop client for Matrix using Qt and C++17.
If you are using Nheko on a mobile device like the PinePhone, you should now be able to swipe between the room list and the spaces list. Since I don't use a PinePhone, feedback will be appreciated!
A client for matrix, the decentralized communication protocol
Tobias Fella announces
NeoChat version 21.12 is out! You may have noticed that this version number is roughly twenty times higher than the previous one. This means that NeoChat is now twenty times as good as the last version. Or it means that version numbers are utterly meaningless and we switched to a date-based version number system since NeoChat is now released together with many other plasma-mobile related apps. This also means that new versions will arrive monthly from now on. New features and fixes in this version include - but are not limited to:
- Spell checking while writing a message
- Improved markdown to html conversion when sending a message
- Built-in theme switching
- Various fixes to login, logout and account switching
- Support for custom emojis
- Support for Spoilers
- Support for Blurhashes
Everything related to Element but not strictly bound to a client
Danielle Kirkwood announces
- Threads is making excellent progress; This week we held 2 internal testing sessions, both of which went swimmingly.
- We’re continuing our hard-work on Notifications to fix those up as best we can.
- Also, we started work on the Threads Filter. The filter will allow you to choose between all the threads in a room and threads you’ve actively participated in.
- If you’re using the Labs version of Threads, let us know what you think so far!
- Exciting news on Polls; All development on Polls MVP is nearly complete, and will soon be making their way to a production environment near you!
- Polls will be available behind Labs flags at first. We're excited to see people using it and we’re looking forward to hearing any feedback/comments.
- Closed 20 out of 36 issues in encryption and verification (E2EE) this week.
- We are planning three testing sessions for next week:
- Tuesday 17:00-18:00 UTC - first time user experience on iOS, Android and Web
- Wednesday: 16:00-17:30 UTC - information architecture changes on Web (with Michael and Nique joining us from the Delight team)
- Thursday 16:30-18:00 UTC - bug squash edition on encryption, can we get the issue count to an all new low?
- Join us! We’re at #element-community-testing:matrix.org
Element Web/Desktop ↗
Secure and independent communication, connected via Matrix. Come talk with us in #element-web:matrix.org!
Danielle Kirkwood announces
- We are monitoring and triaging feedback, which is submitted through the new feedback interface in the app.
- In Labs:
- Work continues on Information Architecture: this week we’ve made a spotlight search labs feature that we’ll be testing to replace the current filter.
- We’re also starting to test preferences per space, so keep your eyes peeled for those.
madlittlemods (Eric Eastwood) reports:
Jump to date headers soon in Element
From the experimental MSC3030 implementation merge to Synapse update in TWIM last week, we now also have the start of some client usage in Element to make featureful jump to date headers!
If you've ever tried to find a message back in the past, you've experienced the burdensome task of having to scroll back manually for days, even months! With the jump to date headers, that will be a thing of the past 😌. Clicking any date separator in the room timeline, will give shortcuts to jump to last week, last month, jump to any date using the date picker, or even the beginning of the room to follow a room upgrade chain.
This is currently still in a draft pull request state but will give another update when it lands in Element Labs for everyone to use.
Element iOS ↗
Secure and independent communication for iOS, connected via Matrix. Come talk with us in #element-ios:matrix.org!
Danielle Kirkwood reports
- On iOS it’s been a week of completing things!
- We’ve made some final changes to PostHog analytics and MatrixKit has been integrated in element-ios.
- There have also been lots of bug fixes - especially around an app crash.
- Don’t forget! As per our update from last week, our release candidates are now prepared on Tuesdays (not Wednesdays).
Element Android ↗
Secure and independent communication for Android, connected via Matrix. Come talk with us in #element-android:matrix.org!
Danielle Kirkwood reports
- Element Android 1.3.9 has been released on the PlayStore and is available for the beta testers:
- This version adds support for draft voice messages and a new design for URL previews.
- Opt-in PostHog analytics will land soon, and will be included in the next release.
- A new "Legals” screen has been added to Settings in order for users to see all legal info pages for Element, the user's homeserver and the user's identity server (if any).
- The next release candidate will be prepared next Tuesday.
Commune is a communications suite built on top of matrix. Commune aims to bring together chat, discussions, email and other interactive apps into a single matrix client.
So here’s the thing ahq (dev) and I (product) have been working on: https://github.com/commune-org/commune It’s a chat/forum hybrid. Still in pre-alpha, proof-of-concept stage.
Dept of Non Clients 🎛️
Matrix powered stream overlay for OBS, to integrate live chat in your favorite (selfhosted) streaming setups.
TWIM I wrote a Matrix powered stream overlay for OBS, to integrate live chat in your favorite (selfhosted) streaming setups. Was a great little 2 evening project to develop while livestreaming it's development :)
You can find the code and instructions at https://git.pixie.town/f0x/matrix-streamchat and a hosted instance at https://streamchat.pixie.town
Dept of SDKs and Frameworks 🧰
Olm bindings for Java
jOlm has seen two releases since the previous update, v1.0.7 and v1.0.8. jOlm now supports (and requires at least) the latest
libolmversion 3.2.7. Please note that we deprecated a number of methods in favor of renamed siblings. The majority of the old ones will be removed in the upcoming jOlm 1.1 release, likely published soon after
libolm's announced security release on Dec. 13th. Please follow suit and update your implementations accordingly.
- 🧰 Maintenance and upstream update releases
- ⚠️ Renamed methods for improved coherence and due to upstream changes (old ones deprecated)
- ✅ Up to date with Olm 3.2.7 (new minimum requirement)
- Deprecated methods (see the individual release notes for full details):
- Refined unit tests
- Updated dependencies
Dept of Videos 📹
We previewed yet more native Matrix VoIP conferencing at CommCon: https://www.youtube.com/watch?v=A4k7DVIK5TE&list=PLvNS4EBAxmJJbvGW-PfXdXOSy9AjHjCLV
If you've got room for more video content, I also said more things about bridges. In this one, we do a live code session for a twilio bridge and watch it fly! https://www.youtube.com/watch?v=S5q3FLLvRn4
Dept of Interesting Projects 🛰️
Wily Messenger Matrix client
Wily has launched an iOS Matrix client to enable messaging in restricted- or poor networks. mText and Room events are transferred as DNS payload, thus bypassing most captive portals, while message headers are minimized to enable messaging in very low bandwidth/high latency networks.
Wily Messenger is in POC stage, missing i.e. encryption at the moment, among others. We are committed to develop it further and invite a Kotlin developer to join our journey. DM @hp:hq.wily.im
Room of the Week 📆
We've set up a new Element Space for the Element family of clients and projects, finally. Feel free to join it at #community:element.io and be sure to check out #community:matrix.org while you're there for everything Matrix related.
There's also #element-translators:matrix.org for the Element Translators community out there.
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.
The Adventures of TWIM bot continued
The members of the Federation have been very active and helped TWIM bot to find all the pieces of its ship! TWIM bot assembled everything together and put the engine back in its place... but at the last moment, as it was ready to take off, another bright spot appeared on the map following madlittlemods late report!
How could this happen? All the pieces of the engine were already there! Unsure of what to do, the bot asked Earth for directions. Earth confirmed: it was worth going to that new bright spot on the map.
The bot welded back the plate of the engine casing, made sure nothing could get into the ship in its absence, and started heading to the mysterious spot. The signal of our communication tools with TWIM bot weakens as it enters in the thick forest of Fuj'ehr…
That's all I know 🏁
See you next week, and be sure to stop by #twim:matrix.org with your updates!