πMatrix Live π
πDept of Status of Matrix π‘οΈ
πOpen Tech Will Save Us 4
The next Open Tech Will Save Us event will take place on Wednesday, that's 2020-07-08! Line-up is confirmed as:
- Jay Graber (@arcalinea, @arcalinea:matrix.org), creator of Happening and all-around decentralisation fan will summarize an overview of the decentralized social media ecosystem that they're working on.
- Ania M. Piotrowska (@aniampiotrowska), known for her work on Nym, Loopix, and at UCL will present "Building private future for the internet with the Nym mixnet".
- Burak Nehbit (@nehbit, @burak:tomesh.net) will give a deep dive into his work on Aether P2P.
πDept of Spec π
anoa reported:
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
Finished Final Comment Period:
MSCs in Final Comment Period:
- No MSCs are in FCP.
New MSCs:
πSpec Core Team
In terms of Spec Core Team MSC focus for this week, as last week we are sticking with "implementation" for now. We'll be back soon :)
πDept of GSoC ποΈ
This week was the first evaluations, we'll have results to share next week.
πmatrix-ircd (GSOC)
karlik offered:
for matrix-ircd:
Removed
futures
0.1 dependency & move all modules tofutures
0.3Update all tests to use async / await
Begin merging updated
futures
toasync_await
branch
πgo-neb
From nikofil:
- e2ee merged and some bugs fixed (pr #324)! You should be able to use neb normally in an encrypted room now, if that's not the case please let us know!
- Added integration tests for both encrypted and unencrypted rooms to neb in order to catch things that might break some core functionality in a subtle way (issue #326)
- Similarly, created a PR for mautrix-go for testing the Olm and Megolm session establishment and message encryption / decryption (pr #12)
- Next up, working on a service for neb for testing the crypto functionality of other clients: neb will send messages to a room, rotate keys etc. and your client is supposed to respond!
πDept of Servers π’
πDendrite / gomatrixserverlib
Dendrite is a next-generation homeserver written in Go
Neil Alexander said:
This week has seen some new architectural changes and a number of bugs fixed:
A new Current State Server component has been added, which tracks room state
The Public Rooms API has been deprecated in favour of the Current State Server
Event size limits are now honoured with the correct return code
Invites have seen some refactoring and retiring invites should work better now
The federation sender now persists unsent PDUs to the database and will automatically retry when Dendrite is restarted, making resend behaviour much more reliable (particularly in the P2P demos)
Some room checks in
/state
and/state_ids
have been fixedSome additional restrictions have been added to
/send
and we now return the correct error codesA bug where current state was incorrectly used when getting missing/backfill events has been fixed
A bug where you couldn't rejoin a room that you created after wiping your database has been fixed
Spec compliance:
Client-Server APIs: 45%
Server-Server APIs: 50%
πConduit
Conduit is a Matrix homeserver written in Rust https://conduit.rs
timo reported:
This week I didn't have much time to work on Conduit, but together with @the0 we could implement both password changing and account deactivation!
With last week's key backup and cross-signing PR landing in master, here's a list of all major features still missing from Conduit:
All of Federation
Appservices
Push Notifications
Notification settings
Message Search
Presence
Room Tagging
Thanks to everyone who supports me on Liberapay or Bitcoin!
πSynapse
richvdh reported:
Synapse 1.15.2 shipped this week with some important security fixes - if you haven't already upgraded, please do asap! Meanwhile, we're also preparing a 1.16 release with the normal round of bugfixes and incremental improvements.
The big focus in the Synapse team continues to be on performance for larger Synapse instances, which is reflected in the support in 1.16 for running multiple media worker processes. We're working on giving other worker processes the same treatment, so expect more of the same in the weeks to come!
πSynapse Deployment π₯οΈ
πKubernetes
Ananace announced:
Just pushed the 1.15.2 tags for the K8s-optimized Synapse image.
πDocker matrix
Mathijs offered:
The avhost image including coturn, jemalloc, and mjolnir for synapse 1.15.2 was released at avhost/docker-matrix:v1.15.2, while the RCs images were released on my personal repo; mvgorcum/docker-matrix:v1.16.0rc1 and mvgorcum/docker-matrix:v1.16.0rc2
πDept of Bridges π
πTwilio & Maubot based SMS bridge
Jeff Casavant offered:
I wrote a very simple Twilio & Maubot based SMS bridge recently which I've been running for long enough with no delivery errors that I'd consider it stable. It's oriented towards bridging many individuals to single rooms via SMS. You'll need to have a Maubot instance in order to run it.
πDept of Clients π±
πSyphon - new client announcement
usbfingers offered:
Hey TWIM ,
Tuesday, I did a soft announcement of open alpha for Syphon - a privacy centric matrix client
Source: https://github.com/syphon-org/syphon
Website: https://syphon.org
Features:
no analytics.
no proprietary third party services
- iOS will have APNS opt-in, but will be made clear to the user
all data is AES-256 encrypted at rest
E2EE for direct chats using Olm/Megolm
- group chats will be supported in the coming weeks
all indicators of presence are opt-in only (typing indicators, read receipts, etc)
customize themes and colors throughout the app
Please note there's still a lot of work to do and a lot of features missing that other clients have. It's not ready for everyday use.
Please let me know if you have any questions or would like to contribute!
πRiot Web
Ryan told us:
This week we released 1.6.8, and the highlights include:
Upgraded to Electron 9 for desktop builds, which should fix various Linux tray icon issues
Jump to first unread message improved to handle reactions and other non-message events
Desktop now shows a file saved message when downloading a file
Cross-signing setup flows reworked to simplify choosing a security phrase or key
πFractal
Alexandre Franke announced:
The previous Fractal update was quite a while ago but weβve kept busy.
There has been a lot of under the hood work that users wonβt notice and which we wonβt delve into. In addition to them, we have a few nice things:
Matrix API tokens are redacted in logs for better privacy when submitting bug reports.
A send button was added next the message entry. This is especially relevant for touch screens.
We are less noisy with typing notifications that we send out.
We support SOCKS proxies.
Notifications for non text messages have been tweaked.
We gained support for edited message display. They are replaced with the newer content and a little icon is shown next to them. Editing messages is not supported yet though.
πNovaChat July 3 update:
eric told us:
Added icons for each chat network to room list
Got Twitter DM bridge working again
Improved search bar UI
On-boarded 30 new users!
Launched (accidentally) on Hacker News
Fixed a ton of reliability bugs in the 7 bridges we support (changelog)
We are hiring (full-time or part-time) remote React developers to work on our (source available, still TBD on final license) Riot fork Send me a DM if interested.
NovaChat has been getting good coverage lately, on Twitter and Hacker News.
πRiotX published in the beta channel of the Riot-Android app
benoit announced:
RiotX is now published in the beta channel of the Riot-Android app: https://play.google.com/store/apps/details?id=im.vector.app. You can get the last beta version by becoming a tester if you want to. There will be no more update of RiotX on the PlayStore. Current RiotX users should signout from RiotX and signin again on Riot-Android. Riot-Android users do not have to do that. The changelog can be read here https://github.com/vector-im/riotX-android/releases/tag/v0.91.3-beta. And this week we are working on implementing what's remain on our list, and we are fixing as many bugs as we can before the great release.
πRiot-iOS
steve offered:
This week, we made some improvements for the cross-signing UX.
We started to work on the rebranding. And we also made some small improvements in the display of some events in the timeline.
πDept of Ops π
πma1sd release 2.4.0
ma1uta offered:
ma1sd release 2.4.0.
Changes:
Enabled v2 API by default.
Added experimental support of the database connection pooling for postgresql
Added option to bind ma1sd to specified address.
Added error logging for LDAP authorization.
Added full request and response logs for debug.
Avoid including bridged user in directory lookups (https://github.com/ma1uta/ma1sd/pull/45)
Add experimental multi-platform buillds for amd64 and arm64 platforms.
remove warning about matrix-synapse-ldap3 (https://github.com/ma1uta/ma1sd/pull/50)
Bugfixes:
Downloads:
docker pull ma1uta/ma1sd:latest
docker pull ma1uta/ma1sd:2.4.0-arm64 (image for arm64)
πmatrix-docker-ansible-deploy
This Ansible playbook is meant to easily let you run your own Matrix homeserver.
Slavi said:
it appears to be puppet week in matrix-docker-ansible-deploy-land!
Thanks to various contributors (Johanna Dorothea Reichmann, Tulir Asokan and Hugues Morisset), the playbook has gained support for 4 new bridges: mx-puppet-instagram (see our docs), mx-puppet-twitter (see our docs), mx-puppet-discord (see our docs) and mx-puppet-steam (see our docs).
This brings the total number of bridges supported by the playbook to 15!
πDept of Bots π€
πmatrix-reminder-bot v0.1.0
anoa offered:
The release, v0.1.0, of matrix-reminder-bot is out! π
I've eliminated most of the bad bugs that were present, so will be doing some feature development for a bit. As of now, the features of the bot are:
Setting reminders
Have a reminder ping yourself or the whole room
Alarms which continue ringing until silenced
Support for end-to-end encrypted rooms
Postgres and SQLite support
Docker support
Find it here: https://github.com/anoadragon453/matrix-reminder-bot/ and join the discussion at #matrix-reminder-bot:matrix.org!
Enjoy! β€οΈ
πIPFS Bot
MTRNord offered:
Did you ever have the issue that a media event sent from someone is too large for your HS and you don't want to fiddle with the link?
IPFS Bot might be a solution. Invite @ipfs:nordgedanken.dev or Check out https://github.com/MTRNord/matrix-ipfs-bot/ to use the bot.
If you reply to any media event with
!ipfs
the bot will send you a link to the media stored on ipfs.Known issues are:
E2EE not yet working (It joins but can't yet decrypt the related event)
Error handling is basically not existent. Therefore crashes might happen until I sort this out.
It currently does very verbose logging. This will be removed when the bot is more stable
Images sent from RiotX sometimes seem to not play nice with ruma
(Demo for the IPFS Bot): https://ipfs.nordgedanken.dev/ipfs/QmSfde3V4QL1Lv96Ar62qgnhaEtyi9jzPkKRCBMh4Wqm6F?filename=2020-06-27_16-41-09.mp4
We could include this video here, but it seems me appropriate to link to an actual IPFS location.
πcody, REPL for your Matrix chat rooms
carl offered:
Hello, I am announcing my first matrix bot - cody - that will evaluate code snippets in your Matrix rooms and return the result. Here is an example interaction:
user> !py "Hello world!" cody> 'Hello world!' user> !py list(range(10)) cody> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
You can chat with him @cody:bordum.dk and view the source code at https://gitlab.com/carlbordum/matrix-cody
This initial release only supports Python, but the plan is to add support for more languages in the next few weeks. The repo might also be of interest to some of you as it has CI, CD to DockerHub, complete dev environment with cody, pantalaimon, synapse and riot using docker-compose, simple metrics and Grafana-dashboards-as-code.
πDept of Interesting Projects π°οΈ
πMatrix Notepad Version v0.2.2
KB1RD told us:
A real-time collaborative text editor using the Matrix protocol.
Nope, it's not dead.
New version of
logootish-js
with a completely new algorithm
- In particular, I should note that this new algorithm is tested extensively, so I think the bugs should be out
Corresponding updates to internal event structure
Fixed UI & CSS bugs
Improved UX for room title editor
Currently, conflicting text will be displayed, but conflicts will not be indicated in any way
I almost forgot to mention: The room list is now filtered using the typed rooms MSC (event ID
org.matrix.msc1840
). #test-document0:kb1rd.net is a room with that state event set.I also made a flame graph of the internal algorithm and I'm surprised by some of the results. The good thing is that I think there's quite a few ways to speed up the algorithm. Here it is:
π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 | 385 |
2 | talk.go7box.xyz | 502.5 |
3 | gottliebtfreitag.de | 524 |
4 | phys.ethz.ch | 552 |
5 | eisfunke.com | 997 |
6 | c.mau.dev | 1422 |
7 | halogen.city | 1613 |
8 | nzbr.de | 1722 |
9 | asra.gr | 1774 |
10 | utzutzutz.net | 1875 |
πThat's all I know π
See you first thing tomorrow morning, and be sure to stop by #twim:matrix.org with your updates!
The Foundation needs you
The Matrix.org Foundation is a non-profit and only relies on donations to operate. Its core mission is to maintain the Matrix Specification, but it does much more than that.
It maintains the matrix.org homeserver and hosts several bridges for free. It fights for our collective rights to digital privacy and dignity.
Support us