#3286

Cross-seed: UHD.WEBRip and UHD.WEB parse as source UHD.BluRay and fail the source check against WEB-DL

Opengithub-actions[bot]opened 12d ago

This was generated by AI during triage.

Agent Brief

Category: bug Summary: Release names tagged UHD.WEBRip or UHD.WEB parse as source UHD.BluRay, so cross-seed rejects the same web encode listed as WEB-DL with source mismatch.

Current behavior: qui pins github.com/autobrr/rls at 90d0fdacbbe7, the commit on which autobrr/rls#32 shows that UHD.WEBRip and UHD.WEB parse as source UHD.BluRay (UHD.WEB-DL parses correctly). pkg/releases passes that source through unchanged. In cross-seed, normalizeSource() keeps UHD.BLURAY, sourcesCompatible() rejects it against WEBDL, and the web-source relabel rule (isWebSourceRelabel()) never runs because the source is not a web source. A movie named with a UHD.WEBRip tag is therefore rejected against the same encode listed with WEB-DL on another tracker. When the local torrent carries extras such as an .nfo, the exact-size fallback cannot rescue it. Category routing, which matches BluRay as a substring of the source, also treats such a release as a BluRay.

Desired behavior: A release name with a UHD tag followed by a WEBRip or WEB tag, and no BluRay, BD, or REMUX tag, has a web source (WEBRiP or WEB). A WEBRip/WEB-DL pair that differs only in the web label then reaches the relabel path like a plain WEBRip vs WEB-DL pair. A real UHD.BluRay encode still parses as UHD.BluRay and is still rejected against a WEB-DL.

Key interfaces:

  • rls source parsing (autobrr/rls#32): the clean fix, followed by a bump of the rls pin in qui.
  • releases.DefaultParser and the pkg/releases post-processing that already runs after rls (next to enrichReleaseHDR()): the place for a local correction if the rls fix is not taken.
  • normalizeSource(), sourcesCompatible(), isWebSourceRelabel(): should need no change once the parsed source is right.

Acceptance criteria:

  • A name of the shape Title.Year.UHD.WEBRip.1080p...-GRP parses with a WEBRip source.
  • A name of the shape Title.Year.UHD.WEB.2160p...-GRP parses with a WEB source.
  • Title.Year.UHD.BluRay... and Title.Year.UHD.WEB-DL... keep their current sources.
  • A match corpus row: a UHD.WEBRip source against the same title, year, resolution, codec, HDR, audio, and group listed as WEB-DL reaches the web-source relabel path and is not rejected for source mismatch.
  • A match corpus row: a real UHD.BluRay source against a WEB-DL candidate is still rejected.

Out of scope:

  • Changing the WEBRip/WEB-DL compatibility rules in the matcher.
  • Edits to existing match corpus rows.

Domain:

  • Glossary terms: None used. Gap: the glossary does not define "source" in the release-attribute sense (it lists "source" only as a word to avoid for Trigger).
  • ADRs: 0008 (matching rules read releases parsed through the release cache; the fix belongs in parsing, not in a matcher rule).
  • Owner: rls source parsing; pkg/releases owns the post-processing of rls output in qui.

Logs:

  • None

Why a human: The proper fix is in another repository (autobrr/rls#32). Decide whether to fix rls and bump the pin, or to add a source correction in pkg/releases until rls has the fix.

From discussion #3285

Activity

0

No activity yet.