fix(library): tray-restore crash, local art/badges, LabelCard, live pins, rich list rows

- Fix the tray-restore wgpu crash (pre-existing, amplified by the app-wide
  background): clear ImmersiveState.shader-texture on RenderingTeardown so the
  first restored frame never hands a cross-instance stale texture to the new
  femtovg canvas.
- Local/Plex feed covers now decode: route the "All" artwork jobs through
  spawn_search_loads (http / local fs / Plex thumb) at all four dispatch sites;
  show the source badge on the feed's album/track cards (AlbumCard maps plain
  "qobuz" to the Qobuz logo).
- New card-sized LabelCard (200x246), used by the feed + the Favorites Labels
  tab (replaces the round FavLabelCard).
- Artist pin badge updates live in the Favorites Artists grid: add is-pinned to
  FavoriteArtistItem, stamp it, bind it in the ArtistGridCard, and flip the
  favorites artist models in set_artist_row_pinned.
- Rich "All" list view: type-aware subtitle, quality badge (album/track),
  source icon (local/Plex), favorite/follow indicator, and a per-kind context
  menu (⋯ button + right-click).

cc
This commit is contained in:
vicrodh committed 2026-07-18 11:27:28 -06:00
1 parent 8e0802768f
commit f484cc481f
6 files changed
+374 -54

No files matched your search

+3
View File
@@ -4830,6 +4830,9 @@ export struct FavoriteArtistItem {
name: string,
image-url: string,
image: image,
// Pin badge state — kept live by main::set_artist_row_pinned when a pin
// toggles anywhere (mirrors SlimItem.is-pinned).
is-pinned: bool,
}
// An A-Z section of favorite artists (grid grouped mode + sidepanel left