Tw93
060c48c48d
refactor: enhance uninstall safety and fix dock removal
...
- Add symlink/bundle_id/BOM validation to prevent injection attacks
- Fix Dock removal for /Applications symlink (use pwd not pwd -P)
- Fix brew uninstall test hanging (skip sudo in non-interactive mode)
- Remove unused SENSITIVE_DATA_REGEX
2026-01-17 09:49:42 +08: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
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