Open Collective
Open Collective
October 2021 Update
Published on October 7, 2021 by Andre Garzia

First, let me apologise for sending this a couple of days later than expected. I'm sure you'll understand. I've been sending these updates every 3rd of the month. Unfortunately, I got really busy at that time and couldn't work on the project. Instead of sending a less interesting update, I opted to delay it a bit while I sorted out the 2021.10.1 release.

The big news for this month is that after two months of very hard work, I got version 2021.10.1 out, it is available for Firefox, Chrome, Edge, Vivaldi, and Brave. This version is the version that had the most changes in the recent Patchwork history. I had to touch almost every single file in the project to update it to a new design system which I think you'll love.

All this work has only been possible because of the kind support I receive from all of you and the recent grant from the Handshake Council.

Release 2021.10.2

This release is a major overhaul of Patchfox. It is laying the groundwork for Patchfox to support multiple backends — nodejs-based ssb-server, browser-ssb server, go-ssb server — and become a viable primary client.

There is comprehensive information about the ROADMAP on SSB, and the tasks have been broken into discreet issues on Github.

Revamped UI with theme support

Sample screen showing one of the new themes.

I have reworked every single package to support the new design language used in Patchfox. You can now use the little palette at the end of the main navigation bar to switch among the available themes. Your selected theme will be remembered.

For the developer-curious among you, I replaced the old Spectre2 CSS + Augmented UI CSS based layout with Tailwind CSS + DaisyUI.

Support Multiple Identities / Connections

This release adds support for using multiple identities and connections with Patchfox. I have enhanced the settings package to allow you to add as many identities as you want.

An account switcher is provided in the top-right corner of the UI. Selecting an identity there will open a new tab using that identity.

Developers can now use ssb.platform to detect what is the current running backend, and use the supportedPlatforms property in the package declaration to make sure the package only loads for supported platforms.

Be aware that the only supported backend is nodejs-ssb at the moment. Trying to add a go-ssb or browser-ssb identity will work, but connecting to them will not work as expected since the packages have not been patched to handle them. Baby steps, baby steps...

Other Fixes & Improvements

  • Made packages more backend agnostic by removing direct calls to nodejs-ssb-only features. For cases where this was not possible, made sure they detect what is the current backend before attempting to use such features.
  • Provided ways for package developers to flag which backends their package supports, and also detect the running backend at runtime.
  • Removed hardcoded occurrences of localhost to fetch blobs. Now it uses the same host and port as the remote in settings.
  • Small fix to post compose lack of spinner