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

63 Commits

Author SHA1 Message Date
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
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
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
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
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
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
23ffafc415 feat: add Microsoft Edge old version cleanup and improve vendor directory protection logic. 2026-01-02 00:29:58 +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
9aa569cbb6 feat: Enhance clean, optimize, analyze, and status commands, and update security audit documentation. 2025-12-31 16:23:31 +08:00
Tw93
bb49ec3170 fix: Improve shell script robustness by adding variable validation and safer du output parsing. 2025-12-30 18:07:48 +08:00
Tw93
56c5fe08d2 Remove some useless comments 2025-12-29 15:38:30 +08:00
Tw93
ae3889eb34 Simplify the content deleted by the system 2025-12-29 15:34:35 +08:00
Tw93
694c55f73b fix: implement layered error tolerance and accurate cleanup reporting (#175 #176 #180)
- Fix safe_remove set -e trap in command substitution
  - Fix has_full_disk_access false positives and unknown state handling
  - Use set +e in perform_cleanup for graceful degradation
  - Track removal failures and only count actually deleted items (#180)
  - Add "Skipped X items (permission denied or in use)" notification
  - Improve spinner reliability with cooperative stop mechanism (#175)
2025-12-29 14:27:47 +08:00
Tw93
faac42cb62 Improve performance and process handling 2025-12-28 19:37:42 +08:00
Tw93
c00943489a Fix bash syntax error caused by newlines in variables (#173) 2025-12-28 14:58:54 +08:00
Tw93
c8e33931c2 refactor: centralize whitelist path checking with a new is_path_whitelisted helper function 2025-12-28 09:21:04 +08:00
Tw93
f5efc63bae feat: add whitelist protection for user and external volume Trash directories and include ~/.Trash in default whitelist 2025-12-27 13:04:19 +08:00
Tw93
71d0f2c3cc Migrate recent items and mail downloads cleanup to the user module and add scanning spinners 2025-12-27 10:17:39 +08:00
Tw93
22db4291ce chore: auto format code 2025-12-26 10:26:55 +00:00
Tw93
2c23d15eb7 Clean performance speed optimization 2025-12-26 18:25:38 +08:00
Tw93
d2dc68da90 feat: Enhance app protection with centralized critical component checks, improve UI string width calculation, refine analysis and cleaning logic, and add new tests. 2025-12-22 11:24:04 +08:00
Tw93
240202dfa9 refactor: Extract Apple Silicon cache cleaning to a shared function and improve optimization summary calculation. 2025-12-19 20:35:54 +08:00
Tw93
8eeed7d079 feat(clean, optimize): enhance recent items cleanup safety 2025-12-18 17:19:18 +08:00
Tw93
af03452f6d feat: Enhance clean and optimize operations with new configuration constants 2025-12-18 17:02:04 +08:00
Tw93
df7e5c8a04 feat: enhance system protection by adding critical path safeguards and removing problematic Spotlight and Finder/Dock cleanups. 2025-12-18 10:42:13 +08:00
Tw93
7e229bbf41 feat: Improve cleaning protection for system settings and control center, 2025-12-18 09:34:38 +08:00
Tw93
0427dbb6c0 feat: Expand critical system component protection in clean user logic and apply minor shell script fixes. 2025-12-17 20:42:25 +08:00
Tw93
278cc4a565 feat: Enhance clean protection by explicitly excluding critical system components and adding case-insensitive bundle ID checks. 2025-12-17 18:59:36 +08:00
Tw93
37c7b7e743 feat: Add AI agent documentation, expand critical application protection for AI/LLM tools, and enhance user cache cleaning safety 2025-12-14 08:53:19 +08:00
Tw93
85005bd9cf Remove orphaned Homebrew cask cleaning functionality, improve shell safety for cache cleanup, and bump version 2025-12-13 14:12:01 +08:00
Tw93
012c0b257c chore: auto format code 2025-12-13 05:38:36 +00:00
Tw93
da73cb901e feat: Add local APFS snapshot cleanup, optimize Homebrew health check, and enhance UI feedback for various operations 2025-12-13 13:37:41 +08:00
Tw93
045df37b7c chore: auto format code 2025-12-12 12:18:37 +00:00
Tw93
3601b14dc8 fix: Enhance system protection by explicitly preventing cleaning of critical background task and login item components 2025-12-12 20:17:47 +08:00
Tw93
bb22dc5d10 Parallelize status metric collection, enhance debug logging with a dedicated file and system info, update security audit for swap clearing, and remove orphaned cask cleaning. 2025-12-12 14:10:36 +08:00
Tw93
2d7932025f Parallel scanning and testing 2025-12-11 19:24:23 +08:00
Tw93
57819950bb Scan a large number of files for optimization 2025-12-11 16:41:17 +08:00
Tw93
198591289f Spotlight cache cleaning moved to the optimize command 2025-12-10 10:02:49 +08:00
Tw93
bd51e86072 Clean Spotlight user caches 2025-12-09 18:40:35 +08:00
Tw93
e7fd73302d More thoughtful consideration 2025-12-06 21:12:02 +08:00
Tw93
d4600f6623 More perfect cleaning 2025-12-06 12:53:16 +08:00