b8525be015ac5f6c2d96e6244591180b7e6d7037
All checks were successful
Build and Push Docker Image / build (push) Successful in 30s
Two regressions from the radarr/sonarr fix: 1. ERR_INVALID_URL spam — when radarr_enabled='1' but radarr_url is empty or not http(s), every per-item fetch threw TypeError. We caught it but still ate the cost (and the log noise) on every movie. New isUsable() check on each service: enabled-in-config but URL doesn't parse → warn ONCE and skip arr lookups for the whole scan. 2. Per-item HTTP storm — for movies not in Radarr's library we used to hit /api/v3/movie (the WHOLE library) again per item, then two metadata-lookup calls. With 2000 items that's thousands of extra round-trips and the scan crawled. Now: pre-load the Radarr/Sonarr library once into Map<tmdbId,..>+Map<imdbId,..>+Map<tvdbId,..>, per-item lookups are O(1) memory hits, and only the genuinely-missing items make a single lookup-endpoint HTTP call. The startup line now reports the library size: External language sources: radarr=enabled (https://..., 1287 movies in library), sonarr=... so you can immediately see whether the cache loaded.
Description
No description provided
Languages
TypeScript
99.7%
Dockerfile
0.2%