soulsync/webui
dlynas 1afc79a64b feat: full discography, explicit badges, smart selection, and sorting
Pagination: raise discography limit from 50 to 500 across all three API
call sites (artist-detail page, discography download modal, source-detail
view). Deezer/iTunes/Spotify already paginated internally; Discogs updated
to paginate all pages instead of a single capped request.

Explicit flag: add explicit field to the Album dataclass in every metadata
source (Deezer, Spotify, iTunes, Discogs, MusicBrainz, Hydrabase). Deezer
extracts explicit_lyrics, iTunes extracts collectionExplicitness, Hydrabase
forwards the field from the server response; Discogs/MusicBrainz/Spotify
stay None. The field threads through _build_discography_release_dict and
_build_artist_detail_release_card so it reaches the frontend on every
release object. A small "E" badge renders next to explicit album titles in
both the discography download modal and artist-detail page cards.

Smart selection: "Select Best" button in the discography download modal
groups visible cards by normalised title (edition/variant suffixes stripped)
and within each group checks only the highest-scoring version. Scoring
mirrors the existing Python _variant_score logic: explicit > non-clean >
no variant suffix > more tracks > newer release date.

Sort controls: Date desc/asc and Name A-Z/Z-A dropdown added to the
discography modal filter bar. Sorting reorders DOM nodes in place so
checked state is preserved across sort changes.

UI: discography card titles now wrap to full text instead of truncating
with ellipsis; card artwork and checkbox pin to the top when titles wrap.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 19:24:34 -04:00
..
static feat: full discography, explicit badges, smart selection, and sorting 2026-05-01 19:24:34 -04:00
index.html Bump version to 2.4.1 2026-05-01 15:04:33 -07:00