This was originally written for some coworkers and assumes a mostly GitHub-based workflow. It has been lightly edited to be more readable, but if your organization doesn’t use GitHub like we do then it might not apply great.
GitHub can generate a lot of notifications which can be …read more →
I demoed some of my work at Element on Matrix Live back on August 4th’s This Week in Matrix (and failed to mention it here). I talked a bit about what Linearized Matrix, Element’s effort for the IETF’s “More Instant Messaging Interoperability” (MIMI) working group.
I demoed …read more →
The Celery project, which is often used Python library to run “background tasks” for synchronous web frameworks, describes itself as:
read more →
Celery is a simple, flexible, and reliable distributed system to process vast amounts of messages , while providing operations with the tools required to maintain such a system.
It’s a …
In a previous post about read receipts & notifications in Matrix I briefly mentioned that push rules generate notifications, but with little detail. After completing a rather large project to improve notifications in Matrix I want to fill in some of those blanks. 
These notes are true as of …
We have been slowly adding Python type hints  to Synapse and have made great progress (see some of our motivation). Through this process we have learned a lot about Python and type hints. One bit that was unexpected is that many of the abstract base classes representing groups of …read more →
The Matrix protocol is modified via Matrix Spec Changes (frequently abbreviated to “MSCs”). These are short documents describing any technical changes and why they are worth making (see an example). I’ve written a bunch and wanted to document my research process. 
I treat my research as a …
I recently wrapped up a project on improving notifications in threads for Matrix. This is adapted from my research notes to understand the status quo before adapting the Matrix protocol for threads (in MSC3771 and MSC3773). Hopefully others find the information useful!
These notes are true as of the …
Almost a year ago we had a push at Element to convert the remaining instances of Twisted’s inlineCallbacks to use native async/await syntax from Python . Eventually this work got covered by issue #7988 (which is the original basis for this blogpost).
Note that Twisted itself gained some …read more →
As explored previously, the RPC result backend works by having a results queue per client, unfortunately celery-batches was attempting to store the results …read more →
This project lets you easily add two-factor authentication to a Django project using django-allauth.
As a bit …read more →