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

182 Commits

Author SHA1 Message Date
Tw93
83166f2fe8 fix: avoid orphan service false positives and warm large file threshold 2026-01-23 20:16:06 +08:00
Tw93
500b6dc554 fix(clean): silence ShellCheck SC2053 2026-01-23 18:32:33 +08:00
Tw93
d7a0d480bc fix: improve dry-run mode and error handling
- Export MOLE_DRY_RUN env var for subprocess visibility
- Add || true to grep commands to prevent pipeline failures
- Add dry-run test for clean_orphaned_system_services
- Simplify clean_local_snapshots tests
2026-01-23 18:05:09 +08:00
Tw93
8c9cd1f90c feat(clean): add JetBrains Toolbox old IDE cleanup with whitelist-safe handling 2026-01-23 17:37:37 +08:00
Tw93
1ad7d7e79b refactor: simplify Puppeteer cache cleanup to match browser cache pattern
- Replace 48-line custom function with one-line safe_clean call
- Remove unnecessary interactive confirmation (consistent with other browser caches)
- Simplify tests to verify Puppeteer cache is in clean_browsers output
- Net: -93 lines of code for same functionality
2026-01-23 09:56:14 +08:00
Shakeel Mohamed
5a8d766667 Add Puppeteer cache cleanup (#353) 2026-01-23 09:55:02 +08:00
Tw93
cde39aaeb2 feat(clean): add large file review and unify warnings 2026-01-22 20:15:13 +08:00
Tw93
9d824d0ad2 fix: restore uninstall traps and remove dead search key 2026-01-22 17:45:53 +08:00
Tw93
8188f4b81b fix: clean update packages with SIP enabled 2026-01-22 16:16:50 +08:00
Tw93
6817f93075 Merge branch 'main' of github.com:tw93/Mole 2026-01-20 15:10:05 +08:00
Tw93
3f85c8238f Use gray color for warning icons to reduce visual noise 2026-01-20 15:07:37 +08:00
Tw93
58522b4f90 Fix undefined ICON_INFO variable 2026-01-20 15:03:08 +08:00
Tw93
a96e53d988 chore: auto format code 2026-01-20 06:46:06 +00:00
Tw93
acdf40dd2c Unify output format for multiple versions check 2026-01-20 14:44:11 +08:00
Tw93
b4b9b0c474 Add cleanup for orphaned system services
Detect and remove leftover LaunchDaemons, LaunchAgents, and
PrivilegedHelperTools from uninstalled apps like Sogou Input,
ClashX, ClashMac, and Nektony App Cleaner.
2026-01-20 14:25:32 +08:00
Tw93
2d5ccf5d71 fix: exclude Flutter/CocoaPods/Pub caches from cleanup (#334)
Prevent forced re-downloads and re-installations by not cleaning:
- ~/Library/Caches/CocoaPods (spec repo cache)
- ~/.cache/flutter (engine/artifacts cache)
- ~/.pub-cache (Dart package cache)

Also standardize redirection syntax to '> /dev/null' for consistency.

Fixes #334
2026-01-19 17:08:35 +08:00
Tw93
46472bc86e chore: auto format code 2026-01-17 02:13:54 +00:00
Tw93
e6fc0613d5 perf: improve cleanup UI responsiveness and reduce visual flicker
- Speed up spinner animation from 100ms to 50ms for smoother visuals
- Fix spinner flicker by deferring stop until output is ready
- Remove unnecessary 'Preparing...' spinner at section start
- Hide whitelist-protected items from output (Trash, Finder metadata)
- Add spinner feedback for system diagnostic log cleanup
- Remove redundant stop_section_spinner calls in cleanup modules

The cleanup process now feels significantly faster and more polished,
with continuous visual feedback and no jarring gaps between operations.
2026-01-17 10:12:23 +08:00
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