This Week in Matrix 2019-01-18

Matrix Live S3E11

This week I chatted with Jason Robinson about all things decentralisation, especially his projects socialhomethe-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)

Approved MSCs

[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

MSC 1794: Federation v2 Invite API

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

matrix-docker-ansible-deploy

Slavi reports that:

It’s a New Year and there have been a lot of improvements to the matrix-docker-ansible-deploy playbook:

Lots of thanks go to Maximus, jcgruenhage and Cadair for helping out!

libQMatrixClient and Quaternion

kitsune reports that:

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

alphapapa reports that:

matrix-client.el can now send typing notifications.

matrix-puppet-slack

tom reports that:

matrix-puppet-slack v1.10.0 has been released, thanks to Cadair and (once again!) d3m3vilurr!

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

SolarDrew reports that:

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.

mxisd

Maximus reports that:

mxisd has a new alpha release: v1.3.0-alpha.2 – Fixes a set of issues from alpha.1 and is now close to v1.2.2 stability. If you are already on alpha.1, update is highly recommended.

continuum (previously, “koma”)

uforia reports that:

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.

mauview

tulir reports that:

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)

Riot iOS

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!

Riot Android

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.

Modular

Rick reports:

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!

Synapse

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/)

Dendrite

Brendan reports:

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.

If you’re interested in contributing on Dendrite, there’s still some “good first issues” open, and we’ll be happy to chat and help in #dendrite-dev:matrix.org 🙂

Synapse in Debian

andrewsh reports that:

the most recent synapse, using Python 3, is available in both stretch-backports and Debian testing

Discord Bridge

Half-Shot reports that:

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

Black Hat reports that:

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

f0x reports that:

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
https://git.lain.haus/f0x/iris

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!

Ben’s favourite projects 2018

Hi all, Ben here.

Since joining the core team as Developer Advocate last year it’s been quite a ride. One of the best things about the job is getting the chance to talk to so many people about their projects and what they would like to see happen in the matrix ecosystem. With so much going on, I just want to say thanks to everyone who has been so welcoming to me and share some of my personal highlights, as I recall them, from 2018!

Clients

Fractal was featured in the very first TWIM, announcing v1.26. Since then, the team have hosted two IRL hackfest events (Strasbourg and Seville – where to next, Stockholm? Salisbury?), engaged two GSOC students and continued to push out releases. At this point, Fractal is a full-featured Matrix client for GNOME.

Matrique became Spectral, and is generally awesome. Apparently the name “Matrique” was chosen because it sounds French, but those who speak the language well revealed that this name was not ideal! The project was re-named “Spectral”, and is going strong. I really appreciate the multi-user facility! It’s a great looking client, and runs great on macOS too (protip: get more attention from /me by providing a macOS build…)

On which subject, Seaglass is a native macOS client. First announced in June, this client supports E2EE rooms (via matrix-ios-sdk), and is also available on homebrew.

Ubuntu Touch has the most Matrix clients per-user of any platform. UT epitomises the resilience and collaborative spirit of Open Source. It’s a true community maintenance effort, and is as friendly a community as you might meet. uMatriks came first, but it’s FluffyChat that prompted me to install it on my battered old OnePlus One. FluffyChat is now extremely full-featured, with E2EE support being actively discussed.

In the command line, gomuks appeared and quickly became a competent client, but in terms of sheer enthusiasm and momentum, I must give commendation to matrix-client.el, a newly revived mode for Emacs which turns your editor/OS into a great Matrix Client. I enjoyed using it enough that it began to change my mind about using emacs. Laptops have more than 8mb memory these days anyway.

A culture of bots

There is a tendency in the community to build a bot for everything and anything. This has reached the point where there are multiple flairs available depending on what bots you like to make (silly vs serious.)

TravisR was perhaps the first person I saw to get the obsession, creating

and more…

Cadair even made twimbot, designed to make it easier to consume and produce This Week in Matrix itself.

In June tulir started maubot, a plugin-based bot system built in Python, which now also has a management UI.

All bridges lead to Matrix

Or from Matrix, depending on which way you want to send the message.

Around May, I started to notice another obsession brewing in the community. Bridging is a core part of the Matrix mission, but it was around this time I started seeing it in the wild.

Summer 2018 Half-Shot began working in the Matrix core team, and was hugely productive in maintaining and developing the bridge infrastructure for matrix.org. IRC bridging is far more stable and reliable now than it was a year ago. And yet there are still more bridges – too many to list, so I’m picking the ones I’ve used and enjoyed.

Discord is bridged by matrix-appservice-discord, handled by Half-Shot, aided and abetted by anoa but with a new maintainer this year, Sorunome. This bridge is now feature-rich and sits at v0.3.1.

tulir‘s suite of bridges including mautrix-telegram and mautrix-whatsapp are extremely stable and useful – big thank you to TravisR for maintaining t2bot.io and hosting the Telegram bridge too.

SMSMatrix, a phone-hosted bridge is simple and works great for SMS bridging.

Libraries, SDKs, Frameworks

I enjoyed using matrix-js-bot-sdk for building elizabot (more coverage needed for that!), and the SDK recently received support for application services.

In April, kitsune announced v0.2 of libqmatrixclient describing it as “the first one more or less functional and stable” – confidence! This library now powers both Quaternion and Spectral. QMatrixClient has continued to get updates, plus features including lazy loading and VoIP signalling.

There are a few libs I want to pay more attention to this year, starting with tulir‘s maubot now that it has been rewritten in Python. I’m also excited to see jmsdk, part of ma1uta‘s broader ecosystem of Matrix tooling – a Java-based SDK.

Ruma Resurrection

Until around June, Ruma was receiving regular updates. There was a pause as the team waited for Rust async/await to land, and also to get some stability in the Matrix Spec. Still waiting on Rust, but now that the Matrix Spec is stabilising, Ruma is showing signs of life too. I have also been watching other homeserver projects begin to restart, which makes for a great start to 2019.

DSN Traveller by Florian

Matrix was featured as part of a Master’s thesis by Florian Jacob.

DSN Traveller tries to get a rough overview of how the Matrix network is structured today. It records how many rooms it finds, how many users and servers take part in those rooms, and how they relate to each other, meaning how many users a server has and of how many rooms it is part of.

Florian’s thesis was handed in last August. Source code is available.

All details at https://dsn-traveller.dsn.scc.kit.edu/, room at #dsn-traveller:dsn-traveller.dsn.scc.kit.edu.

Still more

Synapse dominates the homeserver space right now, so if you want to host your own homeserver today it’s the obvious choice. Too great a variety of installation guides was doing more harm than good, so Stefan took the initiative to create a definitive community-driven Synapse installation guide, including a room to discuss and improve the text. Find the guide linked from here, and chat about the guide in #synapseguide:matrix.org.

I want to use Matrix, and I want to host my own homeserver. As such, matrix-docker-ansible-deploy is a project I absolutely love. It uses Synapse docker images from the Matrix core team, and combines them with Ansible playbooks written and organised by Slavi. It lets you quickly deploy everything needed for a Synapse homeserver, and it’s simple enough that even I can use it.

Construct, a homeserver implementation in C++ began successfully federating with Matrix, work progressed from around April/May.

Having a Matrix-native mode for shields.io (those counter/indicator images you often see at the top of repos) seems like something petty at first, but it’s actually a great indicator of the importance of Matrix from the outside. Plus, I love seeing the images at the top of different repos. Thanks Brendan for helping this along.

Two students worked on Matrix-related projects during GSOC 2018.

Something which came in super-helpful for me when testing homeserver installations was f0x’s fed-tester. Source code available (obv.)

Thanks for all the projects

Thanks for a great 2018. There was so much to learn about, so much to write about, and so many great community members to meet and chat to! If I didn’t mention your project, I’m sorry to have been either forgetful or to not be able to include everything.

If you think I’ve missed something, or if there’s a project I should have included rather than another, or even if you just disagree with my choices, let’s discuss it in #twim:matrix.org. See you there, and let’s all parade ahead to a productive, open, interoperable 2019!

This Week in Matrix 2019-01-04

Welcome to 2019

It’s been 2019 for several days now, plenty of time to get used to it! Let’s get started with the first TWIM of the year!

Matrix Live S3E09 from 35C3

Several Matrix-ers attended 35C3 in Leipzig last month, you can check out Matrix Live recorded from the conference below (also includes some screenshots and other clips of the event), and also watch a talk given by this author titled Matrix, the current status and year to date.

Welcoming Jason Robinson to New Vector

Decentralisation lover and Python fan Jason Robinson joins New Vector!

one of my dreams of working for a company that is a driver and leader in open source and open standards is coming true

matrix-appservice-purple

Hey Half-Shot, what bridges have you worked on this week?

matrix-appservice-purple got soft launched on matrix.org and is happily bridging XMPP and matrix communities together. I am on full bug and feature fixing duty for it and the consensus from both sides is that it’s looking pretty awesome.
The matrix-appservice-purple bridge is coming along leaps and bounds, with formatting fixes, presence handling and speedier message delivey both ways. Also a shoutout to the XMPP community for guidling me through the XEP landscape and giving the bridge a thorough testing. :)

Riot Web Experimental

Riot Web Experimental was announced in a blog post last month, and is ready to get some more testing! Note that the name is still “experimental”, but to get an image of where things are going, please give it a try!

http://riot.im/experimental

Riot iOS

Photo sharing via the app share extension has been fixed this week.
At the time of writing, a new Riot iOS is baking with all bug fixes made the last month.

Riot Android

Riot 0.8.21 has been released on 01/02 on the PlayStore and on F-Droid.

This version contains:

  • A new notification troubleshoot screen with the possibility to run a diagnostic and to submit bug report. Feedbacks are already coming and we improve this screen incrementally to help users.
  • A new invitations counter on the group icon in the home screen
  • Other bug fixes

We are still working on push/notification reliability.
Riot Play Store resources have been translated into 8 languages so far: Basque, Bulgarian, Chinese (Traditional), French, German, Hungarian, Italian and Portuguese (Brazil).

matrix-client.el’s many updates

alphapapa provided many updates for matrix-client.el this week, I recommend chatting in #matrix-client.el:matrix.org where the cultists Emacs users and client devs hang out.

matrix-client.el gained more room sorting options and a /priority command to set room priority. It also includes a workaround for a Google Chrome drag-and-drop bug on Linux, so now Chrome users can drag-and-drop URLs, files, and images directly into room buffers to upload them.

matrix-client.el gained a new notifications-buffer feature that shows notifications from multiple rooms in a single list, allowing you to easily monitor multiple rooms at once and jump to events in them.
e.g. I can see messages from #matrix and #twim in the same window, and reply to messages in both rooms from the same prompt

koma project: now continuum-desktop (client) and koma library


uforia from koma announced that the client formerly known as koma is now continuum-desktop:

in the koma project, the desktop client now has continous integration and prebuilt packages for Mac and Linux; and you can click on image messages to zoom in. A simple weather bot is created reusing the same implementation of matrix client api. Send it the name of a city, and it will fetch the current weather using openweathermap

Fractal

Alexandre Franke appeared from Fractal to tell us:

the Fractal team focused on improving code quality (including moving to Rust 2018) with a dozen merge request currently being reviewed (a couple of which have already been approved).

Fractal made incredible strides in 2018, can’t wait to see how they progress in 2019.

mxisd

Max, creator of mxisd, announced:

All versions of mxisd dropped support for Riot v0.17.8, introducing a bug affecting many of its features. Any new release integrating this PR will also be dropped of support. mxisd users are strongly encouraged to roll back to v0.17.7

This design concern is noted by the riot-web team and is under investigation.

Dendrite audit progress

Brendan on the progress of the Dendrite audit:

Dendrite’s audit is finally coming to an end! I’m happy to say I just finished the “data collection” phase, in which I looked at everything that needs to be either fixed or implemented in Dendrite. This represents 90% of the work and around 3 weeks of full-time work. All that’s left to do now is some triaging in the data (which is available here, by the way), into order to have a clear view on what’s left to do in the audit. Expect a lot of new issues and a shiny project board appearing on the Dendrite repository next week 🙂

Informo news

Informo is a project intended to enable information sharing, especially for vulnerable activists. It is enabled by Matrix. vabd, the mystery individual behind the project announced:

Our specs bot, which shouts in Matrix rooms when the state of a proposal to a specs project changes, got an upgrade: it now handles concurrency better, and can now send multiple messages if multiple matching labels are added to the proposal in the same action (before, it just wouldn’t know what to do in such an event and would fail silently).

msc-chatbot

The MSC process is the formal process by which changes are submitted to become part of the Matrix specification. anoa has been working on a bot to help with the process:

msc-chatbot now exists. It has commands that let you view the status of current MSCs, as well as a daily summary of MSCs to keep people up to date.

Matrix-Minecraft bridge

TravisR, as if he has time to be working on such things, has announced the revival of his Matrix-Minecraft bridge:

I’ve brought my Matrix<–>Minecraft bridge back to life in the form of a Bukkit plugin. It’s still in the very early stages of development and requires you to compile it yourself to get it, but it is a thing. Check it out on GitHub: https://github.com/turt2live/matrix-minecraft
It’ll be designed to work as a public hosted bridge, so someone could use t2bot.io to bridge their minecraft server (for example)

stickerpack dimension migration tool

Dandellion has created a tool for stickerpack creators:

I’ve finished https://dali99.github.io/stickerpack-dimension-migration-tool/ for a niceish way to make migrations files for custom stickerpacks in dimension

XMPP (as Jabber) turns 20

As noted in The XMPP Newsletter:

Today is Jabber’s 20th anniversary! Jabber would later be standardized and renamed to XMPP.

On this subject, it’s always worth thinking about the importance of openness and interoperability in messaging. This recent article in Linux Journal is a reminder of the need to avoid proprietary vendor lock in, and mentions both XMPP and Matrix.

We’ll meet again…

Come chat in #twim:matrix.org with your Matrix news to be featured in this post. Next Friday there will be another weekly edition, but before then expect to see an edition to the effect “benpa’s best-of-the-community 2018”.

This Week in Matrix 2018-12-28

Welcome to the last TWIM of the year

It’s the 28th of December as I write this, and I hope you had a good year. Long as it is, I recommend reading Matthew’s write-up of the year, as it covers a lot of ground!

Many of the core team have been out of the office this week, but there are still plenty of updates to share from the Matrix ecosystem!

mxisd v1.2.2

Max released mxisd v1.2.2:

mxisd had a Holiday-special release: v1.2.2 before v1.3.0.

This release introduces two new big features:

  • Username login rewriting via 3PID to allow advanced flows, like bypassing the synapse restriction of having numerical usernames for non-guest users
  • Support for multiple Base DNs for LDAP backends

Work has started on v1.3.0 so this is definitely the last release before a non-backward compatible release.

Scylla

VaNilLa has started a new client, a web app build in Elm:

Hi all! I am working on a Matrix client in Elm, and I was recommended to share it here: Scylla

koma-desktop

druig:

koma-desktop is updated to JavaFx 11 and installation is simplified. Dependencies, including native modules can be packaged into one single file, which only needs to be downloaded and run. Java Runtime 11 is the only runtime dependency. Now it’s just cross-compilation that needs to be set up before packaged releases can be provided for Mac, Windows, and Linux users.

Prometheus Alertmanager bot for Matrix

Jason Robinson:

I started work on a Prometheus Alertmanager bot for Matrix. The basic idea is that Alertmanager can send webhook alert events to the bot which will then send the formatted events to configured rooms based on the alert receiver. It works, but is still early work in progress. See code and info here: https://git.feneas.org/jaywink/matrix-alertmanager.

Also mirrored on GitHub: https://github.com/jaywink/matrix-alertmanager

QMatrixClient

kitsune:

This week QMatrixClient project gained some improvements in macOS support (thanks to Matthew and Aaron Raimist!); but most of Kitsune‘s time (aside from dayjob) has been spent on attachments uploading in Quaternion. This required improvement in support of uploading in the library. These changes have now landed in the master branches.

Fractal 4.0

Alexandre Franke:

As expected the Fractal team released 4.0 and is already hard at work on the next micro version. We recommend getting it from Flathub like we usually do.

From the release notes:

New features:

  • Enhanced history view with adaptive layout, day divider
  • Reorganised headerbar, app menu merged with user menu
  • Larger display of emoji-only messages
  • Some performance improvements
  • Opening a room jumps to first unread message

Bugfixes:

  • More reliable notifications
  • Fixed display bug for avatars

Under the hood:

  • Large code refactor
  • Logging infrastructure
  • Continuous integration
  • More informative build output

maubot

tulir working on maubot:

The new command handling system in maubot is ready. The new system should be much nicer to use when developing plugins.

Previously maubot had a system that was designed after the improved bot support spec proposal, but it wasn’t very nice or pythonic. If/when the proposal or something similar goes through, I’ll probably add support for it in the new command handling system.

Next I’ll make some developer docs so that other people could actually make their own plugins.

The code is at https://github.com/maubot/maubot and you can ask about maubot in #maubot:maunium.net.

matrix-client.el new features

alphapapa:

Emacs makes it so easy to integrate things. Now you can send org-mode syntax messages with the /org command in matrix-client.el.

Tab-completion of usernames and IDs was added to matrix-client.el.

matrix-to GitHub app

t3chguy has come out of hiding to announce:

https://github.com/apps/matrix-to is a Github App which makes use of their shiny and new Content Attachments API/Webhook. When a matrix.to or view.matrix.org URL is used this app is activated. It adds a little snippet with the Room Title and Topic (if the room is peekable from matrix.org). In future it’ll work for event permalinks, but currently there is no support for peeking context/event in Matrix API.

Example can be seen at https://github.com/matrix-org/matrix.to/issues/52#issuecomment-449878490. Idea courtesy of TravisR.

See you next year

So there you have it.

I’m at 35c3 with some known characters from the Matrix world (as well as 15,000 others.) If you’re here too, come visit us in our assembly, and also make sure to come to Dijkstra tomorrow to watch me present a look back at on the last year: https://fahrplan.events.ccc.de/congress/2018/Fahrplan/events/9400.html. We have recorded a message for Matrix Live from 35c3, but will post tomorrow with some more footage from the event.

Otherwise, see you next year Matrix fan!

This Week in Matrix 2018-12-21

Matrix Live: Half-Shot talks bridges, and working on libpurple bridging to Matrix

You may have seen that Half-Shot been working fearlessly and tirelessly on bridges for many, many months. In this episode of Matrix Live Half-Shot chats with Matthew about his work, progress and achievements, with a focus on recent matrix-appservice-purple and XMPP work. Audio is not amazing, but worth listening to get acquainted with recent work.

As a note from Half-Shot:

The matrix-appservice-purple bridge gained a XMPP specific backend for better performance when you want to do just xmpp bridging. It’s rather quick right now, and needs dogfooding.

Chat in #purple-bridge:half-shot.uk!

Matrix badges on shields.io

TWIM

Brendan:

A couple of weeks ago, fr1kin PR’d a nice Matrix badge to the Shields project that tells you how many users are in a public room. There were a few issues with it so I PR’d some changes to make the badge more usable, and it’s now merged and live (as of yesterday evening), with examples available here! 🙂
For instance, here’s a badge for TWIM: https://img.shields.io/matrix/twim:matrix.org.svg 😉

Spec update

New MSC for cross-signing, which has different (hopefully better) semantics from the previous cross-signing MSC.

matrix-js-bot-sdk support for application services

TravisR, author of matrix-js-bot-sdk:

matrix-js-bot-sdk has received early support for application services. Similar to the official matrix-js-sdk, the bot-sdk uses an Intent-based model for making bridges easier to write. Check out the simple example here for more information on how it works.

koma-library

druig continues work on their JavaFX/kotlin client project:

The matrix client API implementation in koma is being extracted into a new repo, which is going to be a lightweight library for Kotlin.

Seaglass now available on homebrew

Aaron Raimist reports that Seaglass is available on homebrew for macOS:

Installing Seaglass is now easier than ever. If you already use Homebrew to manage other packages, you can now install Seaglass with a simple brew cask install seaglass.

If you don’t use Homebrew, you can still download Seaglass from GitHub.

matrix-client.el is reborn!

alphapapa reports from a team who have forked and are maintaining a Matrix client for Emacs:

Many additions and improvements to matrix-client.el (https://github.com/jgkamat/matrix-client-el) recently, including a “standalone client” mode that launches Emacs to look like this.

Chat in #matrix-client-el:matrix.org.

matrix-docker-ansible-deploy

Slavi:

the matrix-docker-ansible-deploy playbook has received some bugfixes and improvements lately. Most importantly, it’s now running the freshly-released Synapse 0.34.0 under Python 3, so memory usage should be much better.

libQMatrixClient/Quaternion

kitsune:

I started work on matrix: scheme support in libQMatrixClient/Quaternion. Expect more news on this around New Year.

Fractal road to 4.0

Fresh from their hackfest in Seville last week, Alexandre Franke reports:

The Fractal crew spent the week chasing last minutes bugs and made two beta releases (3.99.0 and 3.99.1) in preparation for the big new stable release, 4.0, which is right around the corner.

New Rooms for Space Launches and Aviation

Aaron Raimist has been creating some new rooms:

#space:im.kabi.tk for anyone interested in space, rocket launches, satellites, etc.
Are you wondering what NASA’s new Mars Rover is doing? Maybe you live on the west coast of the United States, and you saw that meteor on Wednesday night that came within minutes of a scheduled rocket launch and just after three astronauts left the space station. If any of that sounds interesting to you, feel free to join the room.
A Matrix bot is being tested to send updates about upcoming rocket launches to the room.

#aviation:matrix.org for anyone interested in aviation. Whether you are a pilot, someone who visits an airshow once in a while, or if https://www.youtube.com/watch?v=CXv1j3GbgLk piqued your interest, come join.

t2bot.io upgrade

TravisR:

Just a head’s up that I’ve increased the storage capacity of the database. With current projections, the server should be good for another year or two.

The database is also 1ms closer to Synapse and has a faster CPU in it. It probably won’t make a dent in speed on federation, but it is a step forward.

I’ll be rolling out python 3 to the homeserver this week too, which should help a little bit.

https://riot.im/experimental/#/room/#help:t2bot.io/$154511414912clELm:t2l.io

FluffyChat 8.0 RC announced

Krille and his Ubuntu Touch fans are looking forward to FluffyChat 8.0:

Hey guys, in order to release the FluffyChat 8.0 Christmas Edition, the FluffyChat 8.0 release candidate is ready for you! :-)
Also the weblate translations are ready: https://hosted.weblate.org/projects/fluffychat/

Riot iOS

From the Riot iOS team:

  • We have fixed and improved some e2e stuff.
  • Back to reskin. We start to implement e2e backup screens.

Riot Android

From the Riot Android team:

  • New screen to troubleshoot notification issue has been merged on /develop.
  • Splitting current Android SDK to separate crypto part is on it’s way. We’re doing this in order to be able to integrate crypto faster in the Riot reboot.

Synapse

Neil from Synapse reports:

We released 0.34.0! This release recommends Python 3 for production and brings with it huge performance improvements. If you’ve been putting upgrading off upgrading your Synapse, now is the time to do so. For more details here is a post that explains what you should expect and a recent Matrix Live interviews Amber (hawkowl) on the subject.

Aside from that we are working furiously towards federation R0 and have a bunch of MSCs to get us ever closer. You can track our progress here.

andrewsh notes that 0.34.0 is also available in the Debian repos:

Synapse 0.34.0~rc2 in Debian since Tuesday, 0.34.0 uploaded today; both use Python 3 only

Dendrite

Brendan reports:

Dendrite’s internal audit is progressing very well and is getting very close to its end.
What’s left to do for me is check the implementation status of a few Matrix features, and translate those into tagged GitHub issues so that everyone can have as clear of a view as possible on what’s left to work on.
I’m on holiday all of next week, but hopefully will have some good news about that the following week.

That really is it for now

Did you get to the end? What was your favourite section? Come tell us in #twim:matrix.org! Do you have your own update you’d like to add? Same place, come chat in #twim:matrix.org.

Next week is various things. It’s Christmas, which means there will be more hacking and coding happening than usual I expect! It’s also 35c3, which I will be attending, and might affect scheduling next week. Stay tuned in #twim:matrix.org for news, and come join us in #matrix-35c3:matrix.org if you’ll be there and want to meet up!

Merry Christmas!