Matrix Live S3E11
This week I chatted with Jason Robinson about all things decentralisation, especially his projects socialhome, the-federation.info, and feneas.org. Jason has been interested in decentralisation for many years, and had a lot to say about how we can look forward to a more decentralised Internet.
Latest MSC updates (from anoa’s MSC bot)
[MSC 1229]: Mitigating abuse of the event depth parameter over federation
[MSC 1497]: MSC1497: Advertising support of experimental features in the CS API
[MSC 1501]: Room version upgrades
[MSC 1354]: Widget API extension: Always-on-screen
[MSC 1339]: Proposal to add a GET method to read account data
Final Comment Period
In Progress MSCs
[MSC 1796]: improved e2e notifications
[MSC 1797]: Proposal for more granular profile error codes
[MSC 1607]: Proposal for room alias grammar
[MSC 1544]: Key verification using QR codes
[MSC 1802]: Standardised federation response formats
[MSC 1804]: Advertising capable room versions to clients
[MSC 1538]: storing megolm keys serverside
[MSC 1681]: cross-signing
[MSC 1659]: Proposal: Change Event IDs to Hashes
[MSC 1767]: Extensible event types & fallback in Matrix (v2)
[MSC 1768]: Proposal to authenticate with public keys
[MSC 1769]: Extensible profiles as rooms
[MSC 1772]: Groups as rooms (v2)
[MSC 1776]: Implementing peeking via /sync
[MSC 1640]: MSC: Replace event IDs with hashes
[MSC 1777]: peeking over federation
It’s a New Year and there have been a lot of improvements to the matrix-docker-ansible-deploy playbook:
- there’s now support for importing an existing Postgres database, which should make it easier for people with another setup to migrate over.
- there’s now support for manually-managed and self-signed certificates, in addition to the Let’s Encrypt support we’ve always had
- the playbook now uses a much better (20x smaller, faster) riot-web Docker image (avhost/docker-matrix-riot -> bubuntux/riot-web). At least until vector-im/riot-web#7771 gets merged and official images become available.
- completely redone way of generating mxisd configuration, letting people unleash the full power of mxisd without us having to explicitly add support for new features
- mxisd 1.3.0-ready. We default to a stable mxisd release still (1.2.2), but people can try the much-improved 1.3.0 alpha releases even now (e.g.
- we now utilize mxisd’s User Directory Search feature to augment the results coming from Synapse
- the playbook has been split into multiple roles (one role per component) and the roles have been made independent of one another. People who want to re-use our roles in their own playbooks can now more-easily do so.
- even more components have become optional and can now be turned off completely (coturn, mailer)
Lots of thanks go to Maximus, jcgruenhage and Cadair for helping out!
libQMatrixClient and Quaternion
libQMatrixClient 0.4.2 has been released, fixing a security issue (the library could be tricked into altering the local room state by fake state events – those without state_key). The master branch of the library is updated as well – it is strongly recommended to update to either 0.4.2 or master, depending on which branch you live on.
For those who want to help testing Quaternion or just can’t wait to the next release, we now have CI builds collected at bintray: https://bintray.com/qmatrixclient/ci/Quaternion. Linux and macOS are already there, and Windows binaries will also be available any day soon.
matrix-client.el can now send typing notifications.
v1.10.0 fixes Matrix-to-Slack image upload, and no longer sends markdown-formatted @-mention links in the plaintext body of Matrix events; instead, it uses plaintext username the way text-only clients traditionally have it.
The version bump is also the project’s 100th commit, and I’ve updated the supported feature checklist in the README to paint a more comprehensive picture of what is and isn’t supported, and link out to the GitHub Issues for some of the unsupported features, in hopes of making life easier for users and encouraging contributions.
opsdroid‘s Matrix connector is now a core part of the library rather than an external addition. This should open up a lot of cool possibilities for doing fancy stuff with bots on matrix. Many thanks to Cadair for helping with this.
continuum (previously, “koma”)
made some minor changes to continuum to make the GUI more intuitive. Now when there are no joined rooms, buttons for joining or creating rooms are shown instead of an empty list. And when there are issues with syncing or syncing takes longer than usual, a status bar with options is shown.
I’ve been working on a new Go TUI library for gomuks: https://github.com/tulir/mauview
Still not quite sure if it’s a good idea, but at least the input area component is very nice. It should also make it easier to add more fancy stuff like html tables and selecting messages (for replying/redacting)
We are still working on the key backup screens. The last bit on the SDK side, the passphrase support, has been implemented this week.
Reskin is almost done. It just needs some small adjustments. We will release a beta soon so that we can gather users feedback.
This week, we have also fixed small but boring UX issues in Riot and we will continue to do so up to the end of the month and FOSDEM!
Reskin is almost done too and available on develop builds.
Benoit has started to implement the key backup passphrase management in the SDK. Valere is still improving push notifications at the code level but also at the display level.
We are working hard to polish the app for FOSDEM.
We now have a HipChat migration tool – https://www.modular.im/tools/hipchat-migration. This tool helps migrate a HipChat workspace to your very own Modular Hosted Homeserver. Migration is performed by uploading an exported copy of an existing HipChat workspace so that the tool can automatically re-create all of the users and rooms (including messages and attachments) on your new Matrix homeserver. Once the migration is complete all of the migrated users will be emailed with login instructions, so that they can seamlessly continue chatting where they left off in HipChat. If your organisation (or if you know of an organisation that) has not yet decided what to do when Stride & HipChat is discontinued next month, come and try Modular!
The Synapse gang are working flat out towards r0 and a v1.0 release – you can track our progress here (https://github.com/orgs/matrix-org/projects/8). Aside from that if you haven’t already done please please upgrade to v0.34.1.1 (https://matrix.org/blog/2019/01/15/further-details-on-critical-security-update-in-synapse-affecting-all-versions-prior-to-0-34-1-cve-2019-5885/)
People have been generally happy about the flood of new issues following the completion of the internal audit last week, and a few folks have been opening PRs addressing some of the “good-first-issues” labeled ones, which has been amazing to see, including fixing room joins and a couple of default variables. Thanks a lot to Cnly and Behouba for these!
On my end, this week mainly consisted in reviewing most of these PRs (and merging them when that was possible), while anoa worked on making Dendrite’s CI more complete and reliable, especially by configuring it to run sytest against Dendrite which will allow us to better track its compliance to the Matrix specification.
Synapse in Debian
the most recent synapse, using Python 3, is available in both stretch-backports and Debian testing
Discord bridge v0.4.0 is out now, nothing new since rc1 because it was that good. There have been no changes since rc1 because either Sorunome did a stellar job of keeping things stable, or nobody spoke up out of fear :p. Thanks one and all for continuing to run the bridge.
New Dart/Flutter Matrix SDK
I am prototyping a Matrix client SDK in Dart. It will target Flutter (Android, Fuchsia and iOS), web (AngularDart or other) and Dart VM.
f0x returns to Neo
Neo v4: Iris is coming up, focusing on design first. It will be based on React, and the matrix js sdk
I didn’t plan ahead enough with old Neo (v3), so it became a bit of a clobbered togeather mess, which I’m trying to prevent this time around
That’s all for now
Come chat in #twim:matrix.org to discuss what’s happening, and especially come and share what YOU’VE been working on!