- 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.
This commit addresses several code quality issues identified in the
recent bash 3.2 compatibility fixes:
1. Remove redundant array length check in is_whitelisted()
- The second check for array length > 0 is unnecessary after
already checking for length == 0
2. Clean up commented dangerous cleanup code in dev.sh
- Replace commented-out code with clear documentation
- Add explicit notes explaining why certain paths are excluded
- Improves maintainability by preventing confusion
3. Enhance test coverage for excluded paths
- Add tests to verify Mix archives are NOT cleaned
- Add tests to verify Stack programs are NOT cleaned
- Add tests to verify VS Code workspace storage is NOT cleaned
- These tests ensure critical data remains protected
All changes pass ShellCheck, syntax validation, and formatting checks.
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.
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.
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.
- 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