1
0
mirror of https://github.com/tw93/Mole.git synced 2026-02-04 19:09:43 +00:00
Commit Graph

75 Commits

Author SHA1 Message Date
Tw93
93dee7b94d Implemented safer temp cleanup and error reporting while fixing folded-directory size fallback to prevent double counting and aligning Homebrew cleanup traps with safe removal. 2026-01-12 15:45:31 +08:00
Tw93
3bae4f356a Merge branch 'dev' into pr-300 2026-01-12 14:20:24 +08:00
Jack Phallen
47ce1cb75b fix(analyze): Fix race condition in currentPath 2026-01-11 23:44:55 -05:00
Jack Phallen
1e2cf97b47 fix(analyze): Additional improvements to limit sem blocking 2026-01-11 23:28:44 -05:00
Tw93
df2f00c92f Merge branch 'pr-296' into dev 2026-01-12 11:52:19 +08:00
Tw93
f21fc833b5 Merge pull request #295 from JackPhallen/fix/cap-scanner-buffer-size
fix: cap entryChan buffer to prevent memory spikes
2026-01-12 11:46:00 +08:00
Tw93
8aee56b7fa fix: enhance overview scan UI and invalidate cache on refresh
- Invalidate disk cache for overview entries on refresh to ensure fresh data.

- Show dynamic status messages (e.g., 'Scanning Applications...') instead of static text in Overview.

- Adjust spinner animation speed to 100ms for smoother visual experience.
2026-01-12 11:42:07 +08:00
frozturk
08c577d24a fix: refresh not working in overview mode 2026-01-11 19:38:56 +01:00
Jack Phallen
8870141923 Cap entryChan buffer to prevent memory spikes
Cap buffer at 4096. All entries still process normally—producers just briefly block if
the buffer fills, which is negligible since the collector drains it quickly.
2026-01-11 11:06:00 -05:00
Jack Phallen
b8ab9511fd Create separate limiter for du subprocesses
Introduce duSem to cap concurrent du subprocess spawns while keeping
the existing sem to limit overall scan fan-out (dir recursion/task concurrency).
This prevents du from monopolizing scan concurrency and reduces resource
spikes during folded-dir sizing.
2026-01-11 10:58:45 -05:00
Jack Phallen
cf4690191e Fix semaphore acquisition order
Acquire semaphore before spawning goroutine in calculateDirSizeFast to prevent goroutine
explosion. Previously, all subdirectory goroutines were spawned immediately and blocked on
the semaphore—now the spawning itself is throttled.
2026-01-11 10:58:45 -05:00
Oleksandr Redko
14b8fa688e refactor: simplify with slices.Clone 2026-01-10 20:41:05 +02:00
Tw93
7d43e669a8 fix(analyze): improve deletion safety and UI clarity
- Update UI status to 'Moving to Trash...' for clarity
- Use os.Lstat instead of os.Stat to correctly handle broken symlinks during deletion checks
2026-01-10 08:51:14 +08:00
Tw93
ebb4f7a1e9 feat(analyze): safer deletion with Trash and two-key confirm
- Change delete confirmation from double-delete to Delete→Enter
- Move files to macOS Trash instead of permanent deletion
- Allow file recovery from Trash if accidentally deleted
- Update UI prompts to show 'Press Enter to confirm'
- Skip Finder-dependent tests in CI environments
- Update SECURITY_AUDIT.md with new safety mechanisms

Closes #288
2026-01-10 07:24:58 +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
79a19ffbfe Go code formatting optimization 2026-01-08 15:26:35 +08:00
Tw93
0d15177735 refactor: remove trimName and renderGPUCard functions 2026-01-06 21:07:51 +08:00
Tw93
c2c589ac81 Merge pull request #264 from alexandear-org/refactor/do-not-use-deprecated-funcs
refactor: replace deprecated `Start` with `Run`
2026-01-06 21:05:10 +08:00
Oleksandr Redko
158af1e1ba refactor: modernize Go code 2026-01-06 12:04:27 +02:00
Oleksandr Redko
80757ec074 refactor: replace deprecated Start with Run 2026-01-06 11:46:59 +02: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
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
Tw93
44685d3999 feat: Improve CJK character width calculation, enhance SQLite vacuum test robustness, and update security audit documentation for core cleaning and optimization logic. 2025-12-28 21:29:10 +08:00
Hensell
23479c61bd feat: add .dart_tool to project purge targets and disk analyzer (#179) 2025-12-28 20:12:22 +08:00
Tw93
66ad3b34ee chore: auto format code 2025-12-28 11:39:34 +00:00
Tw93
e238c84917 Add comprehensive tests for analyze format utilities 2025-12-28 19:38:55 +08:00
Tw93
ae82c83714 chore: auto format code 2025-12-22 03:24:39 +00: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
58e30fbcaa feat: Separate Home and Library entries in overview, exclude Library from Home's size, and sort overview entries by size. 2025-12-22 10:38:38 +08:00
Tw93
f8765ee3d3 feat: optimize application scanning performance, improve multi-selection robustness 2025-12-22 09:46:10 +08:00
Tw93
e13d92abc0 fix(analyze): clear multi-select on refresh and optimize delete
- Clear multi-selection map on refresh to prevent index mismatch
- Use built-in min function in delete.go
- Improve delete cancellation logic
2025-12-21 22:15:18 +08:00
Sizk
74d05ed9aa feat(analyze): add multi-select for batch file operations (#140)
- Add spacebar to toggle selection on files/directories
- Support batch delete for multiple selected items
- Support batch open (O) and reveal in Finder (F) for selections
- Show selection count and total size in status bar
- Display selection indicator (● selected, ○ unselected)
- Clear selections when navigating directories or switching views

Authored-by: Sizk <sizk@users.noreply.github.com>
2025-12-21 22:15:14 +08:00
Tw93
2a0fe88fd3 feat: dynamically adjust column widths in UI and analysis output based on terminal size for improved readability 2025-12-20 22:18:06 +08:00
Tw93
5b3c7d3324 feat: add default directory skipping for common system and special directories during analysis. 2025-12-13 21:09:16 +08:00
Tw93
1896ddd348 add AI agent documentation, improve Touch ID testing, and update version. 2025-12-12 15:31:23 +08:00
Tw93
4ff20ff4e5 chore: auto format code 2025-12-12 07:01:46 +00:00
Tw93
749ed2230b improve analyze scanning performance, UI responsiveness, symlink navigation 2025-12-12 15:01:17 +08:00
Tw93
5456d60876 chore: auto format code 2025-12-12 06:12:13 +00:00
Tw93
0123f71842 feat: Parallelize metric collection, enhance app protection with receipt file scanning, and update cleanup tasks 2025-12-12 14:10:01 +08:00
Tw93
aac0841759 chore: auto format code 2025-12-11 03:34:13 +00:00
Tw93
dd841891ad Test extensive coverage and improvement 2025-12-11 11:31:09 +08:00
Tw93
598c2b410d Uninstall list display name length optimization 2025-12-10 11:40:41 +08:00
Tw93
bb50a345b6 optimize code structure and reduce duplication 2025-12-02 15:24:19 +08:00
Tw93
8cdf583d85 Uniform color specifications 2025-12-02 14:45:48 +08:00
Tw93
36a84e5211 Reconstruct the structure of go 2025-12-01 19:26:03 +08:00
Tw93
388f58dbe6 Repair the analysis navigation and the maximum list key 2025-12-01 14:26:23 +08:00
Tw93
534a6a2703 remove old CrashReporter 2025-11-30 13:56:16 +09:00
Tw93
5dba933e25 The analysis function supports refresh. 2025-11-28 22:54:19 +09:00
Tw93
12713dd1f9 Support vim's arrow keys 2025-11-24 11:34:40 +08:00