feat(coverart): #388 remove global cover-art backfill cap
Operator feedback (2026-05-09): the 500-album cap meant cover art rolled
in over many nightly runs even when local sources (sidecar/embedded)
could finish in minutes. Remove the global cap; rely on the existing
per-provider HTTP throttle (coverart httpClient MinInterval) so local
art is disk-speed and remote providers stay TOS-friendly.
- enricher.go / artist_enricher.go: EnrichBatch, EnrichArtistBatch,
EnrichRetryMissing now treat limit<0 as unbounded (0 still = stage
disabled). The cap was a SQL LIMIT; unbounded uses max int32.
- main.go: RunScanConfig EnrichCap/ArtistEnrichCap = -1 (unbounded).
- Drop LibraryConfig.CoverArtBackfillCap + the
MINSTREL_LIBRARY_COVERART_BACKFILL_CAP env var.
- Drop the now-dead coverBackfillCap param threaded through
server.New + api.Mount + the handlers struct.
- Admin bulk refetch (/api/admin/covers/refetch-missing) now drains
unbounded; response {queued:int} → {started:bool} (the count is
unknowable synchronously for a fire-and-forget drain). Web copy +
client type + Go/web tests updated to match.
No doc refs existed (config.example.yaml / docker-compose / README
never documented the env var).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -56,11 +56,10 @@ type LogConfig struct {
|
||||
}
|
||||
|
||||
type LibraryConfig struct {
|
||||
ScanPaths []string `yaml:"scan_paths"`
|
||||
ScanOnStartup bool `yaml:"scan_on_startup"`
|
||||
CoverArtFromMBCAA bool `yaml:"coverart_from_mbcaa"` // default true
|
||||
CoverArtBackfillCap int `yaml:"coverart_backfill_cap"` // default 500
|
||||
ContactEmail string `yaml:"contact_email"` // optional override for MBCAA UA
|
||||
ScanPaths []string `yaml:"scan_paths"`
|
||||
ScanOnStartup bool `yaml:"scan_on_startup"`
|
||||
CoverArtFromMBCAA bool `yaml:"coverart_from_mbcaa"` // default true
|
||||
ContactEmail string `yaml:"contact_email"` // optional override for MBCAA UA
|
||||
}
|
||||
|
||||
// SubsonicConfig controls wire-format concessions on the /rest/* surface.
|
||||
@@ -120,8 +119,7 @@ func Default() Config {
|
||||
RadioSizeMax: 200,
|
||||
},
|
||||
Library: LibraryConfig{
|
||||
CoverArtFromMBCAA: true,
|
||||
CoverArtBackfillCap: 500,
|
||||
CoverArtFromMBCAA: true,
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -177,11 +175,6 @@ func applyEnv(cfg *Config) {
|
||||
cfg.Library.CoverArtFromMBCAA = b
|
||||
}
|
||||
}
|
||||
if v, ok := os.LookupEnv("MINSTREL_LIBRARY_COVERART_BACKFILL_CAP"); ok {
|
||||
if n, err := strconv.Atoi(v); err == nil {
|
||||
cfg.Library.CoverArtBackfillCap = n
|
||||
}
|
||||
}
|
||||
if v, ok := os.LookupEnv("MINSTREL_CONTACT_EMAIL"); ok {
|
||||
cfg.Library.ContactEmail = v
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user