21 KiB
+++ title = "This Week in Matrix 2021-08-27" path = "/blog/2021/08/27/this-week-in-matrix-2021-08-27"
[taxonomies] author = ["Alexandre Franke"] category = ["This Week in Matrix"]
[extra] image = "TODO" +++
Matrix Live 🎙
{{ youtube_player(video_id="IZ8apQErlrc") }}
These Hydrogen news leave me breathless!
Bruno also shared the news about the latest release:
Hydrogen 0.2.7 with Single Sign-on and well-known lookup also got released this week
Dept of Spec 📜
Spec
anoa told us:
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.
MSC Status
New MSCs:
MSCs with proposed Final Comment Period:
- No MSCs entered proposed FCP state this week.
MSCs in Final Comment Period:
Merged MSCs:
- No MSCs were merged this week.
Spec Updates
MSC2582 (Removing mimetype from EncryptedFile object) was one of those MSCs that were relatively small, but had been languishing for ages. Partly because it required client implementations to update, but also partly because one needed to go in after a while and actually confirm that all known clients had updated. @uhoreg took up the mantle on his own to do so, and as a result this MSC has hit FCP and is soon to be merged. Thank you!
Random MSC of the Week
The random MSC of the week is MSC3262: aPAKE authentication!
Alongside MSC2957 and MSC3265, this MSC is requesting a better way of communicating one's password to the homeserver without sending it in plaintext (over TLS, hopefully).
Remember that this is only done in exchange for an access token, which is then used for all subsequent requests. Still though, I can see the merit!
Dept of Servers 🏢
Synapse
callahad told us:
Synapse 1.41.0 is out! Check the release announcement to find out about all of the details, including progress on MSCs, great new Admin APIs, and the ability to handle the
/createRoom
endpoint on workers. As mentioned in last week's TWiM, Synapse 1.41 uses MSC3244: Room version capabilities to tell clients that they can and should use Room Version 8 when creating restricted rooms. The future is here!We've also stopped publishing Debian packages for Ubuntu 20.10 (Groovy).
⚠️ We expect to publish a security release Synapse 1.41.1 on Tuesday, 31 August which fixes two moderate severity issues.
Lastly, the Synapse team would like to extend a warm welcome to Sean Quah, who joined Element's backend team this week. Welcome, Sean!
Homeserver Deployment 📥️
Kubernetes
Ananace offered:
And yet again this week sees another update to my Helm Charts, with matrix-synapse bumped to 1.41.0
Dept of Bridges 🌉
matrix-docker-ansible-deploy
This Ansible playbook is meant to easily let you run your own Matrix homeserver.
Slavi said:
Thanks to Alexandar Mechev, matrix-docker-ansible-deploy can now install the beeper-linkedin bridge for bridging to LinkedIn Messaging.
This brings up the total number of bridges supported by the Ansible playbook to 20.
Dept of Clients 📱
FluffyChat 0.38.0 has been released
FluffyChat is the cutest cross-platform matrix client. It is available for Android, iOS, Web and Desktop.
krille offered:
This release adds more functionality for spaces, enhances the html viewer, adds a brand new video player and brings some improvements for voice messages. Thanks to everyone involved!
Please note: It will take some days until it arrives in all appstores.
All changes:
change: Nicer design for selecting items
change: Placeholder at username login field should be just username
chore: cleanup no longer used translation strings
chore: switch image_picker back to upstream
chore: update flutter_matrix_html
chore: Update matrix sdk to 0.3.1
feat: Add option to not autoplay stickers and emotes
feat: Add remove rooms to and from spaces
feat: Add video player
feat: Cupertino style record dialog
feat: Display amplitude
feat: Implement official emoji translations for emoji verification
feat: Nicer displaying of verification requests in the timeline
fix: Allow fallback to previous url if there is no homeserver on the mxid domain
fix: Correctly size the unread bubble in the room list
fix: Design of invite rooms
fix: Disable autocorrect for the homeserver url field
fix: Disable broken audioplayer for web
fix: Display loading dialog on start DM
fix: Dont add/remove DMs to space
fix: Empty timelines crashing the room view
fix: excessive CPU usage on Windows, as described in https://github.com/flutter/flutter/issues/78517#issuecomment-846436695
fix: Joining room aliases not published into the room directory
fix: Keep display alive while recording
fix: Load space members to display DM rooms
fix: Make translations use plural forms
fix: Re-add login fixes with the new SDK
fix: Reply with voice messages
fix: Report content localizations
fix: Requirements when to display report event button
fix: too long file names
fix: Try different directories on all kind of errors thrown for hive store
fix: Use plural string in translation
fix: use vrouter.toSegments
fix: Wait for sync before enter a room a user has got invited
fix: wallpaper on linux
fix: Wrap login form into
AutofillGroup
Cinny v1.2.0
ajbura said:
Cinny is about to get one month old 🎉 (on 28th) and v1.2.0 is out with the following changes:
Features
Added support for sending reactions.
Added support for message editing.
Display names suggestions for auto completion are available after typing @.
You can now see read receipt of messages.
Replaced commonmark with micromark, which means now you can send properly formatted tables and images with links.
Non kick leave messages are also visible now.
Added support for displaying stickers sent from other clients.
Bugs
Fixed no known servers issue upon joining channels.
Fixed crashes on bad media data.
Fixed inconsistent display names in people drawer.
Find more about Cinny at https://cinny.in
Join our channel at: #cinny:matrix.org Github: https://github.com/ajbura/cinny
Twitter: https://twitter.com/@cinnyapp
Sailtrix
hengyedev told us:
Sailtrix is a matrix client for SailfishOS.
Here is a list of developments this week:
Added more time intervals for checking notifications
Added an option to disable notifications when the app is closed
Avatars for rooms and members are now rounded
Uploading files now sends
mimetype
in theinfo
object for increased compatibility with some bridgesUse
qsTr
for most QML stringsFixed a bug where
matrix:
URLs with#
in them would not launchFix a bug where the local echo message would appear when editing
These changes have been released in Sailtrix 1.3.1, available on OpenRepos.
Discussion: #sailtrix:matrix.org
GitLab: https://gitlab.com/HengYeDev/harbour-sailtrix OpenRepos: https://openrepos.net/content/hengyedev/sailtrix
NeoChat
Carl Schwan said:
This week Tobias implemented blurhash in NeoChat for a smoother image loading experience. Tobias also continued working on E2EE and this past week his focus was on decrypting encrypted files.
Ement.el
alphapapa said:
Ement.el, a Matrix client for Emacs, gained some more improvements this week:
Multi-account support was merged, so you can now use multiple accounts at the same time. You can even be in the same room in two different accounts, at the same time, in side-by-side windows (which is useful for testing). (Note that existing users will need to log in again, because the format of the saved-session file changed.)
Rooms you have been invited to now show up in the rooms list, and you can join them by clicking a button in the room's buffer.
Encrypted rooms now display a warning in the header and suggest that users consider using Pantalaimon.
Membership events are now formatted more usefully, similar to Element's style.
Completion for room and user names and IDs is implemented using standard Emacs commands and bindings (i.e.
C-M-i
by default).The last-read marker may be jumped to, even if it's at an earlier event that has not yet been retrieved.
Emotes (i.e.
/me
-style messages) can be sent by pressinge
.Timestamps in the room list are shaded according to how "hot" (i.e. recently updated) the room is (see screenshot).
Various small fixes and enhancements.
Feel free to join us in #ement.el:matrix.org!
Nheko
Nheko is a desktop client using Qt and C++17. It supports E2EE and intends to be full featured and nice to look at
Nico (@deepbluev7:neko.dev) said:
Nheko now supports uploading to online key backup and warns you before enabling it, that we don't recommend using the asymmetric version. If you update to one of the current builds (and or the next version), you will also experience a bit longer load times on first startup. That is because we force-cleared the cache to be able to handle the new goodies like spaces and sticker/emote-packs. In the best case, everything is seamless.
We also had contributions by various people:
resolritter cleaned up that while tab moved you down most popup lists, it didn't move up when shift was pressed.
Harmathy extended the FAQ to answer commonly asked questions like "Does Nheko support E2EE" or "What commands are supported". Don't worry, we know most of you won't read that and will still answer that question when you undoubtedly come asking it again. We just can now be even more passive aggressive than just pointing at the right wiki page. Instead we will point at the FAQ now, which will point at the wiki!
thombles made the emoji completer behave more nicely. Instead of jumping to the bottom left corner before closing, it will now just close. It should also now behave correctly when selecting text.
alfasi updated the install instructions for Gentoo.
I'm not sure we have ever seen that many new faces contributing to Nheko in a week, I'm pretty happy to see that!
Fractal
Busy week in Fractal land! It is the end for GSoC, but it’s not really over. While some merge requests from our interns are still ongoing, Julian merged a bunch of them. On Kai’s side, the long awaited Room details are finally here. Alejandro, on the other hand, landed code to get display name and avatar of accounts at startup.
Circles
cvwright offered:
Circles is a project to build a secure, end-to-end encrypted social network on top of Matrix. The iOS app is currently in the final stages of beta testing in preparation for a 1.0 release.
Updates this week include:
Fixed a bug that prevented some new users from registering. If you tried to sign up last week but the email validation failed, please give it another try with the latest build.
Cleaned up the "Home" tab for a simpler, cleaner look.
Fixed a bug where the summary of recent activity was failing to load on app startup. Also added a manual "refresh" button as a fallback.
If you would like to try the latest Circles beta (v0.93), you can get it from Apple here
Element Clients
Updates from the teams
Delight team
- Room version 8 was marked as the preferred version for MSC3083 restricted rooms on matrix.org and in Synapse 1.41, released this week. This means Element clients can now show UI to create restricted rooms within a Space, and prompt users to upgrade rooms if necessary when making them restricted.
- Improvements to the performance of the room summary API.
- Lots of testing of Spaces in anticipation of it leaving beta.
VoIP
- Fix cases where a call ringtone would continue even after the call was answered.
- Add active speaker indicators when a user in a call is currently talking.
- Working on showing call duration in call tiles.
Web
- We’ve released 1.8.2 RC3 which includes fixes to windows font rendering, blur hashing and accessibility improvements, and other bugs.
- Our internal threads prototype is in code review.
- This week, we’ve been doing more work on threads, fixed some more cross-signing bugs, iterating on more compact replies, and investigating our process for translations.
iOS
- Continue to work on URL preview.
- App Navigation improvement: Continue to work on room navigation.
- Account notification settings are now available.
- Voice message rendering and playback fixes have been made.
- We added a banner to advertise that iOS 11 will be dropped soon.
- Room creation: prevent room duplication on creation.
- Media upload sizing: Continue to improve media size selection.
Android
- We are still improving the experience with Spaces
- Notifications setting will be updated in the next release, with the ability to get notified when keywords are included in any message (only on un-encrypted rooms for now)
- Working on Olm fallback key support
- Besides that we are fixing bugs across the application and the SDK. We have fixed the issue of crashing when opening a room on devices running API 21. The fix will be in the next release.
Dept of SDKs and Frameworks 🧰
Ruma
Ruma is a set of Rust library crates around Matrix
jplatte reported:
It's been so long since our last update that I couldn't possibly list all of the individual changes, but here's a rough overview of the work since then (three months ago):
There's been loads of bug fixes, many compatibility improvements and at least one large refactoring. We've been much faster about releasing changes to crates.io after ruma 0.1.0, now we're already at ruma 0.4.0 (!); the changes needed to upgrade are really not that significant though. Notable areas of improvement are
UIAA: No more stringly-typed auth type + map of properties. The
AuthData
enum that holds the authentication information clients send to servers now has one variant for every auth type defined in the spec.Event relations: These used to be serialized wrongly for encrypted events and were only (de)serializable as part of a larger event (making using them in custom ways impossible). Both of these issues were fixed.
Additionally, the GSoC coding period is over and our students have both written a blog post summarizing their work: API Coverage project (Adam Blanchet), Tooling project (Devin Ragotzy)
If you want more detailed updates about Ruma, please watch our repository's GitHub releases, since nobody in the project currently wants to write regular blog posts or TWIM updates (if you are interested in changing that, get in touch over at #ruma:matrix.org).
libQuotient
kitsune reported:
This week a new stable version of libQuotient, 0.6.8, has been released. While the main focus has been fixing bugs and sustaining the codebase, one significant highlight is that read receipts and fully read markers are distinguished now, which should improve interaction with other clients that has been treating them differently for quite some time now. This version is anticipated to become the base of the upcoming Quaternion 0.0.95.
Simple-Matrix-Bot-Lib
krazykirby99999 offered:
Version 2.0.0 Released!
The second major version of the simplematrixbotlib package has been released. It is available from Github and PyPi.
Example usage is shown below:
#### echo.py #### Example: #### randomuser - "!echo example string" #### echo_bot - "example string" import simplematrixbotlib as botlib creds = botlib.Creds("https://home.server", "echo_bot", "pass") bot = botlib.Bot(creds) PREFIX = '!' @bot.listener.on_message_event async def echo(room, message): match = botlib.MessageMatch(room, message, bot, PREFIX) if match.is_not_from_this_bot() and match.prefix() and match.command("echo"): await bot.api.send_text_message( room.room_id, " ".join(arg for arg in match.args()) ) bot.run()
You can find the quickstart here.
Dept of Interesting Projects 🛰️
MatrixCrudRepository.ts
thejhh said:
I made an experimental Matrix-based persistent storage CRUD repository: https://github.com/sendanor/matrix/blob/main/MatrixCrudRepository.ts
Final Thoughts 💭
Room of the week
timokoesters told us:
Hi everyone! Did you ever feel lost in the Matrix world? The room directory is big, but it's still hard to find something you like. Or are you a room moderator, but there is not much activity in your room because it doesn't have enough users?
This is why I want to share rooms (or spaces) I find interesting.
This week's room is: #terminal-gaming:matrix.org
"Channel dedicated to games running in terminal environment (or one that looks like terminal) As long as the game could be easily ported to terminal, it belongs here :) Telegram: t.me/cligaming"
If you want to suggest a room for this section, tell me in #roomoftheweek
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 | boba.best | 456 |
2 | envs.net | 583 |
3 | xethos.net | 756 |
4 | helderferreira.io | 852 |
5 | thomcat.rocks | 934 |
6 | trolla.us | 962 |
7 | aria-net.org | 983 |
8 | feneas.org | 989 |
9 | shortestpath.dev | 1808 |
10 | matrix.sp-codes.de | 2564 |
#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 | dendrite.nordgedanken.dev | 807.5 |
2 | twentybit.dev | 946 |
3 | conduit.rs | 1022 |
4 | weber.world | 1981 |
5 | dendrite.s3cr3t.me | 2502 |
6 | dendrite.matrix.org | 9141 |
That's all I know 🏁
See you next week, and be sure to stop by #twim:matrix.org with your updates!