navidrome/core/artwork
Deluan 8c7a6f25f8 tune(artwork): drop backoff base from 5m to 15s
The exponential retry (base × 4^attempts, cap 48h) started at 5 minutes, so a
single transient failure — a timeout under load, an external blip — parked a
cover for 5 minutes even though a retry seconds later would have resolved it.
Start at 15s instead: transient failures recover almost immediately (15s → 1m
→ 4m → 16m …), while persistent failures still escalate to the 48h cap (now at
the 8th attempt instead of the 5th).
2026-07-24 17:09:02 -04:00
..
blurhash feat(artwork): import blurhash encoder from #5797 2026-07-22 15:53:32 -04:00
e2e refactor(artwork): thread model.Kind through the artwork API 2026-07-24 16:58:23 -04:00
agent_images.go fix(artwork): restore synthetic-artist guard and unicode normalization in agent lookups 2026-07-23 14:08:08 -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 refactor(artwork): thread model.Kind through the artwork API 2026-07-24 16:58:23 -04:00
housekeeping_test.go fix(artwork): resolve private playlists with an admin context 2026-07-22 15:53:32 -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 feat(artwork): precache on acquisition, bump on upload/radio changes, manual re-resolve API 2026-07-23 14:08:08 -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 refactor(artwork): thread model.Kind through the artwork API 2026-07-24 16:58:23 -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 refactor(artwork): thread model.Kind through the artwork API 2026-07-24 16:58:23 -04:00
serving_test.go refactor(artwork): thread model.Kind through the artwork API 2026-07-24 16:58:23 -04:00
sources.go refactor(artwork): delete the legacy reader chain, cache warmer, and provider image methods 2026-07-23 14:08:08 -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): drop backoff base from 5m to 15s 2026-07-24 17:09:02 -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): drop backoff base from 5m to 15s 2026-07-24 17:09:02 -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