navidrome/core/artwork
Deluan d9dc6fc55f fix(artwork): reject a nil reader in the resize cache instead of panicking
resizedItem.Reader closes what open() hands back, so an open() that reports "no image"
as (nil, nil) rather than an error takes the request down with a nil-pointer panic. Every
caller returns an error today, and no test covered it: the resolution e2e harness stubs
the resize reader out entirely, so no e2e path reaches this code at all.

Guard it and cover Reader directly.
2026-08-14 19:00:10 -04:00
..
blurhash Revert "feat(jellyfin): send a synthetic placeholder blurhash for unresolved artwork (#5941)" 2026-08-12 11:46:23 -04:00
dominant feat(artwork): new artwork pipeline with background resolution and Low Quality Image Placeholders (#5847) 2026-08-09 15:03:27 -04:00
e2e fix(artwork): serve images whose format has no registered decoder (#5952) 2026-08-14 09:43:13 -04:00
thumbhash feat(artwork): new artwork pipeline with background resolution and Low Quality Image Placeholders (#5847) 2026-08-09 15:03:27 -04:00
agent_images.go refactor(artwork): own the kind list and the chain predicate in the package 2026-08-14 15:22:37 -04:00
agent_images_test.go refactor(artwork): export the trace types directly 2026-08-14 15:13:55 -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.go refactor(artwork): one disc-artwork walk for serving and explain 2026-08-14 18:46:54 -04:00
artwork_suite_test.go feat(artwork): new artwork pipeline with background resolution and Low Quality Image Placeholders (#5847) 2026-08-09 15:03:27 -04:00
artwork_test.go fix(cache): write the completion marker before closing the cache writer (#5927) 2026-08-10 14:10:05 -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 feat(artwork): new artwork pipeline with background resolution and Low Quality Image Placeholders (#5847) 2026-08-09 15:03:27 -04: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): one disc-artwork walk for serving and explain 2026-08-14 18:46:54 -04:00
disc_test.go refactor(artwork): one disc-artwork walk for serving and explain 2026-08-14 18:46:54 -04:00
folders_album.go feat(artwork): new artwork pipeline with background resolution and Low Quality Image Placeholders (#5847) 2026-08-09 15:03:27 -04:00
folders_album_test.go feat(artwork): new artwork pipeline with background resolution and Low Quality Image Placeholders (#5847) 2026-08-09 15:03:27 -04:00
folders_artist.go feat(artwork): new artwork pipeline with background resolution and Low Quality Image Placeholders (#5847) 2026-08-09 15:03:27 -04:00
folders_artist_paths_test.go feat(artwork): new artwork pipeline with background resolution and Low Quality Image Placeholders (#5847) 2026-08-09 15:03:27 -04:00
folders_artist_test.go feat(artwork): new artwork pipeline with background resolution and Low Quality Image Placeholders (#5847) 2026-08-09 15:03:27 -04:00
gate.go fix(plugins): stop reporting plugin call failures as not-found (#5953) 2026-08-13 22:56:09 -04:00
hash_encoder_bench_test.go feat(artwork): new artwork pipeline with background resolution and Low Quality Image Placeholders (#5847) 2026-08-09 15:03:27 -04:00
housekeeping.go feat(artwork): explain disc and media file artwork from the CLI 2026-08-14 18:20:31 -04:00
housekeeping_test.go fix(cli): lead the artwork status backfill line with the queued backlog 2026-08-14 15:13:55 -04:00
image_cache.go fix(artwork): reject a nil reader in the resize cache instead of panicking 2026-08-14 19:00:10 -04:00
image_cache_test.go fix(artwork): reject a nil reader in the resize cache instead of panicking 2026-08-14 19:00:10 -04:00
image_store.go feat(artwork): new artwork pipeline with background resolution and Low Quality Image Placeholders (#5847) 2026-08-09 15:03:27 -04:00
image_store_test.go feat(artwork): new artwork pipeline with background resolution and Low Quality Image Placeholders (#5847) 2026-08-09 15:03:27 -04:00
library_fs.go feat(artwork): new artwork pipeline with background resolution and Low Quality Image Placeholders (#5847) 2026-08-09 15:03:27 -04:00
library_fs_test.go feat(artwork): new artwork pipeline with background resolution and Low Quality Image Placeholders (#5847) 2026-08-09 15:03:27 -04:00
playlist_cover.go feat(artwork): new artwork pipeline with background resolution and Low Quality Image Placeholders (#5847) 2026-08-09 15:03:27 -04:00
processor.go fix(artwork): serve images whose format has no registered decoder (#5952) 2026-08-14 09:43:13 -04:00
processor_test.go fix(artwork): serve images whose format has no registered decoder (#5952) 2026-08-14 09:43:13 -04:00
prune.go feat(artwork): new artwork pipeline with background resolution and Low Quality Image Placeholders (#5847) 2026-08-09 15:03:27 -04:00
prune_test.go feat(artwork): new artwork pipeline with background resolution and Low Quality Image Placeholders (#5847) 2026-08-09 15:03:27 -04:00
resize.go feat(artwork): new artwork pipeline with background resolution and Low Quality Image Placeholders (#5847) 2026-08-09 15:03:27 -04:00
resolve.go refactor(artwork): one disc-artwork walk for serving and explain 2026-08-14 18:46:54 -04:00
resolve_test.go feat(artwork): explain disc and media file artwork from the CLI 2026-08-14 18:20:31 -04:00
sources.go refactor(artwork): one disc-artwork walk for serving and explain 2026-08-14 18:46:54 -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
trace.go refactor(artwork): own the kind list and the chain predicate in the package 2026-08-14 15:22:37 -04:00
trace_test.go feat(artwork): explain disc and media file artwork from the CLI 2026-08-14 18:20:31 -04:00
uploader.go feat(artwork): make the artwork image size cap configurable (#5931) 2026-08-11 10:42:39 -04:00
uploader_test.go feat(artwork): new artwork pipeline with background resolution and Low Quality Image Placeholders (#5847) 2026-08-09 15:03:27 -04:00
wire_providers.go feat(artwork): new artwork pipeline with background resolution and Low Quality Image Placeholders (#5847) 2026-08-09 15:03:27 -04:00
worker.go feat(cli): add artwork status 2026-08-14 15:13:55 -04:00
worker_soak_test.go feat(artwork): new artwork pipeline with background resolution and Low Quality Image Placeholders (#5847) 2026-08-09 15:03:27 -04:00
worker_test.go refactor(artwork): own the kind list and the chain predicate in the package 2026-08-14 15:22:37 -04:00
worker_timing_test.go feat(artwork): new artwork pipeline with background resolution and Low Quality Image Placeholders (#5847) 2026-08-09 15:03:27 -04:00