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

113 Commits

Author SHA1 Message Date
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
eb717e558e test: source brew uninstall helpers 2026-01-15 21:11:34 +08:00
Tw93
377f777184 test: remove outdated empty files assertion from clean_empty_library_items test
The clean_empty_library_items function intentionally skips empty file cleanup
to avoid removing app sentinel files (as noted in lib/clean/user.sh:77).
Updated the test to only verify empty folder cleanup, matching current behavior.
2026-01-15 21:06:59 +08:00
Tw93
3b517c7a6b Merge branch 'dev' into fix/harden-brew-uninstall 2026-01-15 14:00:20 +08:00
Tw93
c34d91b36f feat: enhance uninstall with launch items and login items cleanup
- Add automatic cleanup of LaunchAgents/Daemons (Issue #315)
- Support both system and user-level launch paths
- Add Login Items cleanup (fixing broken entries like CodexBar)
- Improve Homebrew uninstall logging visibility
- Update security audit and tests
2026-01-15 11:39:33 +08:00
Jack Phallen
9f441eea86 Fix unrelated test failures
Fixed WHITELIST_PATTERNS unbound variable error in lib/core/app_protection.sh
Updated clean_empty_library_items to match current behavior
2026-01-14 09:29:05 -05: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
5afd602027 refactor: optimize CPU temp feature with tests and performance fix
- Restore performance test threshold to 200ms (from 500ms)
  User caching is highly effective (~8ms for 100 calls)
- Add unit tests for colorizeTemp() covering thresholds and edge cases
2026-01-14 10:31:01 +08:00
Tw93
c210aad3a3 Merge branch 'dev' into dev 2026-01-14 10:18:21 +08:00
Copper-Eye
fae1c88fa2 add cpu temp display and optimize user check 2026-01-13 17:21:03 -04: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
6b594c7d69 feat: add Homebrew integration and optimize UI performance
- Add Homebrew cask detection and use 'brew uninstall --cask' for proper cleanup
  - Add real-time progress feedback during uninstallation
  - Optimize scroll performance by only redrawing visible items
  - Replace Python-based Dock removal with PlistBuddy for better compatibility
  - Add comprehensive tests for Homebrew functionality

  Fixes #306
2026-01-13 10:44:48 +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
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
biplavbarua
096c0ca73f feat: add cleanup support for Elixir, Haskell, OCaml, and Editors 2026-01-10 01:22:43 +05:30
Tw93
b1bb91be1f Fix the wrong test 2026-01-08 15:36:09 +08:00
Tw93
d3f1cdd834 fix(security): allow Firefox ..files directories in path validation
Fixes #263

- Change regex from \.\. to (^|/)\.\.(/|$) to only match path components
- Firefox uses ..files suffix in IndexedDB dirs (e.g., name..files)
- Still blocks actual traversal: /tmp/../etc
- Added test cases for Firefox compatibility
- All 16 tests passing
2026-01-06 09:51:34 +08:00
Tw93
3da97c57c6 test: mock clean_ds_store_tree and UI functions in clean_misc.bats 2026-01-05 17:43:25 +08:00
Tw93
62ef283943 feat: refine ZIP installer detection to handle many entries and app bundles, and update AI agent development guide 2026-01-05 10:30:45 +08:00
Tw93
797c069e89 Test to prevent uninstall local 2026-01-04 23:52:47 +08:00
Tw93
e434a1e837 feat(uninstall): add support for third-party input methods
- Add '/Library/Input Methods' to application scan paths
- Unprotect Sogou, QQ, and Baidu input methods from system critical list
- Enhance file cleanup logic to detect input method plugins and caches
- Allow clean uninstallation and deep cleaning of WeType, Sogou, etc.
2026-01-04 23:19:02 +08:00
Tw93
768b1bf274 docs: add --debug flag documentation and update tests
- Add --dry-run --debug usage examples to README
- Add detailed preview tip explaining debug log features
- Update tests/clean_core.bats for debug functionality
- Closes GitHub issue #242
2026-01-04 17:30:49 +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
Tw93
0df0de33f5 Merge pull request #248 from JackPhallen/fix/protect-whitelisted-subdirectories
fix: Respect whitelisted subdirectories
2026-01-04 16:12:39 +08:00
Tw93
4ed7c9a75a Merge pull request #245 from JackPhallen/chore/skip-tests-requiring-timeout
chore: Skip tests that require timeout
2026-01-04 16:05:38 +08:00
Jack Phallen
70e1544490 fix: Respect whitelisted subdirectories 2026-01-04 00:00:28 -08:00
Tw93
9f504dc249 feat: implement installer cleanup functionality, add ZIP and file descriptor installer tests, and update README 2026-01-04 15:46:48 +08:00
Jack Phallen
aabee42344 feat(purge): C# bin purge support 2026-01-03 23:24:25 -08:00
Jack Phallen
5fa0ea403b chore: Skip tests that require timeout 2026-01-03 22:17:28 -08:00
Tw93
ad42266b09 refactor: rename installers command to installer across commands, script, and documentation. 2026-01-04 10:23:23 +08:00
Tw93
4680982ea1 Merge pull request #240 from JackPhallen/feat/installers-clean
feat: Create utility to find stale app installers
2026-01-04 10:12:00 +08:00
Jack Phallen
a2f071fd48 feat: Create utility to find stale app installers 2026-01-03 10:00:57 -08:00
Tw93
c4df04ff4f test: remove obsolete environment variable tests 2026-01-03 13:44:55 +08:00
Tw93
5ee7d2d703 test: fix empty directory cleanup depth and remove obsolete spinner test 2026-01-03 13:37:53 +08:00
Tw93
5c1e3a939d Adds iterative empty directory cleanup and smart Edge Updater version management. 2026-01-03 13:32:07 +08:00
Tw93
c165230159 refactor: simplify ui and log defaults
Remove support for obscure env var overrides in favor of sensible defaults.
2026-01-03 13:29:07 +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
4aef2de0fc refactor: Consolidate and refactor test suite by removing redundant files and simplifying test execution. 2026-01-03 12:04:57 +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
Tw93
88f434f01a feat: Add browser version cleanup tests, enhance shell completion with new tests, and introduce core command definitions. 2026-01-02 09:55:42 +08:00
Tw93
64a9946483 feat: add unit tests for project root detection and vendor directory protection logic 2026-01-02 00:07:10 +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