Tags: ipopo/Mole
Tags
fix(clean): empty trash without Finder dialog and keep spinner alive Two UX regressions in mo clean's user-essentials phase: 1. Trash empty triggered macOS's "Show warning before emptying the Trash" dialog because the implementation routed through Finder AppleScript. mo clean blocked on user confirmation until the dialog was answered, defeating the unattended cleanup expectation. Drop the Finder branch entirely and always direct-delete via safe_remove. Volume Trashes (/Volumes/*/.Trashes/<uid>/) were never advertised as supported and remain outside scope. 2. After "Darwin user temp files" printed, the cache scan and trash empty ran with no spinner, so the terminal looked frozen for seconds. Restart the section spinner between the two Darwin runtime passes and start an inline spinner inside clean_trash while items are being removed. User now sees continuous progress through the whole phase. Test renamed from "falls back when Finder trash operations time out" to "empties trash directly without Finder prompt" and stubs osascript to assert it is never invoked.
fix(analyze): unify overview icons and rename App Library Collapse the seven-emoji icon zoo into two: 📁 for top-level directories, 👀 for hidden-space insights. The previous mix of 📋 💾 🔨 📲 🐳 📱 📥 varied in render width across terminals and added no information. A broom (🧹) was tried first but mis-signalled "all of these are cleanable", which is wrong for Xcode Archives, iOS Backups, and Old Downloads. Rename App Library to User Library to mirror System Library and avoid confusion with /Applications. Path unchanged.
fix(uninstall): show sizes on first run, reject pre-2001 dates (closes … …tw93#798) Bump inline metadata limit from 8 to 50 so most users see complete app sizes on the first run instead of "--" placeholders. Add an epoch floor (2001-01-01) to filter out bogus timestamps like "46y ago" caused by ZIP-based app bundles embedding 1980 file dates. The floor is enforced in all four code paths: relative time display, inline metadata collection, background refresh worker, and the main scan loop mtime fallback.
PreviousNext