12 KiB
+++ title = "This Week in Matrix 2019-08-02" date = "2019-08-02T23:35:44Z" updated = "2019-08-02T20:23:57Z" path = "/blog/2019/08/02/this-week-in-matrix-2019-08-02"
[taxonomies] author = ["Ben Parsons"] category = ["This Week in Matrix"]
[extra] image = "https://matrix.org/blog/img/2019-08-02-github.png" +++
Matrix Live
I chatted to Rick about the new Small instances available on modular.im.
{{ youtube_player(video_id="dZx6DwkNpvk") }}
Dept of Spec 📜
Approved MSCs
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
Tim:
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)
https://github.com/matrix-org/matrix-react-sdk/pull/3251
Dept of Servers 🏢
Synapse
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
anoa:
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
yuforia has this update about koma, the library used to power continuum:
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
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.
Changelog:
New features:
Adaptive window, mobile friendly
Window size and position are remembered
Redesigned login
Spellcheck
Network proxy support
Typing notifications
Badges are shown for operators and moderators
Keyboard shortcuts for easier navigation across rooms
Better uploads:
Audio and video files are now tagged correctly
Image files have a thumbnail
Various tweaks to the file chooser
Bugfixes:
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.
Riot Web
Message editing composer now supports undo/redo.
Riot iOS
- 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
Riot Android
- VOIP / Remove default stun server
- Make Integration Manager optional (disables widgets, calls)
RiotX (Android)
- Feature / Direct Room Creation Flow
- Improvement / Local echo of pending edits
- Improvement / Seamless transition from timeline to fullscreen image preview
- Bug fixes
Pattle
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.
matrix-appservice-irc
Half-Shot again:
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 !?
Half-Shot AGAIN:
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 🚀
jaywink used an underrated HTML tag tag to inform us:
<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 💭
red_sky: Nheko now has a weblate instance set-up for users to contribute translations: https://weblate.nheko.im/engage/nheko/
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!