Matrix Live 🎙
Dept of Servers 🏢
Neil from Synapseland:
This week privacy items have dominated, but we’ve also been edging towards getting our room directory improvements out, shipping a new configuration creator and making further progress on the federation side bus project to improve performance of smaller instances.
We also deployed open tracing on matrix.org, which will help a lot in tracking down all sorts of strange behaviour in the wild and fixing some bugs in the sqlite -> postgres migrator.
Next week we’ll land the room directory improvements, much of the privacy work, and have the configuration creator ready for testing.
Construct added user room listing support so that you can find out what public rooms a user is a member of should they choose to not be invisible. To find out the list of rooms for a user, simply open the room directory in Riot and type a user mxid starting with @...
Construct is implementing the concept of invisibility for users:
The exact mechanism for invisibility is not completely finished but there are obviously some limitations for this feature:
- Only users who are local to the server can set any kind of invisibility. Remote users are always fully listed. One day when the spec has "user's rooms" we would be glad to adhere to an
m.user.invisible-etc configuration state event in such a room
- Since there is no federation support for user's rooms list publication, the rooms list for a user is limited to what the server knows (rooms it has seen the user in).
Construct is eager to implement any MSC's regarding user room and group membership listing over the federation.
Construct is written for maximum performance in C++, and is developing rapidly - join #construct:maunium.net for more info.
matrix-media-repo updates for quarantining and purging media
matrix-media-repo has received a bunch of updates regarding quarantining and purging media - see the admin docs for more information. There's also an s3 upload bug fix if you're using that.
Dept of Bridges 🌉
GitLab bot to be re-written as a maubot
Check the maubot GH page for more.
mautrix-telegram, small release
I decided to make a minor mautrix-telegram release with some small fixes, since v0.7.0 will take a while still. v0.6.1-rc2 is out now, the full release will probably happen next week if nobody finds any problems. Main changes:
- Invalid reply fallbacks sent by Riot web in edits are now ignored
- User and portal sync errors are now caught so that the
synccommand wouldn't fail if one telegram chat disappears.
Dept of Clients 📱
Tidy update from Bruno this week:
This week we were doing the last bits of the privacy work, and fixing bugs and adding a format bar in the new composer (still behind labs flag).
We’ve also been planning the First Time User Experience work, which will start at full speed next week. This is an effort to address some issues that new users hit in the first days of using Riot. See https://github.com/vector-im/riot-web/projects/16#card-25137120 and Matthew talking over the details at https://youtu.be/JYsiHSL0lEA?t=710. Letterboxes in the left panel will likely only be removed as part of the new community project though, as we need parts of the new community UX to keep things usable for power users.
Also, if you're using https://riot.im/develop please enable the new composer in Labs, it works well and deserves testing.
Continuum desktop client, many updates
Continuum desktop client written in pure Kotlin, version 0.9.20:
- Updated login page appearance
- Added validation to user ID and server address fields
- The server address gets automatically filled with
https://followed by server name when user ID is being typed
- After signing in, the token and server address are automatically saved
- Added progress indicator when being signed in. It doesn't block user from controlling Continuum, pressing Esc will cancel the signing-in process.
- Speed up application start-up by drawing the window and opening the database in parallel. Now the window typically appears within half a second with its size and position on screen restored to be the same as the last time it was opened. The most recently used accounts get loaded and automatically filled within a second.
- Added drop shadow effect to scroll-to-latest-messages button to increase contrast
- Fix: Always retry synchronization after getting a network error. Previous versions didn't retrieve new messages in a timely manner when the network is unreliable. A delay is added if the error is not a time-out to avoid stressing the homeserver.
koma the Kotlin library behind Continuum:
Fix suspend/hibernate detection. Synchronization is restarted automatically after the computer resumes from sleeping. The reason is that any previously opened connection is unlikely to be still alive, opening new connections reduces delay.
Fix incorrect interface declaration that caused login to fail
Pattle 0.13.0 released
A new version has been made available and should soon be on F-Droid, Google Play and TestFlight!
Expect the new version to be on most platforms in 2 days.
It's not the biggest release, but a release nonetheless.
- Separate public and personal chats
- Use a bullhorn icon for public chats without an avatar
- Fix sync being started multiple times on startup
- Fix the
room.member_counterror (might require clearing of data)
- Many SDK changes, for features in future releases
Please let me know what you think of the separation of personal and public chats! Currently it's implemented using a bottom navigation bar, but tabs could also be an option (which is closer to what WhatsApp does)
Riot Mobile versions
All teams when I asked responded:
Privacy, privacy and privacy.
Dept of Services 🚀
t2bot.io has 300k MAU
TravisR told us:
t2bot.io has surpassed 300k monthly active users (about 35k daily) 🎉
roughly 250k are (bridged) from Telegram, the rest is from Discord. (there's some very small numbers which include the bots, webhooks, and other tiny bridges, but together they form less than 100 users)
room list viewer tool
Inspired by a question in the Matrix HQ channel, I've built a (rudimentary) room list viewer at https://matrix-rooms.cryto.net/ - you can just enter a homeserver (hostname) and see all the public rooms on it, without needing to log into anything. This might be useful for showing other people what kinds of rooms exist on Matrix!
Dept of Blockchain 🤷
OI Chat, Matrix based chat uses blockchain for authentication
OI Chat has been updated and now connects blockchain users on Blockstack and EOS (and the rest of the matrix universe): https://www.producthunt.com/posts/oi-chat-2 The sever has no passwords or requires permissions by other social account providers, it verifies the authenticity of the user using properties of the blockchain IDs, it names registered on the blockchain.
Dept of Ops 🛠
Matrixmon new release 0.4.0, featuring Docker image hosted on Docker Hub and an option to specify custom config file location.
Dept of Bots 🤖
matrix-fly-paper: new project for room moderation
matrix-fly-paper is a new bot project intended to help automate server and room moderation. It's currently not ready for any kind of use, as I'm trying out serious TDD and attempting a functional approach to break from my OO training. Feedback is appreciated, stop by #matrix-fly-paper:lost-angles.im to talk shop
If you're interested in such things, there is an existing tutorial on how to use matrix-bot-sdk for exactly this at https://matrix.org/docs/guides/matrix-bot-sdk-room-admin-features.
Dept of Merch 👕
About a month ago we started selling merch at shop.matrix.org, and WOWEE ZOMG we sold a lot of stuff! If you are happy with your purchase I'd love to hear from you - share photos of where you put the stickers or you happily wearing the t-shirt in #twim:matrix.org and I'll make a little collage.
If you are not happy with your purchase then please message me at @benpa:matrix.org and I will try to make it right.
Final thoughts 💭
You should complete this EU-related FOSS survey, and if you wanted to say nice things about Matrix that would be fine by us.
That's all I know 🏁
See you next week, and be sure to stop by #twim:matrix.org with your updates!