Release v2026.05.08.1 — DRY pass + cover-art HTTP base #31
Reference in New Issue
Block a user
Delete Branch "dev"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Two-round DRY pass across Go server + web SPA, plus PR3's cover-art provider HTTP plumbing extraction. ~50 commits on dev since the last release.
Round 1 (PR1+PR2+PR3 + #85 error-copy)
internal/apierrorpackage + typed*Error;writeErr(err)rewrite migrating ~342 call sites;resolveByIDhelper forparseUUID→fetch→404;audit.WriteOrLogwrapper; per-packageErrNotFoundconsolidated to aliasapierror.ErrNotFound.errCode/errMessagehelpers (38 sites);<Modal>component (8 admin modals);pushToaststore +<ToastHost />(8 sites);offsetGetNextPageParam/pageGetNextPageParam(8 sites).httpClientfor rate-limit + retry + body read across Last.fm / Deezer / TheAudioDB providers; ~400 LoC removed across the 3 providers.Round 2 (Groups A/B/C/D)
*ForUserdedup — 3 query pairs unified via nullable user_id.requireUser/requireURLUUID/decodeBody, ~25 handler files migrated.withUsertest helper — 11 test files migrated.auth/user.svelte.tsextracted, defensive patches removed.PlaylistTrackRowmigrated to@neodrag/svelte..play-overlayCSS hoisted from 3 components toapp.css.Test plan
:mainimage in prod after merge: log in, browse library, play a track, queue management, search, /admin/integrations renders, cover art loadsv2026.05.08.1for the pinned release image