Skip to content

feat(browsers): add CatsXP, LibreWolf, Waterfox, and Floorp support#48

Merged
dbfx merged 2 commits intomainfrom
feat/add-browser-support-catsxp-librewolf-waterfox-floorp
Mar 23, 2026
Merged

feat(browsers): add CatsXP, LibreWolf, Waterfox, and Floorp support#48
dbfx merged 2 commits intomainfrom
feat/add-browser-support-catsxp-librewolf-waterfox-floorp

Conversation

@dbfx
Copy link
Contributor

@dbfx dbfx commented Mar 23, 2026

Summary

  • Add CatsXP (Chromium-based) browser cache cleaning on Windows and macOS
  • Add LibreWolf, Waterfox, and Floorp (Firefox forks) browser cache cleaning on all platforms
  • Introduce firefoxForks array in the browser rules schema to support Firefox-based browsers alongside the existing chromium array
  • Move LibreWolf and Waterfox from apps.json to proper browser rules for more precise cache2/entries cleaning

Details

CatsXP is added as a Chromium browser entry with profile-aware scanning (Cache, Code Cache, GPU Cache, Service Worker Cache).

LibreWolf, Waterfox, Floorp are Firefox forks that use the same profile/cache structure as Firefox. A new firefoxForks schema field was added rather than hardcoding them alongside the single firefox entry, keeping the architecture extensible.

Files changed across all layers: schema, rule JSON (3 platforms), TypeScript types, loader, IPC handler, CLI, and cloud agent.

Test plan

  • npm run validate:rules — all 24 rule files pass schema validation
  • npm test — all 767 tests pass (including parity tests)
  • Manual: install one of these browsers and verify its cache is detected in a scan

🤖 Generated with Claude Code

Add browser cache cleaning for four new browsers:
- CatsXP (Chromium-based, Windows + macOS)
- LibreWolf, Waterfox, Floorp (Firefox forks, all platforms)

Introduces a firefoxForks array in the browser rules schema to support
Firefox-based browsers alongside the existing chromium array. Moves
LibreWolf and Waterfox from apps.json to proper browser rules for more
precise cache2/entries cleaning.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Contributor

github-actions bot commented Mar 23, 2026

🧹 Rules Bot

Changes

  • ❌ Removed LibreWolf (librewolf) from win32/apps.json
  • ❌ Removed Waterfox (waterfox) from win32/apps.json
  • ❌ Removed LibreWolf (librewolf) from darwin/apps.json
  • ❌ Removed Waterfox (waterfox) from darwin/apps.json
  • ❌ Removed LibreWolf (librewolf) from linux/apps.json
  • ❌ Removed Waterfox (waterfox) from linux/apps.json

Validation ✅

All rules are valid

Full validation output

> kudu@1.21.1 validate:rules
> npx tsx src/main/rules/validate.ts

npm warn exec The following package was not found and will be installed: tsx@4.21.0

win32:
  ✓ apps.json passes schema
  ✓ browsers.json passes schema
  ✓ databases.json passes schema
  ✓ gaming.json passes schema
  ✓ gpu-cache.json passes schema
  ✓ misc.json passes schema
  ✓ steam.json passes schema
  ✓ system.json passes schema

darwin:
  ✓ apps.json passes schema
  ✓ browsers.json passes schema
  ✓ databases.json passes schema
  ✓ gaming.json passes schema
  ✓ gpu-cache.json passes schema
  ✓ misc.json passes schema
  ✓ steam.json passes schema
  ✓ system.json passes schema

linux:
  ✓ apps.json passes schema
  ✓ browsers.json passes schema
  ✓ databases.json passes schema
  ✓ gaming.json passes schema
  ✓ gpu-cache.json passes schema
  ✓ misc.json passes schema
  ✓ steam.json passes schema
  ✓ system.json passes schema

✓ All rule files are valid

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2433e106e1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

…ries

- Scan cache2 instead of cache2/entries for LibreWolf, Waterfox, Floorp
  to match the old apps.json behavior. Scanning cache2 avoids the 5000
  item limit in scanDirectory and captures doomed/ and index data.
- Add process names for CatsXP, LibreWolf, Waterfox, and Floorp to all
  three platform browser-close handlers so closeBrowsersBeforeClean
  works correctly for these browsers.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4fb9f6035b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +115 to +118
const profileDirs = await readdir(fork.cache, { withFileTypes: true })
for (const dir of profileDirs) {
if (dir.isDirectory()) {
const cachePath = join(fork.cache, dir.name, 'cache2')

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve the Linux profile-root fallback for Firefox forks

On Linux installs that still keep LibreWolf/Waterfox caches under the profile root (~/.librewolf/<profile>/cache2 / ~/.waterfox/<profile>/cache2), this new browser scan is a regression: the deleted rules/linux/apps.json entries covered both ${CACHE}/... and ${HOME}/..., but this loop only enumerates fork.cache. If ~/.cache/librewolf or ~/.cache/waterfox is absent, the scan now returns nothing and those browser caches can no longer be cleaned.

Useful? React with 👍 / 👎.

@dbfx dbfx merged commit c990593 into main Mar 23, 2026
9 checks passed
@dbfx dbfx deleted the feat/add-browser-support-catsxp-librewolf-waterfox-floorp branch March 23, 2026 10:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant