Match RSS results against wanted episodes #124

Closed
opened 2026-08-23 15:55:56 +01:00 by naps62-yolo · 0 comments
Owner

Depends on: #123, #135

crates/arr-daemon/src/rss.rs is movie-only — the word "episode" does not
appear in it. DESIGN.md §6.2 makes RSS the cheap trigger whose cost does not
scale with the library, and every wanted item is supposed to be matched against
every result forever. Wanted episodes get nothing from it today, so a new
episode is only ever found by targeted search, which pays per title and backs
off to a week.

Add the TV lane alongside the movie one, using #123 to match:

  • A single-episode release satisfying a wanted, missing episode is grabbed.
  • A season pack is grabbed only when the season has no episode on disk, the same
    guard season_grab_mode applies (§14, amended in #117). A pack for a season
    that already has files is skipped — the season release deck (#125) is the
    escape hatch when one episode turns out to be hard to find.
  • The lane keeps the properties the module header already states: no backoff, no
    attempt counter, no release-date gate, and blocked stops targeted search
    while leaving RSS matching on.

One pass over the feed serves both movies and episodes. Do not add a second
Torznab call per indexer.

Depends on: #123, #135 `crates/arr-daemon/src/rss.rs` is movie-only — the word "episode" does not appear in it. DESIGN.md §6.2 makes RSS the cheap trigger whose cost does not scale with the library, and every wanted item is supposed to be matched against every result forever. Wanted episodes get nothing from it today, so a new episode is only ever found by targeted search, which pays per title and backs off to a week. Add the TV lane alongside the movie one, using #123 to match: - A single-episode release satisfying a wanted, missing episode is grabbed. - A season pack is grabbed only when the season has no episode on disk, the same guard `season_grab_mode` applies (§14, amended in #117). A pack for a season that already has files is skipped — the season release deck (#125) is the escape hatch when one episode turns out to be hard to find. - The lane keeps the properties the module header already states: no backoff, no attempt counter, no release-date gate, and `blocked` stops targeted search while leaving RSS matching on. One pass over the feed serves both movies and episodes. Do not add a second Torznab call per indexer.
naps62-yolo added the area/daemondifficulty/moderatephase/6-tvtype/feature labels 2026-08-23 15:55:56 +01:00
naps62-yolo added this to the TV tracking milestone 2026-08-23 15:58:35 +01:00
naps62-yolo added a new dependency 2026-08-23 16:36:55 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Reference: yolo/arr#124