Deluan 8ce710558f fix(artwork): never retry absent artwork on its own
An artwork state that resolved to "no image" was revisited by three
separate paths: an hourly job that re-queued 100 stale absents per kind,
a view of the entity itself once an hour, and the startup backfill, which
re-enqueued every entity whenever an artwork config value changed. On a
large library the last one alone queued tens of thousands of external
lookups and rate-limited the provider for hours.

Nothing revisits an absent state now. Retrying is an explicit act:
`artwork reprocess` from the CLI, or the refresh button in the UI.

The startup backfill is gone with it. The config fingerprint survives as
an advisory only: a fresh install records it silently, a change logs a
warning naming `artwork reprocess --all`, and that command records the
new fingerprint when it runs unfiltered over the whole library. `artwork
status` reports the same thing in place of its old Backfill section.

RecheckKinds becomes ReprocessKinds and hasRecheckPath becomes
settlesAbsentOnGiveUp, since no recheck is left to name. Media files keep
their exemption from settling absent: only a view enqueues them, and an
absent row is what would stop a view from doing so, so a transient read
error must not look permanent.
2026-08-30 19:29:43 -04:00
..
2022-09-14 21:09:39 -04:00