1
0
mirror of https://github.com/tw93/Mole.git synced 2026-02-04 22:04:43 +00:00
Commit Graph

164 Commits

Author SHA1 Message Date
Tw93
444bc3a70a chore: auto format code 2026-01-16 02:00:46 +00:00
Tw93
93953abad6 fix: remove insecure empty folder cleanup logic to prevent critical data loss (#320)
- Removes clean_empty_library_items functionality that incorrectly deleted critical paths (e.g., Postgres data, Steam locks)
- Cleans up associated tests and unnecessary protection rules
- Ensures empty folders are preserved by default for safety
2026-01-15 21:24:38 +08:00
Tw93
cac2909093 fix: prevent Microsoft Teams from being misdetected as Edge
Fixes #313

Change browser process detection from pgrep -f (full command line match)
to pgrep -x (exact process name match) to prevent false positives.

Microsoft Teams processes contain 'Microsoft' in their paths and may have
Chromium-based components, which was causing them to be incorrectly
identified as Microsoft Edge during clean operations.

Changes:
- Chrome detection: pgrep -f → pgrep -x
- Edge detection: pgrep -f → pgrep -x
- Edge updater detection: pgrep -f → pgrep -x

This approach is consistent with Firefox detection and prevents Apps like
Microsoft Teams, Microsoft Office, or other Microsoft products from
triggering false Edge detection.

All existing tests pass (9/9 in clean_browser_versions.bats).
2026-01-15 09:51:56 +08:00
Tw93
572c5c7b3b chore: auto format code 2026-01-14 05:01:12 +00:00
Tw93
8a873c85a3 fix: remove unsafe file cleanup in Library root and fix tests
- lib/clean: remove empty file cleanup in ~/Library to protect potential sentinel files
- tests: fix unbound variable error in clean_user_core.bats by initializing WHITELIST_PATTERNS
2026-01-14 12:56:38 +08:00
Tw93
83dc59bb54 feat: improve purge display with full paths and size sorting (#311)
- Show full project paths (~/www/project) instead of just project names
  - Sort artifacts by size descending (largest first)
  - Increase path display width for better readability
  - Support CMD+Click to open folders in terminal
2026-01-14 10:15:58 +08:00
Tw93
7360f0a59e feat: Implement empty file cleanup in ~/Library root (#234)
- Add logic to remove 0-byte files in ~/Library (maxdepth 1)
- Explicitly protect .localized files to preserve Finder localization
- Respect global whitelist patterns
2026-01-14 09:49:47 +08:00
Tw93
421cdd09dc feat: enhance safe cache cleaning for Electron apps and VS Code
- Add safe cleanup for Antigravity, Filo, and Claude caches in Application Support (Cache, GPUCache, Code Cache only).
- Enhance VS Code cleanup to include deep rendering caches (GPU, Dawn) and extension installers.
- Validated to ensure no user data or pnpm/yarn executables are touched.
2026-01-13 19:04:54 +08:00
Tw93
8ec7663a70 Fixed the ShellCheck warning 2026-01-13 16:54:10 +08:00
Tw93
0bd30955a2 feat: detect multiple NDK and Rust toolchain versions (#234)
Add report-only detection for multiple Android NDK and Rust toolchain
installations. Users receive helpful guidance for manual cleanup via
Android Studio SDK Manager or rustup commands.

- Add check_android_ndk() and check_rust_toolchains()
- Extract check_multiple_versions() helper (DRY)
- Add 4 test cases, optimize test performance
- Fix shellcheck warnings

All 393 tests passing.
2026-01-13 15:59:43 +08:00
Tw93
5b51007c3f Fix mo purge UI glitch by correctly clearing the scanning progress line without overwriting the title. 2026-01-13 14:16:41 +08:00
Tw93
8bd2bac580 Merge branch 'dev' 2026-01-12 17:50:07 +08:00
Tw93
5d77001a72 Optimize the effect and speed of scanning 2026-01-12 17:49:51 +08:00
Tw93
1a40875b80 refactor: improve code quality and test coverage
This commit addresses several code quality issues identified in the
recent bash 3.2 compatibility fixes:

1. Remove redundant array length check in is_whitelisted()
   - The second check for array length > 0 is unnecessary after
     already checking for length == 0

2. Clean up commented dangerous cleanup code in dev.sh
   - Replace commented-out code with clear documentation
   - Add explicit notes explaining why certain paths are excluded
   - Improves maintainability by preventing confusion

3. Enhance test coverage for excluded paths
   - Add tests to verify Mix archives are NOT cleaned
   - Add tests to verify Stack programs are NOT cleaned
   - Add tests to verify VS Code workspace storage is NOT cleaned
   - These tests ensure critical data remains protected

All changes pass ShellCheck, syntax validation, and formatting checks.
2026-01-12 10:09:02 +08:00
Jack Phallen
a994e9b406 fix: remove Time Machine mount check 2026-01-11 09:58:43 -05:00
Tw93
35234ff194 chore: auto format code 2026-01-11 02:04:05 +00:00
Tw93
84bf540c1c fix: safeguard empty array iterations for bash 3.2 compatibility 2026-01-11 10:03:12 +08:00
Tw93
54be4e30a2 fix: global optimization for safe_clean and doc update 2026-01-11 09:55:18 +08:00
Tw93
74fc3df455 Merge branch 'pr-287' into dev 2026-01-11 09:27:15 +08:00
Tw93
413b2c8f98 fix: disable aggressive cleanup and optimize directory checks 2026-01-11 09:27:12 +08:00
Jack Phallen
c0f76936cd feat: Skip TimeMachine cleaning if running 2026-01-10 17:40:42 -05:00
Tw93
8118cab604 Merge branch 'main' of github.com:tw93/Mole 2026-01-10 08:52:12 +08:00
Tw93
273a6b5cf0 fix(clean): enhance orphan detection accuracy and safety
- Expand app scan to include Homebrew Cask and Setapp locations
- Add lsappinfo fallback for more reliable running app detection
- Add sensitive data protection patterns (1Password, Keychain, etc.)
- Add mdfind fallback with file-based caching (Bash 3.2 compatible)
2026-01-10 08:51:14 +08:00
Tw93
9c39eef7fe chore: auto format code 2026-01-10 00:23:16 +00:00
Tw93
0a654f365b fix(clean): enhance orphan detection accuracy and safety
- Expand app scan to include Homebrew Cask and Setapp locations
- Add lsappinfo fallback for more reliable running app detection
- Add sensitive data protection patterns (1Password, Keychain, etc.)
- Add mdfind fallback with file-based caching (Bash 3.2 compatible)
2026-01-10 08:22:17 +08:00
biplavbarua
096c0ca73f feat: add cleanup support for Elixir, Haskell, OCaml, and Editors 2026-01-10 01:22:43 +05:30
Biplav Barua
3507870275 feat: add Angular, SvelteKit, Astro, and coverage to purge targets (#286) 2026-01-10 00:05:38 +08:00
Tw93
24fa0f8f21 feat: Add cleanup rule for Quark (夸克) video cache (#279) 2026-01-09 14:38:59 +08:00
Tw93
9d59649b51 feat(debug): add detailed debug output for clean operations
- Add classify_cleanup_risk() for risk level classification (LOW/MEDIUM/HIGH)
- Enhance safe_clean() with operation details and risk info
- Show item counts and file lists in debug mode
- Support for lib/clean/user.sh debug enhancements
- Part of GitHub issue #242 implementation
2026-01-04 17:30:41 +08:00
Tw93
fc4d94f7c7 Merge pull request #247 from JackPhallen/feat/more-purge-support
feat(purge): C# bin purge support
2026-01-04 16:16:59 +08:00
Jack Phallen
aabee42344 feat(purge): C# bin purge support 2026-01-03 23:24:25 -08:00
Jack Phallen
2045917c23 feat(purge): Additional python purge targets 2026-01-03 22:54:37 -08:00
Tw93
41c8325019 chore: auto format code 2026-01-03 10:08:35 +00:00
Tw93
6dfd675417 refactor: standardize epoch time retrieval with get_epoch_seconds and ensure locale-independent string transformations. 2026-01-03 18:07:47 +08:00
Tw93
8a55e33a00 refactor: ensure mail cleaning configuration variables default to empty if unset. 2026-01-03 14:06:29 +08:00
Tw93
5ee7d2d703 test: fix empty directory cleanup depth and remove obsolete spinner test 2026-01-03 13:37:53 +08:00
Tw93
f98aab6840 refactor: simplify configuration by removing unused environment variables 2026-01-03 13:34:19 +08:00
Tw93
5955bd93dc feat: enhance clean logic
1. Add recursive empty directory cleanup for Application Support and Caches.
2. Add support for cleaning old Edge Updater versions.
2026-01-03 13:29:07 +08:00
Tw93
3cb21aad7e refactor: improve brew cleanup timeout handling and remove app_caches, clean_extras, and optimize_core tests. 2026-01-03 12:53:31 +08:00
Tw93
ac5c0e3c9d fix: Add Library directory existence check to clean script and enhance test script for bats version compatibility. 2026-01-03 12:30:53 +08:00
Tw93
f5a8adb97e feat: implement empty Library directory cleanup and Android NDK version check. 2026-01-03 09:41:05 +08:00
Tw93
d701519310 refactor: simplify pnpm environment variable handling in clean script 2026-01-02 19:10:20 +08:00
Tw93
910e79df4e feat: Improve clean command's regex handling and pnpm cache cleaning, enhance test output, update completion descriptions, and clarify installation instructions. 2026-01-02 18:50:42 +08:00
Jack Phallen
5e7f276722 fix(purge): use regex OR pattern instead of multiple -g flags for fd 2026-01-01 22:45:30 -08:00
Tw93
23ffafc415 feat: add Microsoft Edge old version cleanup and improve vendor directory protection logic. 2026-01-02 00:29:58 +08:00
Tw93
a671c63401 feat: smart vendor directory handling in purge
- Only clean PHP Composer vendor (regeneratable)
  - Protect Rails, Go, and unknown vendor directories
  - Enhanced test coverage for all scenarios

  Builds on PR #229 with improved multi-language support
2026-01-02 00:03:17 +08:00
Jalen Yan
9e84883de5 fix: skip Rails vendor during purge 2026-01-01 23:37:02 +08:00
Tw93
b64f7df357 feat: add Zig build artifacts and project files to cleanup script. 2026-01-01 13:48:08 +08:00
Tw93
f53d440bb8 feat: Add Chrome old versions cleanup and whitelist Poetry virtualenvs from cleaning. 2026-01-01 10:26:59 +08:00
Tw93
2bede99e94 fix: enhance local snapshot warning and improve disk space calculation for macOS 2026-01-01 10:12:43 +08:00