This week we hosted Open Tech Will Save Us #12!
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.
MSCs in Final Comment Period:
- MSC2241: Key verification in DMs (merge)
In terms of Spec Core Team MSC focus for this week, we talked a little bit about MSC2970 (path requirements for push gateways) and left some thoughts on the MSC. We also merged a few spec clarification/fixup PRs as they trickle in following the spec unfreeze last week.
Conduit is a Matrix homeserver written in Rust https://conduit.rs
A lot of progress is happening currently! Federation is becoming more and more stable and missing features are being implemented:
Feature: /make_join, /send_join and /query/directory
Feature: Incoming invites over federation
Feature: Correct and more efficient message count calculation
Improvement: Check event signatures on join
Improvement: Fetch signing keys in parallel when joining
Improvement: Relaxed verification code to allow joining partially broken rooms
Fix: Lost forward extremitites
Fix: "Malformed pushrule" errors
Fix: Mistakes in DEPLOY.md documentation
Fix: Alias parsing
Fix: Optimize /send calculations
Fix: State resolution bugs
Synapse is a popular homeserver written in Python.
In addition to Homeservers, the Matrix spec also describes Push Gateways and Identity Services, which augment our ability to send notifications or discover users via identifiers like email addresses.
On the Matrix.org Foundation side, we maintain production-grade reference implementations of these services:
Synapse, a Homeserver
Sygnal, a Push Gateway
Sydent, an Identity Service
We recently became aware of a few security and denial of service concerns in Sydent. Yesterday, we released Sydent 2.3.0 with fixes for those issues. It's extremely uncommon to self-host Sydent, but we wanted to highlight our work there all the same.
We've also finally settled on quarterly objectives for the Synapse team at Element, and the first thing we're focusing on is gaining a better understanding of how Synapse uses memory. Specifically, we'd like to drive down the peak RAM associated with joining large, complex rooms like Matrix HQ. We've already landed a small speed up to that effect, but expect more specific metrics in the future.
Synapse 1.32 is due out early next week, and we look forward to seeing you then.
YunoHost is an operating system aiming for the simplest administration of a server, and therefore democratize self-hosting.
Synapse integration had been updated to 1.31.0 (1.31.0 available in branch
If you had a problem durng the upgrade to 1.28.0, there is a fix here to restore the backup : https://github.com/YunoHost-Apps/synapse_ynh/issues/246 Element Web integration had been updated to 1.7.24 (1.7.25 available in branch
So much bridge news this week!
Eric Eastwood said:
Next week on Wednesday (2021-04-21), the old Gitter bridge (identified as
@gitterbot:matrix.org) will be shut down and any plumbed rooms (bridged connections) remaining will no longer bridge. To replace this, we've already migrated all of the portal rooms and many of the plumbed rooms in preparation so most users will not need to take any further actions. The remaining rooms with the old Gitter bridge are unfortunately not possible to migrate and for those communities a clean break will be needed. The new native Gitter bridge is here to replace this!
You can read most of the same information and details if you still need to plumb for your existing room in the blog post, https://matrix.org/blog/2021/04/15/old-gitter-bridge-end-of-life-2021-04-21-to-be-replaced-with-native-bridge
Half-Shot told us:
Hey hey folks, something I can finally talk about in the open is that Element now has a Teams bridge! After months of being isolated on a desert island being fed nothing but rice crackers and diet pepsi, I can talk about our newest bridge. It's fairly feature packed with support for all the usual formatting options, plus Jitsi widget bridging (as links) and full puppeting including DMs. Matthew even went and nattered to The Register about it. So you heard it here first, no network is truly safe from the open federation and we hope to welcome teams users into the Matrix. The bridge is currently a closed source offering under the EMS banner for now.
You can read about it in https://element.io/blog/ems-launches-bridging-for-microsoft-teams/
David Mehren added:
Heise wrote an article about the Teams bridge: https://www.heise.de/news/Fuer-MS-Teams-Verweigerer-Element-startet-neuen-Bridging-Dienst-6017946.html
Half-Shot also added:
Incidentally, would you like
access to the teams codeto work on lots of bridges and make things happen? Please reach out!
Also, some more news. I've started making improvements to matrix-github as it continues to serve as the primary way for me to get notifications from GitHub. The latest improvements are that you can now dynamically create and assign filters to notifications coming to the bridge. This means you can name filters and turn them on and off as required (i.e. don't bug me about matrix-org on weekends please). The v0.1.0 release is out.
Have questions/ideas/mad-experiments, come chat to us in Matrix Github Bridge.
I've been using this for months now, and can confirm it works great!
It's a simple puppetting bridge to the public telephone network via providers like Twilio. It's designed to be modular and support several different providers (though it only supports Twilio ATM). Once more providers are added, it will be possible to seamlessly migrate your phone number between multiple providers and save conversation history. Chats are created by starting a DM with the control bot (currently hardcoded at
@_pstn_:myserver.org) and running the
dialcommand. Multiple users can join a room with the control bot and are all given access to puppet the bridge.
Connect to Twilio & get current account balance
Send SMS texts to phone numbers and receive texts back
Intelligent dialing looks up phone numbers based on the one you're using
Give SMS users "pet names" via the
Allow multiple users to puppet a bridge & allow the bridging of bots
Some planned features could include: (I'm not committing to any of these ;D)
Displaying bridge info in Element settings
Sending MMS (pictures, video, voice, etc.)
Getting extended information about users. Services like Twilio offer carrier lookups and that sort of thing. Could be useful to help weed out spam.
Phone calls -- This is very hard
- Answering machine
Faxing. Why not, I guess?
Pay-as-you-go managed phone number service
Start a chat with the bridge bot and buy a phone number via Matrix
Payment security is an issue here ;)
Puppetting WhatsApp business or Facebook Messenger. Companies like Twilio offer connections to proprietary messengers like these.
It's not ready for production use, though. It's still stuck on a SQLite DB and has a few usability issues.
Updates from the teams:
Element Web 1.7.25 released
Element-iOS 1.3.0 contained several issues we wanted to fix before publishing it. 1.3.3 will fix all (https://github.com/vector-im/element-ios/milestone/52?closed=1) plus:
Ruma is a set of Rust library crates around Matrix
It's been almost two months since we shared an update 😱
Lots of things have happened in that time:
@timokoesters fixed a few issues that affected Conduit:
@Frinksy added multiple endpoints to
- You can view it on https://docs.ruma.io/
@abhikjain360 also added multiple endpoints to
and meanwhile, I've been refactoring lots and lots of things but the details would probably be meaningless to non-contributors and I haven't posted PRs for most of these changes so it's hard to collect into a list anyways
some small contributions are not in this list, since it is already huge
In addition to all the PRs, we are taking part in GSoC this year again! Proposals have been written, reviewed, updated, finalized, submitted and now there's some quiet time until the student projects are announced on May 17th.
I wrote a new tool for fediverse: search Peertube via Matrix. It uses Sepia Search API to search on all participating public Peertube instances. You can also select any single instance. It's implemented as a module for Hemppa the bot - see docs here: https://github.com/vranki/hemppa#peertube-search #peertube #matrix
See the announcement: https://fosstodon.org/web/statuses/106048573207784409
Join #ping:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.
Join #ping-no-synapse:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.
See you next week, and be sure to stop by #twim:matrix.org with your updates!