Repository navigation
Cross-Seed: exact-size fallback compares total size, so local extras (nfo/poster/screens) block it for a byte-identical video file #3293
Replies: 1 comment
Agent BriefCategory: enhancement Current behavior: Desired behavior: Key interfaces:
Acceptance criteria:
Out of scope:
Domain:
Logs:
Why a human: Design: should exact size evidence widen from "total size" to "total size or main content size", and should webhook/announce matching follow? This changes the glossary meaning of Title rescue. Related: #3244, #2742. |
Uh oh!
There was an error while loading. Please reload this page.
Description
The exact-size fallback compares the candidate's reported size with the local torrent's total size. When the local torrent carries extras (
.nfo, poster, screenshots, a few MB), a candidate that is the byte-identical video file can never reach the fallback, so any label difference the fallback would normally relax becomes a hard rejection.Example (same encode, the
.mkvis byte-identical):Example.Film.2020.UHD.BluRay.1080p.DD+Atmos.5.1.DoVi.HDR.x265-Kyo.mkv5,400,000,000 +.nfo+poster.jpg+screens.pngExample.Film.2020.UHD.BluRay.1080p.DD+Atmos.5.1.DoVi.HDR.x265-Kyo.mkvExample Film (2020) 1080p UHD BluRay x265 DV HDR10+ DDP Atmos 5.1 English-Kyohdr mismatchTracker B labels the HDR more precisely than the group's own name (
HDR10+vs genericHDR). Treating genericHDRasHDR10+in strict matching would be wrong, since several tests useDV HDRvsDV HDR10+as a real mismatch, and some groups do release both. But with byte-identical content this is exactly the kind of label difference the exact-size fallback exists for. It never runs because 5,400,000,000 ≠ 5,402,515,934.The same thing blocked the first example in #3244: the source had a few MB of extras, so the fallback couldn't relax HDR there either.
Suggestion: also count it as exact size evidence when the candidate's reported size equals, byte for byte, the size of the local torrent's main content: the total minus files that
shouldIgnoreFiledrops, or the single largest content file when the torrent holds one. That is at least as strong as total equality, because the candidate can't be the same payload plus our extras. The downstream per-file checks (hasContentFileSizeMismatch,alignFilesForCrossSeed) still run before anything is added, and the piece-boundary check still guards extras that share pieces with the content.I haven't patched this locally. The source size feeds the search classifier, the stored search decision and the re-validation at apply (
validateExactSizeFallback/searchCandidateMetadataConsistent), so it seemed like a design call rather than a one-line change.Steps to reproduce
.mkvis accompanied by small extras (.nfo,poster.jpg,screens.png)..mkv(same byte size as the local.mkv) under a name with a different label, e.g.HDR10+instead ofHDR.hdr mismatch); the exact-size fallback isn't attempted.Environment
Checklist
All reactions