feat(override-rules): Added year filter and instance type switching#1865
feat(override-rules): Added year filter and instance type switching#1865laitco wants to merge 4 commits intoseerr-team:developfrom
Conversation
…th override rules Added configurable years filter with ranges and service switching functionality to override rules. Years filter supports individual years and ranges (e.g. "2010-2025") with dynamic current year. Service switching provides three modes: force4k, forceStandard, and auto to automatically switch between 4K and non-4K services based on conditions. Implemented smart deletion logic that handles service switching scenarios by checking both external service ID fields and connecting to the correct Radarr/Sonarr instance. Fixed external service ID storage to use actual service type rather than original request type. Enhanced MediaRequestSubscriber to properly track external service IDs when service switching occurs. BREAKING CHANGE: New database fields, migrations and request handling. Fixes #1555 #1560
|
for the record, this would also render the PR #1522 obsolete |
|
This pull request has merge conflicts. Please resolve the conflicts so the PR can be successfully reviewed and merged. |
As override rules are ignored for auto-approved requests, I do not thing it would. It'd be very weird to have only half your users have their anime send to the anime Sonarr instance, but all admin's / trusted users with the auto_approve permission have their anime sent to the TV Sonarr instance. See #1195
|
Maybe an option within the override rules section/general tab is needed to apply the override rules as well for the auto approved ones. Could this help? Should be possible to implement the override rule logic beforehand the request is automaticlly approved. |
No. If you read the thread the following message clears up that i misspoke. And explains that it only does not apply to |
Override rules already apply for auto approved requests. |
Thanks for clarification. I think I remember on my testings some weeks ago before creating PR that it worked for these users. |
Ah, thanks for the clarification. In that case I'm still don't think it renders #1522 obsolete as there is still a subset of users who would be unable to have their requests be sent to the Anime Sonarr compared to the default TV Sonarr (for example). Though if there is a way to have it apply to said users, then that's a different story. |
|
|
This pull request has merge conflicts. Please resolve the conflicts so the PR can be successfully reviewed and merged. |
There was a problem hiding this comment.
Why are override rules handling the switch to 4k instances. We already have that handled separately through the Request 4k button and permissions, which gives the user the freedom to choose between 4k or standard.
If a user explicitly clicks Request 4K, they should get 4K. Why would an override rule change that explicit choice?
Instance switching should work like this:
- Normal requests → only follow rules for normal services.
- 4K requests → only follow rules for 4K services.
- Override rules should not be overriding the user's explicit choice (if seerr is configured to allow 4K requesting and the user is given the 4K request permission)
This PR seems to introduce significant complexity to override the user’s intent, which feels unnecessary. What's the use case that justifies this?
Wdyt? @seerr-team/seerr-core
Agreed. This PR seems to introduce a bit too much complex refactoring. It should only implement the year filter - as service type switching is IMO not something we want. |
Instance switching is something we do want though. Though I would say it would be better to split the two prs. One for year. One for instance switching (not the same as instance type switching) |
|
PR would be redone within 2 PRs:
ETA: tba |
This PR was written primarily by Claude Code and ChatGPT Codex CLI.
Description
Added configurable years filter with ranges and service switching functionality to override rules. Years filter supports individual years and ranges (e.g. "2010-2025") with dynamic current year. Service switching provides three modes: force4k, forceStandard, and auto to automatically switch between 4K and non-4K services based on conditions. Implemented smart deletion logic that handles service switching scenarios by checking both external service ID fields and connecting to the correct Radarr/Sonarr instance. Fixed external service ID storage to use actual service type rather than original request type. Enhanced MediaRequestSubscriber to properly track external service IDs when service switching occurs.
BREAKING CHANGE: New database fields, migrations and request handling.
Screenshot (if UI-related)
Overview:

Year filter:

Instance type switch:

To-Dos
pnpm buildpnpm i18n:extract(ENG -> done, all other languages will follow if code is ok)Issues Fixed or Closed