StorageScope v0.5.2 — Inspector, File Types colors, Duplicate Review copy
v0.5.2 — Inspector, File Types colors, Duplicate Review copy
Three more tour-driven fixes after v0.5.1. No API or scan-pipeline changes; safe drop-in upgrade over v0.5.1.
Inspector
- Removed the root-scan fallback in
ScanStore.selectedItem. Previously, when no item was explicitly selected, the inspector fell back toscan.rootItem(the entire scan root folder) — making the inspector look like it was "stuck on the root" on every view, and masking the fact that selection is explicit. It now returnsnilso the existing "No Selection — Select an item to inspect actions and metadata" empty state appears, which is what should have surfaced in the first place.
File Types
- Per-category bar tint. Both the Category Mix bar chart and the per-extension bar chart used a single color (teal for categories, blue for extensions), which made the visual length difference hard to register when bars were short (the Archives@16 GB vs Installers@572 MB bars looked near-identical proportionally). Each
FileTypeStat.Categorynow maps to a deterministic system color (Archives → orange, Audio → pink, Developer → purple, Documents → blue, Databases → red, Fonts → indigo, Images → green, Installers → teal, Video → yellow, Virtual Machines → brown, Other → gray). Bar lengths were already linear with an 8pt floor — no scaling change, just better perceptual differentiation.
Duplicate Review
- Subtitle de-jargoned. "Verified duplicates are content-hashed. Same-size candidates remain separated as review leads." → "SHA-256 confirmed copies are safe to remove. Size-matched candidates need manual review." Same meaning; fewer formal-CS terms.
Validation
swift test— 90 tests across 10 suites pass./script/public_upload_audit.sh— passesbash ./script/build_and_run.sh --verify— bundle launches cleanly- DMG:
exports/StorageScope-0.5.2.dmg, SHA256cebdff8c78245365866d33d6328d4e5d70642567b68ae226fd2892fde836dfaa—hdiutil verifyconfirmed
Deferred (carried from v0.5.0)
- Tier 3 SelectionState / Tier 4 TrashReviewState extractions — still pending; same lazy-var + closure-injection template.
- Tier 5
@Observablemacro migration — still blocked bydidSetobservers on tracked properties. - Sparkle 2.x auto-update — still gated on notarization.