Conversation
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>
🧹 Rules BotChanges
Validation ✅All rules are valid Full validation output |
There was a problem hiding this comment.
💡 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>
There was a problem hiding this comment.
💡 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".
| const profileDirs = await readdir(fork.cache, { withFileTypes: true }) | ||
| for (const dir of profileDirs) { | ||
| if (dir.isDirectory()) { | ||
| const cachePath = join(fork.cache, dir.name, 'cache2') |
There was a problem hiding this comment.
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 👍 / 👎.
Summary
firefoxForksarray in the browser rules schema to support Firefox-based browsers alongside the existingchromiumarrayapps.jsonto proper browser rules for more precisecache2/entriescleaningDetails
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
firefoxForksschema field was added rather than hardcoding them alongside the singlefirefoxentry, 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 validationnpm test— all 767 tests pass (including parity tests)🤖 Generated with Claude Code