chore: complete v1.1 milestone
This commit is contained in:
@@ -20,3 +20,26 @@
|
||||
|
||||
---
|
||||
|
||||
|
||||
## v1.1 Multi-Library Support (Shipped: 2026-03-16)
|
||||
|
||||
**Phases completed:** 6 phases, 18 plans
|
||||
**Timeline:** 10 days (2026-03-06 → 2026-03-16)
|
||||
**Stats:** ~85 commits, ~57,700 LOC (27.7K Go + 28.8K TS + 1.2K SQL), 31 requirements fulfilled
|
||||
|
||||
**Delivered:** Transformed YellowJacket from a single-directory player into a multi-library music manager — users can add, rename, and remove library directories through the UI, scan them independently, filter all views to a specific library, and playlists gracefully survive library removal with phantom track preservation and auto-resolution.
|
||||
|
||||
**Key accomplishments:**
|
||||
- Cancellable/pausable library scans with per-scan context cancellation and sequential queue coordination
|
||||
- Configurable keyboard shortcuts with record-style capture UI, scope-aware dispatch, and conflict detection
|
||||
- Multi-library database schema (migration 6) with seamless single-directory migration preserving all user data
|
||||
- Per-library scan pipeline with scan queue, progress UI per library, and cancel scope (single vs all)
|
||||
- Full library CRUD API with 17-step atomic removal (orphan cleanup, phantom metadata, FTS5, cover art, queue compaction)
|
||||
- Library filter dropdown in top bar — all views (tracks, albums, artists, genres, search) respect the active filter
|
||||
- Cross-library playlists with phantom track auto-resolution via ScanHooks + M3U8 path matching
|
||||
- Performance optimization: CSS containment, view caching, event delegation, content-visibility, scroll polish
|
||||
|
||||
**Archive:** [v1.1-ROADMAP.md](milestones/v1.1-ROADMAP.md) | [v1.1-REQUIREMENTS.md](milestones/v1.1-REQUIREMENTS.md)
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user