Patchfox Versions Save

A client for scuttlebutt network as a Firefox WebExtension

v2022.8.2-alpha

1 year ago

Release 2022.8.2-alpha

This is a complete rework of Patchfox. I've outlined the challenges and decisions regarding the future of Patchfox in Patchfox reborn as a desktop app.

Patchfox is now an Electron-based application. What you're using now is an alpha quality release.

WARNING

This is an alpha version of Patchfox. At the moment it can only load the default identity in your `.ssb` folder. Support for multiple identities and multiple backends will be reinstated soon.

This version uses db1, it is not compatible with existing db2 installations such as Manyverse and Perihelion.

Patchfox will use your current installed identity. If you're using Patchwork, you need to quit Patchwork before running Patchfox.

Patchfox will reindex the database if needed. This process might take a while (there is a dialog showing the progress). If you switch back from Patchfox to Patchwork, Patchwork will reindex the database to its taste.

Changes

oh boy...

I SAID CHANGES

Okay, besides the whole Patchfox is now a desktop app change, I've replaced all Svelte-based code with Mithril-based code. That means that Patchfox no longer requires a build system to transpile its source code into something a browser can understand. This makes development a lot faster and also makes it easier to reason about the code.

v2021.10.2

2 years ago

Release 2021.10.2

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

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

Because there is so much going on, the release notes will give at a glance information only.

Revamped UI with theme support

Every single package has been reworked 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. The settings package has been enhanced 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...

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

v2021.5.2

2 years ago

v2021.5.1

3 years ago

Release 2021.5.1

Patchfox 2021 5 1

New Features

New app: Books

This is a new app accessible using the launcher. It provides book club features similar to Good Reads and The StoryGraph.

Fixes

I apologise for the amount of deep development topics in this changelog. I try to describe the changes in terms of their high-level impact and usability, but during the making of this version there were so many silly gotchas, that to document everything I had to resort to tech speak.

  • npm scripts: The copy:docs script was wrong and was not copying root files. Patched many of those scripts.
  • Spectre.css: Browserify was borking the import from node_modules/, so I made an extra copy:spectre-icons-css script that copies it to the default theme directory, and patched the SCSS code to import from there.
  • NPM flamefest while updating: 😤 A gazillion errors happened when trying to bring dependencies up to date...
  • Zine: The old masonry grid was buggy. Unfortunately Firefox is yet to support grid-template-rows: masonry;. So I'm using a fallback to CSS Grid, and left the masonry grid template in place. I expect support for that CSS will arrive shortly since it is already possible to use it in Firefox if you switch some internal flags in about:config.
  • CSP: Had to change the CSP for the add-on to support unsafe-eval because ssb-gatherings uses Function(). Mozilla will probably complain and reject the add-on because of that. I might need to revert this and remove some of the gathering features.
  • Show unknown renamed to show extras in display settings: At the beginning Patchfox had a core set of messages that it understood. As the packaging system expanded, this set became a dynamic set based on which packages are loaded. To be able to view these potential extra messages on thread viewers, you need to enable Show Extra in the Display Settings. The default option has been changed to display these extra messages.