tw93
86c9005381
Merge branch 'dwjoss/cleanable-tests' of https://github.com/dwjoss/Mole ; branch 'main' of https://github.com/tw93/Mole
2026-01-27 10:30:43 +08:00
Dylan Joss
162ba949ee
test: expand cleanable directory detection tests
...
Enhance test coverage for `isCleanableDir` and add new tests for
`isHandledByMoClean` in `cmd/analyze/analyze_test.go`.
`TestIsHandledByMoClean` (new, 12 test cases):
- Paths `mo clean` handles (caches, logs, saved state, trash, reports)
- Paths `mo clean` does NOT handle (project dirs, home, random)
- Case sensitivity verification
`TestIsCleanableDir` (expanded from 3 to 24 test cases):
- Project dependencies (`node_modules`, `venv`, `pycache`, `build`, etc.)
- Xcode/iOS directories (DerivedData, Pods)
- Build outputs (dist, target, .next, coverage)
- Paths excluded because `mo clean` handles them
- Edge cases (empty string, root path, just basename)
2026-01-26 14:05:02 -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
83166f2fe8
fix: avoid orphan service false positives and warm large file threshold
2026-01-23 20:16:06 +08:00
Tw93
7e359c57d9
fix(analyze): correct top list and thresholds
2026-01-23 18:27:05 +08:00
Tw93
d862d58672
test: stabilize formatUnusedTime by using UTC baseline
2026-01-22 17:24:55 +08:00
Tw93
6be7f7d0f8
Merge branch 'pr-348'
2026-01-22 17:22:48 +08:00
Dylan Joss
217eb986e2
test: add formatUnusedTime tests and fix duplicate comment
...
Add unit tests for formatUnusedTime in cmd/analyze/format_test.go:
- Zero time (time.Time{}) returns empty string
- Recent files (< 90 days) return empty string
- Boundary tests at 89/90 days threshold
- Month formatting (3mo, 4mo, 6mo, 11mo, 12mo)
- Year formatting (1yr, 2yr, 3yr)
- Boundary tests at year transitions
Also remove duplicate "Memory pressure penalty" comment in
cmd/status/metrics_health.go (line 72-73).
2026-01-21 22:42:13 -08:00
Andrei Murariu
192ea08f8d
bug-fix: mo analyze keybindings misalignment ( #342 )
...
* bug-fix: mo analyze keybindings misalignment
handle also uppercase R together with lowercase r
* bug-fix: mo analyze keybindings misalignment
Fix the logic also for:
- q with Q
- k with K
- j with J
- l with L
- b with B
- h with H
- o with O
2026-01-22 11:16:42 +08:00
bikraj2
c99535c2d7
fix(history): prevent adding multiple history entries with same path when scanning
2026-01-16 19:28:32 +05:30
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