Matrix Live
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://matrix.org/docs/spec/proposals.
MSC Status
Merged MSCs:
- No MSCs were merged this week.
MSCs in Final Comment Period:
- No MSCs are in FCP.
New MSCs:
- MSC2716: Incrementally importing history into existing rooms
Dept of GSoC
go-neb
nikofil reported:
- Handle SAS verification by adding an endpoint where the decimal SAS code generated by another device can be sent. If this code matches with go-neb's generated code, the verification succeeds and the device is marked as trusted.
- Add a cryptotest service which can be used for other clients to test their functionalities related to e2ee. This currently includes a challenge / response, key forwarding functions (key request / key forward) and SAS verification. SSSS and cross-signing are planned for the future. (PR is under review)
Dept of P2P
iOS P2P Demo
Dendrite is a next-generation homeserver written in Go
Neil Alexander said:
The Element P2P demo on iOS has seen a number of updates in the last week - now at build 31 - which contains a number of fixes:
- QUIC session setup is now far more reliable
- QUIC sessions are now reset when the node's network coordinates change
- The federation sender now wakes up properly on incoming QUIC sessions
- Network coordinates are now cached for remote federated nodes, reducing the number of DHT searches and speeding up resuming federation
- HTTP pools are disabled, which reduces head-of-line blocking problems on stalled sessions
- A number of timeouts have been lowered
- Dendrite has been updated to the latest version
If you have an iPhone or iPad and want to play with the demo, grab the public TestFlight!
Dept of Servers
matrix-media-repo v1.2.0
matrix-media-repo is a highly customizable multi-domain media repository for Matrix
TravisR told us:
v1.2.0 is out now, with a bunch of bug fixes and some added features:
- Thumbnail support for apng and webp images (thanks Sorunome!)
- Experimental (but pretty stable) support for Redis as a cache - instructions here
- Optional oEmbed support for things like previewing tweets - turn it on here
- Dynamic thumbnail support
- Per-user quotas
v1.2.0 is also much faster at file uploads, however some areas of matrix-media-repo can still be improved - general performance work is planned for the next release.
Learn more about matrix-media-repo.
Dendrite / gomatrixserverlib
Dendrite is a next-generation homeserver written in Go
Neil Alexander announced:
We are happy to announce the beta milestone for our first versioned release of Dendrite, which we anticipate to land in the next few weeks. Once these issues are cleared, we'll have made the big breaking changes that we want to make and will have a migration mechanism in place for database schema upgrades.
This will make life significantly easier for anyone who wants to start experimenting with and running their own Dendrite homeservers without unexpected breakages. More updates to follow soon - join us in #dendrite:matrix.org for the latest!
This week, Dendrite's end-to-end encryption support has also been mostly rounded off with the exception of a few minor bugs and edge-cases.Changes this week include:
- TLS certificate verification is now enabled by default
- A new
federation_disable_tls_validation
config option has been added to override the above- Added support for processing inbound device lists from federation
- Local device list changes are now sent outbound over federation
- One-time key counts are now sent in
/sync
- Direct server signing key fetches are now limited to 15 seconds
- State events that fail signature checks on federated room joins are now properly ignored
- A number of SQLite database lock bugs have been fixed using
TransactionWriter
- A bug when finding joined hosts in the federation sender in SQLite mode has been fixed
- Logging levels have been adjusted in a number of areas
Spec compliance:
- Client-Server APIs: 51%, same as last week
- Server-Server APIs: 54%, up from 53% last week
Asked whether this progress means that matrix.org would be running on Dendrite next year, Neil said he was certain that it would definitely be ready:
Anything is possible
Conduit
Conduit is a Matrix homeserver written in Rust https://conduit.rs
timo reported:
- Improve long polling when user is invited (thanks @gnieto)
- Documentation and code cleanup
- Getting initial server_server code back into shape
Thanks to everyone who supports me on Liberapay or Bitcoin!
Oh and btw look at Matrix Live this week (see the video above)!
Synapse
Patrick offered:
This week in Synapse land we continued with our performance push making further progress on the async/await-athon. We will move into the storage layer this coming week which will leave the caching layer and a few other bits outstanding. Separate work continued to get the event persister into a shardable state. The first step being to replace the event stream token with its own type and then threading that through the code base.
We have also continued to improve on our push capabilities and released a new version of Sygnal (0.8.2) with support for pushing to iOS devices via Firebase.
We are also very close to getting a workable version of the new push rules. The idea is to test it out in the wild before getting it enshrined in the spec.
Next week will see a continued focus on sharding and async/awaiting, more notifications work, logging improvements, and a host of bug fixes!
Dept of Bridges
maubot rss plugin
Tulir reported:
I released v0.2.0 of the maubot RSS plugin. The most recent addition is support for JSON feeds,
stolen frominspired by FantasyCookie17's jsonfeed-bot.Other changes since v0.1.0:
- Per-feed toggle to send posts as
m.text
instead ofm.notice
- Automatically moving subscriptions across room upgrades
- Some fixes for handling weird feeds
maubot/rss is a maubot plugin that posts feed updates to Matrix rooms. It supports RSS/Atom/JSON feeds, customizing message templates per-feed/room, and more.
mautrix bridges
Tulir reported:
All my bridges now have options for automatic e2ee key sharing in portal rooms. Currently they don't have verification support (other than manually marking as verified in the database), so enabling key sharing isn't entirely secure yet. I'll probably invent some sort of web verification interface after nikofil adds cross-signing to mautrix-go.
This also means mautrix-python now supports sending and responding to key requests. I'll port the interactive verification and future cross-signing code from mautrix-go to mautrix-python at some point too.
Dept of Clients
Fractal
Alexandre Franke offered:
4.4.0 is out as promised last week! Get it off Flathub now.
After we announced our intention to release, we discovered a regression that prevented joining new rooms because there was a mixup between room aliases and room id during a switch from internal structures to ruma-identifiers. Luckily we managed to fix it in time and make the release as intended.
Full changelog since 4.2.2
New features
- Videos now have a preview directly in history
- New videos player: click on a preview to open it
- Improved audio file support, with a nicer presentation and seeking
- Redacted messages are removed from history
- Edited messages are replaced with their new content and show a small icon
- Translations have been updated
- Spellcheck language is saved per room
- New swipe-back gesture to go back from room to room list in narrow view
- New swipe left and right gesture to navigate through media in media view
- SOCKS proxy are now also supported
Bugfixes
- Thumbnail for pasted images have been fixed
- File type detection for uploads is more reliable
- Typing notifications are now only sent when text is actually typed in the message input
Under the hood
- Code refactor is still going
- Some improvements to logging, including access token removal for privacy
Element Android
valere told us:
Sorry we missed last week TWIM!
- Element Android 1.0.4 🚀 has been released to the store, it contains several bug fixes, and is adding back some moderators functionnality (see list of banned users for a room + actions)
The team has been mainly working on stabilisation + refactoring of the current code base.
We are also trying to give more visibility on what is coming next:
- Pin code protection 🔓 (merged on develop)
- Improvement of big media upload
- Cancelling send, retries, better upload progress...
- Call fixes and improvement
- Improve fdroid polling for notification
The team is partially off, expect some delays in handling of issues and PR reviews
SchildiChat Android
SpiritCroc reported:
SchildiChat is a new fork of Element for Android (previously RiotX), which features some UI changes, to make it more comfortable to use for people who are used to other common instant messengers.
The most important changes are the following:
- The overview screen lists all chats in one list instead of the tabbed layout in Element
- Message bubbles (optional)
- Theme choice based on the system-wide dark/light theme on recent Android versions
It is now available on Google Play, it might appear on F-Droid too in the future.
#schildichat-android:matrix.org is the place to find out more.
New AppImage for the Element Desktop Matrix Client
srevinsaju told us:
As per this issue comment, I was asked to inform this channel of the new AppImage for the Element Desktop Matrix Client. 🎉. Interested users may get them on appimage.github.io or on my releases page, offering Continuous builds (refreshed every day) for stable and beta builds 😃
IndieChat announced
indiechat announced:
Hello, World! [IndieChat], a new Android matrix client is in Play Store: https://play.google.com/store/apps/details?id=chat.indie.cam
This is forked from FluffyChat:
I have changed the archive feature. Added a splash screen. Further simplified settings. Login times work faster compared to FC. I am connecting it to my Jitsi instance. which operates p2p and is completely analytics free. Message notifications are analytics free. It will eventually be an extension to a videocall app developed by myself. It adds variety to the ecosystem. It strictly follows license rules, credits the developers and links to their wonderful work. And it is a great thing to do in my spare time ☺️
Element-iOS
Manu said:
This week, we started a new sprint to finalise remaining rebranding and iOS13 SDK issues. Note that have a plan to make CallKit and PushKit back!
In parallel, we have finished to setup the CI for the 3 iOS projects.
Dept of Encryption
Device dehydration
uhoreg told us:
I missed out on demo day last week because my demo wasn't ready yet. But I recorded a video, so here is what you would have seen if I had managed to finish on time: https://scitech.video/videos/watch/4aad91c3-30bb-479f-8437-a517354594db
Dept of SDKs and Frameworks
matrixbz
patrick announced:
simple matrix bots with matrix-nio
Hey all! I built yet another bot library. matrixbz was built with the intention of making it easy to draft matrix bots. Check out the github - I've added some examples where you can build a bot in ~10 lines of python code. matrixbz features:
- Auth - you can specify user(s) who are authorized to call commands. bot only accepts invites from those users.
- Cache - you can cache results for particular command invocations.
Check out the package.
Ruma
iinuwa reported:
We have released version 0.0.1 of the
ruma
crate! Thanks to all of our contributors!Besides that and continuing to refine
ruma-events
, here are some other highlights over the past couple weeks:
- Implemented a few more endpoints implemented on
ruma-federation-api
- Added helper macros for creating identifier types
Dept of Bots
Hemppa
Cos told us:
Hemppa the bot is a general use bot that has lot of modules for various uses and super easy API to create more. Hemppa received support for Mastodon. Now you can login to your Mastodon account and send toots via Matrix. Next major feature would be to subscribe to hashtags and users and get notifications to Matrix rooms. https://github.com/vranki/hemppa#mastodon
HOPEless, the HOPE conference bot
valka said:
The Hackers on Planet Earth conference went almost entirely self-hosted this year due to not being able to hold an in-person event, and used Matrix to go virtual! hopeless was the robot-heart of the conference, providing community+room ACLs for attendees. The bot also has a bunch of other features including:
- configured admins sending notices to rooms
- ability to manually and programmatically schedule announcements for scheduled events happening, like workshops or talks
- the ability for users to re-join rooms and generate invites for themselves as necessary
- admin commands for inviting attendees and presenters without tickets
- an attempt to be friendly and solve people's common problems without a real person having to assist (surprisingly effective!)
Many thanks to the nio-template for existing, otherwise this wouldn't have been possible!
anoa (nio-template) creator responded:
Wonderful! I plan to give it some more love soon, including some docker magic to make it easier to run.
If you ever have any feedback about improving it, feel free to post it in #nio-template:amorgan.xyz :)
matrix-diskstation-bot
KB1RD said:
This is just a stupid simple bot based on T r a v i s R's matrix-bot-sdk-bot-template that forwards alerts from a Synology DiskStation NAS to Matrix room(s).
It's on GitHub and Docker Hub
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. 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 | fairydust.space | 426 |
2 | privacytools.io | 438 |
3 | saferutar.com | 487 |
4 | maunium.net | 534 |
5 | heitkoetter.net | 570 |
6 | chatcloud.net | 640 |
7 | encom.eu.org | 658.5 |
8 | envs.net | 697 |
9 | matrix.vgorcum.com | 847 |
10 | neko.dev | 879 |
That's all I know
See you next week, and be sure to stop by #twim:matrix.org with your updates!
Ben Parsons
Public Domain; This is the unofficial social media account for Matrix and our goal is to keep you updated on the massive growth that is happening on the Matrix network and protocol development. These posts are independent of the Foundation, are a compilation and syndication of content on various Matrix websites and are approved via the express written permission of Matthew Hodgson, Co-Founder of Matrix.
We are also writing educational posts here so that you can easily learn about the many apps and businesses that are building their products and services on Matrix technology.
❤ ❤ ♡ ♡ Please Like and Share this post! ♡ ♡ ❤ ❤
On Matrix technology, you can finally be free of KYC, censorship, walled gardens, spying and even your phone bill.
Web: chat.onMatrix.tech
Android: droid.onMatrix.tech
iOS/MacOS/Linux/Win: get.onMatrix.tech
Blog: blog.onMatrix.tech
Community: social.onMatrix.tech
Bots: bots.onMatrix.tech
Bridges: bridges.onMatrix.tech
Find a Homeserver: findhost.onMatrix.tech
Run a Homeserver: runhost.onMatrix.tech
Support Matrix with..
Bitcoin: 1Lxow***mAE
Ethereum: 0xA5f***485
Be sovereign.
Matrix.org
Congratulations @matrixcomm! You have completed the following achievement on the Hive blockchain and have been rewarded with new badge(s) :
You can view your badges on your board And compare to others on the Ranking
If you no longer want to receive notifications, reply to this comment with the word
STOP
Do not miss the last post from @hivebuzz:
Congratulations @matrixcomm!
You raised your level and are now a Minnow!
Do not miss the last post from @hivebuzz: