Skip to content

v0.0.4 — Scan UI bugfixes

Choose a tag to compare

@arthursoares arthursoares released this 19 Apr 11:54
· 37 commits to main since this release

Bugfix release on top of v0.0.3. Four issues found while testing the fuzzy-scan against a real 1,800-album library.

Fixed

  • Scan panel stuck at 0 / ? — GET /api/library/scan-fuzzy/{job_id} now returns live {scanned, total} progress while the job runs. The scan's event-bus progress events already drove the WebSocket channel; the polling endpoint was just returning {"status": "running"} with nothing for the UI to render.
  • Scan Review panel had no background. The Svelte component referenced --surface, --fg, --muted, --shadow-color — none of which exist in the design system. Browsers resolved unknown var() to empty so the panel blended into the page. Switched to the real tokens: --canvas-raised, --text-primary, --text-secondary, --shadow-lg, plus a --border left edge.
  • Library grid didn't refresh on Mark / Unmark. The backend already publishes album_status_changed; the frontend library store now subscribes to it and patches the matching row in place. Fuzzy-scan auto-matches flow through the same event, so the grid also updates live during a scan.
  • Load More was instantly overwritten by a page-1 refetch. The library page's reload-on-filter $effect called fetchAlbums(), which read currentPage while building params. Svelte 5 $effect tracks reactive reads transitively, so currentPage became a dependency — bumping it via Load More re-triggered the effect, which reset currentPage to 1 and overwrote page 2 with page 1. Fixed by wrapping the effect body in untrack().

Upgrade

Docker:

```bash
docker compose pull && docker compose up -d
```

No schema changes since v0.0.3 — this release is pure bugfix.

Full commit list

v0.0.3...v0.0.4