feat: 'In Library' badges, artist images on local pages, MBID-based Tier 3

Three features wired together:

1. 'In Library' badges on explore search results:
   CheckLibraryMBIDs Wails binding batch-checks which search result
   MBIDs exist in the local library. Green badges render on matching
   artist cards and album cards.

2. Artist images on local artist-details page:
   Local artist pages now call GetArtistMBID(name) to resolve the
   MBID from tags, then GetArtistImageURL(mbid) to fetch the cached
   Wikimedia photo. Falls back to initial-letter avatar.

3. Tier 3 search index uses direct MBIDs from tags:
   buildTier3Library now reads artists.mbid column (from audio tags)
   for direct MBID matching, falling back to name matching for
   untagged artists. Eliminates false matches and catches artists
   that name matching misses.
This commit is contained in:
2026-03-26 09:34:57 -04:00
parent b941057a46
commit 8f6a4c6a8e
8 changed files with 177 additions and 12 deletions
+9
View File
@@ -49,6 +49,15 @@ type CoverArt struct {
MimeType string
}
type ExploreCache struct {
UrlKey string
Response string
Mbid sql.NullString
EntityType sql.NullString
ExpiresAt time.Time
CreatedAt time.Time
}
type FileType struct {
ID int64
Extension string