Skip to content

StorageScope v0.5.2 — Inspector, File Types colors, Duplicate Review copy

Choose a tag to compare

@RasputinKaiser RasputinKaiser released this 22 Jun 05:03

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 to scan.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 returns nil so 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.Category now 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 — passes
  • bash ./script/build_and_run.sh --verify — bundle launches cleanly
  • DMG: exports/StorageScope-0.5.2.dmg, SHA256 cebdff8c78245365866d33d6328d4e5d70642567b68ae226fd2892fde836dfaahdiutil verify confirmed

Deferred (carried from v0.5.0)

  • Tier 3 SelectionState / Tier 4 TrashReviewState extractions — still pending; same lazy-var + closure-injection template.
  • Tier 5 @Observable macro migration — still blocked by didSet observers on tracked properties.
  • Sparkle 2.x auto-update — still gated on notarization.