navidrome/server/subsonic/e2e
Deluan 2cc2ab1160 fix(artwork): reload animated covers in the UI once converted
A resized animated GIF is first served as a static stand-in while the conversion
runs in the background. The converted image is cached under the same URL, since the
cover hash identifies the original upload, so the UI kept painting the stand-in
from its blob cache until a full page reload.

When a background conversion is stored, the artwork service now broadcasts a
refreshResource event for the item (the service receives the event broker via
wire). In the UI, useArtworkRefresh returns when the last event named a record,
ignoring wildcards so scans do not refetch every cover, and useImageUrl takes that
as a version: a changed version re-fetches the cached URL, keeps showing the old
blob until the new one arrives, and keeps it if the re-fetch fails.
2026-09-14 21:31:14 -04:00
..
doc.go feat(jellyfin): experimental Jellyfin Music API support (#5730) 2026-07-14 11:46:37 -04:00
e2e_suite_test.go feat(ui): add Refresh Metadata to the album and artist context menus (#6036) 2026-08-25 23:59:40 -04:00
subsonic_album_lists_test.go feat(jellyfin): experimental Jellyfin Music API support (#5730) 2026-07-14 11:46:37 -04:00
subsonic_artwork_test.go fix(artwork): reload animated covers in the UI once converted 2026-09-14 21:31:14 -04:00
subsonic_bookmarks_test.go feat(jellyfin): experimental Jellyfin Music API support (#5730) 2026-07-14 11:46:37 -04:00
subsonic_browsing_test.go feat(subsonic): Implement OpenSubsonic topSongsByArtistId extension (#5853) 2026-08-02 12:39:51 -04:00
subsonic_lyrics_test.go feat(jellyfin): experimental Jellyfin Music API support (#5730) 2026-07-14 11:46:37 -04:00
subsonic_media_annotation_test.go refactor(server): drop redundant error return from req.Strings parsing (#5812) 2026-07-18 19:30:04 -04:00
subsonic_media_retrieval_test.go feat(jellyfin): experimental Jellyfin Music API support (#5730) 2026-07-14 11:46:37 -04:00
subsonic_multilibrary_test.go feat(artwork): new artwork pipeline with background resolution and Low Quality Image Placeholders (#5847) 2026-08-09 15:03:27 -04:00
subsonic_multiuser_test.go feat(jellyfin): experimental Jellyfin Music API support (#5730) 2026-07-14 11:46:37 -04:00
subsonic_playlists_test.go feat(jellyfin): experimental Jellyfin Music API support (#5730) 2026-07-14 11:46:37 -04:00
subsonic_radio_test.go feat(jellyfin): experimental Jellyfin Music API support (#5730) 2026-07-14 11:46:37 -04:00
subsonic_scan_test.go feat(jellyfin): experimental Jellyfin Music API support (#5730) 2026-07-14 11:46:37 -04:00
subsonic_searching_test.go feat(jellyfin): experimental Jellyfin Music API support (#5730) 2026-07-14 11:46:37 -04:00
subsonic_sharing_test.go fix(subsonic): honor DefaultDownloadableShare in createShare (#6121) 2026-09-09 20:29:00 -04:00
subsonic_sonic_similarity_test.go feat(artwork): new artwork pipeline with background resolution and Low Quality Image Placeholders (#5847) 2026-08-09 15:03:27 -04:00
subsonic_stream_test.go feat(jellyfin): experimental Jellyfin Music API support (#5730) 2026-07-14 11:46:37 -04:00
subsonic_system_test.go feat(jellyfin): experimental Jellyfin Music API support (#5730) 2026-07-14 11:46:37 -04:00
subsonic_transcode_test.go feat(jellyfin): experimental Jellyfin Music API support (#5730) 2026-07-14 11:46:37 -04:00
subsonic_users_test.go feat(jellyfin): experimental Jellyfin Music API support (#5730) 2026-07-14 11:46:37 -04:00