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

447 Commits

Author SHA1 Message Date
Tw93
2b5dd3f44c feat: show scanning progress as percentage in disk analyzer
- Implemented progress percentage display (e.g., `(45%)`) in `cmd/analyze` to show scanning status based on cached total files.
- Kept the UI clean by avoiding a full progress bar.
- fix: formatting improvements in `bin/touchid.sh`.
2026-01-09 14:16:29 +08:00
Tw93
2394c5d768 feat(touchid): add sudo_local support with silent migration 2026-01-09 11:02:10 +08:00
Tw93
5eb2edf1cd fix: resolve spinner display and Ctrl+C handling issues
- fix(clean): stop spinner before safe_clean outputs results
- fix(uninstall): handle Ctrl+C during application scanning
2026-01-08 16:17:39 +08:00
Tw93
9e7f2a87cf Repair output 2026-01-08 16:12:39 +08:00
Tw93
3ef44efcf9 feat: Add debug logging for installer collection and improve Homebrew installer display names by stripping hash prefixes. 2026-01-05 18:55:04 +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
07ea303105 feat: enhance optimization summary with specific metrics for cleaned cache, repaired configs, and optimized databases 2026-01-05 00:26:08 +08:00
Tw93
2fac1e1dea Merge branch 'main' of github.com:tw93/Mole 2026-01-04 23:21:37 +08:00
Tw93
8a0b98525c fix(install): implement atomic update to prevent binary corruption
- Use temporary files (*.new) during installation process
- Perform atomic 'mv -f' operation to replace binaries
- Prevent partial updates if process is interrupted/fails
- Fixes critical issue where failed update deleted existing app
2026-01-04 23:17:42 +08:00
Tw93
b044fa3e60 chore: auto format code 2026-01-04 09:52:09 +00:00
Tw93
3906c020fe fix: improve cleanup by exiting alt screen and refine whitelisting for directory paths and R renv cache. 2026-01-04 17:41:14 +08:00
Tw93
aedeed1817 fix: refine terminal alt screen management with IN_ALT_SCREEN flag and conditional message display 2026-01-04 17:38:32 +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
9f504dc249 feat: implement installer cleanup functionality, add ZIP and file descriptor installer tests, and update README 2026-01-04 15:46:48 +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
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
3e1f22b3f7 feat: Add mo alias to zsh completion. 2026-01-03 14:03:45 +08:00
Tw93
f85f40b67c Merge branch 'main' of github.com:tw93/Mole 2026-01-02 17:47:55 +08:00
Tw93
1923a6bf2f chore: Add shellcheck directives and consolidate file writes. 2026-01-02 10:14:36 +08:00
Tw93
78ded00847 chore: auto format code 2026-01-02 01:56:20 +00: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
Jean-Jacques Martrès
553bd47127 feat: add shell completion script
This commit introduces a new `completion` command that provides shell
completion for bash, zsh, and fish.

The completion is implemented as a shell script in `bin/completion.sh`
and the main `mole` script has been updated to use it.

This approach was chosen to keep the completion logic in shell script,
as the `mole` command is primarily a set of shell scripts.
2026-01-01 15:27:23 +01:00
Tw93
1e8ff30fa1 chore: auto format code 2025-12-31 08:24:02 +00: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
b5b09461c7 feat: add spinner feedback to optimization tasks, enhance app discovery for uninstall, and improve UI robustness and signal handling 2025-12-31 10:59:50 +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
fcde129d2f fix: expand default whitelist patterns for accurate comparison and list all active patterns in dry-run output 2025-12-30 17:46:21 +08:00
Tw93
6c1fcd23d7 feat: optimize clean operation performance by pre-expanding whitelist patterns, improving size calculation, and adapting parallel processing based on file types, alongside test suite enhancements. 2025-12-30 17:13:43 +08:00
Tw93
41ce597f02 fix: improve CI stability and Bluetooth audio detection 2025-12-30 16:27:52 +08:00
Tw93
8e45da97b5 chore: auto format code 2025-12-30 07:45:31 +00:00
Tw93
08aec02283 fix: ensure 0KB files or du failures are still cleaned (potential under-cleaning fix)
- Refactor safe_clean to decouple deletion logic from size calculation
 - Attempt deletion for all existing paths, even if size is 0 or unknown
 - Correctly count failures only for files that existed but couldn't be removed
2025-12-30 15:02:35 +08:00
Tw93
1c4b033cf7 refactor: rename total_size_bytes to total_size_kb in clean.sh for clarity 2025-12-30 14:55:43 +08:00
Tw93
184aab5f60 feat: add --dry-run support for mo optimize
- Skip destructive operations (killall, launchctl unload, sudo) in dry-run mode
- Add opt_msg() helper for consistent output formatting
- Refactor opt_system_services_refresh() with service array
- Show appropriate summary for dry-run vs actual execution
- Skip sudo session prompt in dry-run mode
2025-12-30 14:38:09 +08:00
Tw93
34d202eb01 fix: resolve syntax error in size calculation (Issue #203)
- Add numeric validation for size variables in safe_clean()
- Fix get_path_size_kb() to handle non-numeric du output
- Display custom whitelist patterns in dry-run output (Issue #206)
2025-12-30 14:38:02 +08:00
Tw93
af61748977 release binaries via GH releases and update installer fallback 2025-12-29 20:23:11 +08:00
Tw93
7485af0bee chore: Remove --force-rescan option from uninstall command and script. 2025-12-29 19:40:09 +08:00
Tw93
bb83362195 feat(purge): add --paths option to configure scan directories
- Add lib/manage/purge_paths.sh for interactive path management
- Shows current paths status and opens editor for customization
- Update bin/purge.sh to handle --paths option
- Update README with new command
2025-12-29 19:23:54 +08:00
Tw93
bf36d3d6b6 chore: polish PR #197 and add Xcode Archives whitelist option
- Remove duplicate comment in project.sh
- Fix color code issue in purge.sh help message
- Add proper spacing after load_purge_config function
- Add shell syntax highlighting in README code block
- Add Xcode Archives to whitelist options (fixes #195)
2025-12-29 19:18:41 +08:00
Andrii Medvediev
7e62ed19f9 feat: add configurable purge paths (#197) 2025-12-29 19:16:16 +08:00
Tw93
44e91be007 feat: add new system optimization tasks and implement orphaned startup item cleanup 2025-12-29 19:06:04 +08:00
Tw93
2b30a24ffc chore: update binaries for V1.15.8 2025-12-29 07:52:26 +00:00
Tw93
9691b0fd8b chore: update binaries for V1.15.7 2025-12-29 07:48:12 +00:00
Tw93
b787c78b37 chore: update binaries for V1.15.6 2025-12-29 07:39:38 +00:00
Tw93
a9e4c7c08e Optimize security fix prompts and auto-fix flow 2025-12-29 15:14:23 +08:00
Tw93
2a6930388f Align Touch ID enable output with log_success 2025-12-29 15:13:47 +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
55a0aa5a0a chore: update binaries for V1.15.5 2025-12-28 16:30:53 +00:00
Tw93
b67204f959 feat: remove SQLite vacuum optimization, enhance CJK/emoji width calculation, and improve system cleanup and UI feedback. 2025-12-29 00:29:42 +08:00