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

485 Commits

Author SHA1 Message Date
tw93
e12a40f6bf fix: use \033[2K to fully clear spinner lines and prevent text remnants
Fixes text remnants and extra blank lines when spinner messages change.

Issues fixed:
1. Text remnants when switching from longer to shorter messages (e.g., 'Cleaning...ems...')
2. Extra blank lines appearing after section headers

Root causes:
- \033[K only clears from cursor to end of line, leaving remnants when new messages are shorter
- stop_section_spinner was clearing lines even when no spinner was running

Changes:
- lib/core/base.sh:
  - Changed stop_section_spinner(), safe_clear_line(), safe_clear_lines() to use \033[2K
  - Added guard in stop_section_spinner to only clear when spinner is actually running
- lib/core/ui.sh:
  - Clear line once when starting spinner (before loop) to ensure clean start
  - Normal spinner rotation uses \r without clearing (performance optimization)

Performance: Line clearing happens only once per spinner start, not on every loop iteration.

Fixes #390
2026-01-31 10:09:02 +08:00
tw93
0a46bf2077 fix: improve status icons and fix spinner cleanup
- Show ✓ for empty trash and discovered versions (normal states)
- Fix inline spinner not stopping, causing residual display artifacts
2026-01-28 20:15:26 +08:00
tw93
88da841ce9 refactor: remove mo log command, keep log recording only 2026-01-28 19:58:59 +08:00
Tw93
c12f76c9f3 chore: auto format code 2026-01-28 11:46:59 +00:00
tw93
64f79a59d8 feat: optimize log system and add mo log command
- Add get_timestamp() helper and optimize log rotation
- Create mo log viewer with search/filter capabilities
- Improve test coverage to 18.4% with better assertions
- Add security fixes for grep injection prevention
2026-01-28 19:46:01 +08:00
Gokul
9a109b2b39 fix(clean): handle singular 4K movie summary (#376) 2026-01-27 19:42:54 +08:00
Tw93
09f0cf9e53 chore: auto format code 2026-01-26 07:46:58 +00:00
tw93
b67d149cef Merge branch 'main' of https://github.com/tw93/Mole 2026-01-26 15:46:05 +08:00
tw93
0fbf88a6c6 fix: harden cleanup path validation 2026-01-26 15:43:11 +08:00
Tw93
f272d29490 chore: auto format code 2026-01-26 07:32:44 +00:00
tw93
43a92a1847 Merge branch 'main' of https://github.com/tw93/Mole 2026-01-26 15:31:43 +08:00
tw93
981c79cfd1 fix: clear cleaning spinner after cleanup 2026-01-26 15:31:30 +08:00
Tw93
587b127c01 chore: auto format code 2026-01-26 07:24:38 +00:00
tw93
8c4cd7f82e feat: log cleanup operations for troubleshooting 2026-01-26 15:22:07 +08:00
tw93
e966838c82 style: standardize punctuation across codebase
- Replace parentheses with commas for supplementary info
- Use commas instead of em-dashes for separators
- Update bullet points from - to * in some contexts
- Improve version extraction regex with fallback logic
2026-01-26 14:36:06 +08:00
Tw93
fbff0ec3bd fix: show spinner during cleanup phase
Add progress indicator when deleting files to prevent the terminal
from appearing frozen during long-running cleanup operations.

Closes #358
2026-01-24 08:31:04 +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
7e40824fa3 optimize code syntax 2026-01-23 09:43:04 +08:00
Andrei Murariu
340a71056c bug-fix: mo uninstall unbound variable on empty tuples (#352)
This happens when no third party app is available to be uninstalled; this triggers an `unbound variable` on the app_data_tuple causing the utility to fail.

This is caused mostly because the bash version is 3.2 on MacOS; it seems that since Bash 4 this unbound_variable is set to 0 and would have not went to that error.

Added an alternative value in case of error of 0 for this topic. This should handle this corner case
2026-01-23 09:40:13 +08:00
Tw93
cde39aaeb2 feat(clean): add large file review and unify warnings 2026-01-22 20:15:13 +08:00
Tw93
dad15a5dc6 clean: auto-enable system cleanup when sudo session is active 2026-01-22 17:10:18 +08:00
Tw93
3f85c8238f Use gray color for warning icons to reduce visual noise 2026-01-20 15:07:37 +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
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
00a712711e chore: auto format code 2026-01-14 03:59:21 +00:00
Tw93
facaf5b34c fix: precision issue in battery metrics and adaptive purge UI
- cmd/status: use ParseUint to handle negative battery power values correctly
- bin/purge: make path truncation adaptive to terminal width
2026-01-14 11:57:10 +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
4d3a97903a chore: auto format code 2026-01-13 06:17:41 +00: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
3c8c2b3b98 chore: auto format code 2026-01-13 02:45:33 +00: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
ffea36e868 fix the touchid tests 2026-01-12 16:20:37 +08:00
Tw93
5d5056fc9e fix: address mo update hanging and imporve temporary file reliability 2026-01-12 14:55:42 +08:00
Tw93
e58c7128b0 fix: resolve unbound variable error in safe_clean (bash 3.2 compatibility) 2026-01-11 09:58:37 +08:00
Tw93
54be4e30a2 fix: global optimization for safe_clean and doc update 2026-01-11 09:55:18 +08:00
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