[NEEDS CODE REVIEWER] Allow job configuration overrides on instance level - #311
[NEEDS CODE REVIEWER] Allow job configuration overrides on instance level#311heapoutofspace wants to merge 1 commit into
Conversation
|
hi, I am truly sorry I haven't looked into your PR in such a long time. I do appreciate very much that you took the time to contribute. Unfortunately, I don't have the time to look into it still. Would you be willing to act as a formal contributor? If yes, I will add you, and if I find others (from open PRs), hopefully you can review each others PR and they can be merged. Thanks for letting me know, and apologies again for my radio silence. |
|
Hey @heapoutofspace, reviewing as part of clearing the open PR backlog with @ManiMatter. Design's good — lazy Real bug — typo on a dict override silently enables a globally-disabled job with garbage attrs:
Smoke-tested locally: # Global: remove_stalled is NOT configured (.enabled=False, max_strikes=3 from defaults)
arr = ArrInstance(settings, 'sonarr', 'http://t', 'k',
jobs_config={'remove_stalled': {'max_stikes': 99}}) # typo
job = arr.jobs.remove_stalled
job.enabled # True ← was False globally, now ON
job.max_strikes # 3 ← real attr untouched, fell back to default
job.max_stikes # 99 ← garbage attr, no warning loggedSo a user has The validator already exists btw — global path with Override path silently stores Flag —
Flag — interaction with web UI runtime config (#337): Not your bug, just flagging. Nits:
Suggested path:
|
|
Hi folks, as you might have guessed from my delayed response, I'm in a similar situation as @ManiMatter and have limited capacity to spare on OSS these days. That said, thank you very much @lolimmlost for the review, I will take the time to fix the flagged deficiencies. |
|
@heapoutofspace would love to see this merged. Any chance you could pick up the feedback by @lolimmlost ? |
Adds support for instance-level job configuration overrides, allowing different Sonarr/Radarr instances to have different job settings.
The change has been implemented with the following goals in mind:
Example
AI Assistance
While the code itself has been written by hand, some of the documentation and unit tests were generated by Claude Code and then manually verified.