At some point in the past, Radarr altered its Preferred upper limit to
399 (from 395). As a result, these upper limits can no longer be
hard-coded the same way for all services. A new design has been
implemented to support distinct max and preferred limits for each
service.
Previously, quality item was split into a second part for only the
Preferred size settings, because at one point both Radarr and Sonarr
didn't support them the same. However, that has changed now so they are
now consolidated.
When preferred was null, it was not considered for change detection.
This was a regression likely introduced to support Radarr, which does
not have a preferred setting.
- Fixes#301
- Likely fixes#193 as well, which is a duplicate.
To simplify logic in the system, a child lifetime scope is created for
each distinct configuration instance that is processed by Recyclarr. The
main driver for this is to avoid objects being reused between instances
and thus needing setup & teardown logic to deal with state.