I chatted to Rick about the new Small instances available on modular.im.
Dept of Spec 📜
No MSCs have been approved.
Final Comment Period
In Progress MSCs
- [MSC 2192]: Inline widgets (including polls and buttons)
- [MSC 2209]: Alter auth rules to check notifications in m.room.power_levels
- [MSC 2211]: Identity Servers Storing Threepid Hashes at Rest
- [MSC 2212]: Third party user power levels
- [MSC 2199]: Immutable DMs
- [MSC 1849]: Proposal for m.relates_to aggregations
- [MSC 2191]: Proposal for using LaTeX for maths display
(kudos to anoa for providing this well-formatted summary section)
KaTeX rendering support
there's now a pull request in for full native math rendering support (via KaTeX), which will replace the shoddy bot that I made last week (or whenever)
Dept of Servers 🏢
This week we’ve been working on implementing identifier hashing in sydent, a brand new installer for Synapse, we’ve trialled some new db perf improvements which look very promising (more on this soon) and finally very close to an all new implementation of room search.
Next week we’ll push out the all new Sygnal, continue with the installer and room search and pick up some tasks under our privacy umbrella to ensure that Synapse is not holding onto any data that it does not strictly need to.
Dendrite progress marches forwards. This week we had:
- Room tagging implemented (thanks peekay_46!)
- A PR for redactions opened by our GSoC student cnly
- A PR for authentication fallback (for when clients don’t have a web browser built in and want to use recaptcha from trion129
- This has been in the works for a while, and just has a couple small changes left to go!
- Two PRs for filtering database functionality from CromFr
- A PR for fixing the scope of transaction IDs in Dendrite’s transaction cache from cnly
Cnly’s GSoC period ends on August 26th. He has been a massive boon to the project’s cadence so far and we hope he will continue even after GSoC ends when he has time :)
Dept of SDKs and Frameworks 🏗
koma, Kotlin Library
Provide automatic deduplication and rate-limiting when downloading media resources. This improves performance of GUI applications, where avatars of many users may appear on screen at once, and some of them may be identical.
libQuotient's master branch now supports sending and receiving reactions, and receiving message edits. We also have another PR in the works from aa13q that would add support for events decryption, as a part of his GSoC endeavour.
Dept of Clients 📱
Fractal 4.2 released
Alexandre Franke announced a new edition of Fractal:
Nightlies of Fractal are currently stuck on a 2 weeks old build because of one of our dependencies… but the long awaited 4.2 stable release is out! You can get it out fresh from flathub as usual.
Adaptive window, mobile friendly
Window size and position are remembered
Network proxy support
Badges are shown for operators and moderators
Keyboard shortcuts for easier navigation across rooms
Audio and video files are now tagged correctly
Image files have a thumbnail
Various tweaks to the file chooser
Logs actually output something now
A few issues with invites and direct chats have been resolved
More reliable scrolling
Some crashes fixed
Under the hood:
Code refactor continues
We’re now using Rust 2018
Many improvements to the build system and CI
Neo huge update!
Lots of news about Neo!
- There's now an additional maintainer (joepie91)!
- A lot of the internals have been refactored, so they should be more maintainable and reliable going forward. Also some future work planned on refactoring the state handling using Redux, which should make it much faster to fix issues and add new features in the future. There are even some ideas already for a future plugin API!
- Display has been improved in a lot of places. Error messages are now more clearly formatted, images in reply-quotes are now shown as thumbnails rather than just a filename, and the reply-to popup now shows the full event that you're replying to properly. The chat window now correctly sticks to the bottom when you're scrolled to the end and receive new messages, even when an image or video loads - though per-room scroll position restoration isn't done yet.
- There's now an experimental compact mode! It uses a more IRC-client-like layout for messages, and generally just fits more content onto the screen. It can be enabled with an experimental flag. A screenshot of the compact mode can be found here.
You can try the compact mode at https://neo.pixie.town/app/?compactMode=true.
Message editing composer now supports undo/redo.
- Reactions: List of who reacted
- Native Camera. The embedded camera view has been removed. There is now a new action “Take photo and video”
- Privacy: We have been working on implementing terms to display before using integrations
- VOIP / Remove default stun server
- Make Integration Manager optional (disables widgets, calls)
- Feature / Direct Room Creation Flow
- Improvement / Local echo of pending edits
- Improvement / Seamless transition from timeline to fullscreen image preview
- Bug fixes
Pattle is now available on Google Play!
Dept of Bridges 🌉
Hey folks, first an update from the bridges integrations side. We've brought back snoonet and oftc on the integrations menu so you can once again connect matrix rooms to these networks. Other networks should work as standard.
On the matrix-appservice-irc side we've made a few fixes to the handling of IRC modes (things that handle how users should behave) when bridged to IRC. This should hopefully make opping and voicing users more reliable. There are a few other fixes in the pipeline too, so a release isn't too far off.
GitHub issue bridging !?
I had an adventure this afternoon into the world of bridging again, and have made a Github to Matrix bridge. At the moment you can join aliases and saturate your homeserver with the entire history of a issue or PR. You can also chat to folks on issues in realtime.
Check it out at: https://github.com/Half-Shot/matrix-github
Dept of Ops 🛠
debian-based K8s-optimized image
Just pushed a debian-based K8s-optimized image as well, it's 150MB larger than the alpine one, but on the other hand it comes with jemalloc support so it's nicer on the RAM instead.
CLI federation tester
kai is someone with no fear of rapid iteration! Versions 1.2, 1.3, 1.4 and 1.5 of his script were made available this week:
I finished version 1.5 of my small command line based federation tester. The bash script relies heavily on popular Unix tools like awk, curl, jq, sed and so on. Compared to https://federationtester.matrix.org, the outputs are a little more detailed and additional tests are performed, especially on the supported SSL protocols. Currently, it has only been tested under Linux.
The current version improves the handling of port in the .well-known and DNS SRV configuration.
You can download it from #cli_federation-tester_de:matrix.chat-secure.de or directly via https://matrix.chat-secure.de/_matrix/media/r0/download/matrix.chat-secure.de/MDwYLdrxRdudmcgDzBEALCzN
Dept of Bots 🤖
jcgruenhage has been working on a bot in relation to the startup he's working with:
I made a bot for issuing Json Web Tokens to matrix users based on what homeserver they are on. It's implemented as a maubot plugin (best way to write bots right now) and licensed under the AGPLv3. You can find it over at https://gitlab.com/famedly/bots/jwt, and talk about it in #jwt-bot:famedly.de
As for the usecase, we want to give people from customer homeservers access to an API component, but don't want to maintain a separate account database. This way, they can request a token from the bot and then use that to interact with the API component
Dept of Services 🚀
<Feneas community hat>We've added a public fully featured Telegram bridge to our Matrix stack. More info in our forum.
</Feneas community hat>
This is great - we must tip the hat to tulir, creator of this widely-used bridge.
Final thoughts 💭
Interview about DINSIC's use of Matrix (all in French)
That's all I know 🏁
So that's all I have to say to you right now! 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