navidrome/core/artwork
Deluan d7385a9f68 fix(artwork): register the GIF decoder in core/artwork
The deleted artwork.go carried blank imports for image/gif and
x/image/webp. WebP came back via resize.go's gen2brain/webp, which
self-registers, but GIF did not: core/artwork claims GIF support in
mimeForFormat and extForMime while relying on an unrelated server
package to have imported the decoder.

The guard lives in the e2e suite because that test binary has no other
image/gif importer; a spec in core/artwork would pass regardless, since
animation_test.go imports the package non-blank.
2026-07-25 10:02:18 -04:00
..
blurhash feat(artwork): import blurhash encoder from #5797 2026-07-22 15:53:32 -04:00
e2e fix(artwork): register the GIF decoder in core/artwork 2026-07-25 10:02:18 -04:00
agent_images.go feat(artwork): log external image-lookup failures at debug 2026-07-24 18:15:07 -04:00
agent_images_test.go fix(artwork): restore synthetic-artist guard and unicode normalization in agent lookups 2026-07-23 14:08:08 -04:00
animation.go feat(artwork): preserve animated image artwork during resize (#5184) 2026-03-13 18:11:12 -04:00
animation_test.go feat(artwork): preserve animated image artwork during resize (#5184) 2026-03-13 18:11:12 -04:00
artwork_suite_test.go refactor(artwork): delete the legacy reader chain, cache warmer, and provider image methods 2026-07-23 14:08:08 -04:00
benchmark_decode_test.go perf(artwork): improve image serving performance with WebP encoding and optimized pipeline (#5181) 2026-03-13 09:35:59 -04:00
benchmark_encode_test.go perf(artwork): improve image serving performance with WebP encoding and optimized pipeline (#5181) 2026-03-13 09:35:59 -04:00
benchmark_helpers_test.go chore: go fix 2026-05-28 22:13:05 -03:00
benchmark_pipeline_test.go feat(artwork): preserve animated image artwork during resize (#5184) 2026-03-13 18:11:12 -04:00
benchmark_tag_test.go perf(artwork): improve image serving performance with WebP encoding and optimized pipeline (#5181) 2026-03-13 09:35:59 -04:00
disc.go refactor(artwork): delete the legacy reader chain, cache warmer, and provider image methods 2026-07-23 14:08:08 -04:00
disc_test.go refactor(artwork): delete the legacy reader chain, cache warmer, and provider image methods 2026-07-23 14:08:08 -04:00
folders_album.go refactor(artwork): delete the legacy reader chain, cache warmer, and provider image methods 2026-07-23 14:08:08 -04:00
folders_artist.go refactor(artwork): delete the legacy reader chain, cache warmer, and provider image methods 2026-07-23 14:08:08 -04:00
housekeeping.go feat(artwork): make artwork re-resolution targeted, not blunt 2026-07-24 20:42:14 -04:00
housekeeping_test.go feat(artwork): make artwork re-resolution targeted, not blunt 2026-07-24 20:42:14 -04:00
image_cache.go refactor(artwork): delete the legacy reader chain, cache warmer, and provider image methods 2026-07-23 14:08:08 -04:00
image_store.go feat(artwork): add acquisition worker service 2026-07-22 15:53:32 -04:00
image_store_test.go test(artwork): leak/soak coverage and deferred assertions 2026-07-22 15:53:32 -04:00
library_fs.go fix(artwork): preserve the drive when normalizing Windows file:// library paths 2026-07-23 14:08:08 -04:00
library_fs_test.go fix(artwork): open library-backed artwork through its on-disk root 2026-07-23 14:08:08 -04:00
playlist_cover.go fix(artwork): serve a local playlist ExternalImageURL as a file-backed reference 2026-07-23 14:08:08 -04:00
processor.go fix(artwork): register the GIF decoder in core/artwork 2026-07-25 10:02:18 -04:00
processor_test.go refactor(artwork): thread model.Kind through the artwork API 2026-07-24 16:58:23 -04:00
prune.go fix(artwork): purge dangling queue rows and guard concurrent re-enqueues 2026-07-22 15:53:32 -04:00
prune_test.go refactor(artwork): thread model.Kind through the artwork API 2026-07-24 16:58:23 -04:00
refresh.go refactor(artwork): thread model.Kind through the artwork API 2026-07-24 16:58:23 -04:00
resize.go feat(artwork): state-backed serving path with provisional read-through 2026-07-23 14:08:08 -04:00
resolve.go fix(artwork): treat a 404/410 image URL as not-found, not a transient fault 2026-07-24 18:18:53 -04:00
resolve_test.go fix(artwork): serve a local playlist ExternalImageURL as a file-backed reference 2026-07-23 14:08:08 -04:00
serving.go fix(artwork): run disc resolution for single-disc albums too 2026-07-24 22:12:29 -04:00
serving_test.go fix(artwork): run disc resolution for single-disc albums too 2026-07-24 22:12:29 -04:00
sources.go fix(artwork): treat a 404/410 image URL as not-found, not a transient fault 2026-07-24 18:18:53 -04:00
sources_internal_test.go refactor(artwork): migrate readers to storage.MusicFS and add e2e suite (#5379) 2026-04-26 18:16:14 -04:00
testhelpers_test.go refactor(artwork): delete the legacy reader chain, cache warmer, and provider image methods 2026-07-23 14:08:08 -04:00
uploader.go refactor(artwork): thread model.Kind through the artwork API 2026-07-24 16:58:23 -04:00
uploader_test.go refactor(artwork): thread model.Kind through the artwork API 2026-07-24 16:58:23 -04:00
wire_providers.go refactor(artwork): move ImageUploadService to artwork.Uploader 2026-07-24 16:24:19 -04:00
worker.go tune(artwork): 5s backoff base + 12h give-up, drop the cap 2026-07-24 17:27:40 -04:00
worker_soak_test.go refactor(artwork): thread model.Kind through the artwork API 2026-07-24 16:58:23 -04:00
worker_test.go tune(artwork): 5s backoff base + 12h give-up, drop the cap 2026-07-24 17:27:40 -04:00
worker_timing_test.go feat(artwork): precache on acquisition, bump on upload/radio changes, manual re-resolve API 2026-07-23 14:08:08 -04:00