Skip to content

v3.6.2 - Scanner pagination fix

Latest

Choose a tag to compare

@smolfiddle smolfiddle released this 05 Oct 08:03

v3.6.2 — Scanner: retry failed pages, never cache partial scans

Bug-fix follow-up to v3.6.1. Long series (e.g. One Piece) could silently
truncate mid-scan after a single failed page fetch — and the truncated list
was then cached for an hour.

What's New

  • Page retry with backoff: a failed page fetch (None) is retried 3×
    before giving up (scanner.py). Transport failures no longer end the scan;
    genuine empty pages still break cleanly without wasteful retries.
  • Partial results are never cached: if pagination ends abnormally, the
    scan prints ⚠ Scan incomplete — N episodes collected. Partial results were NOT cached. Re-run to retry. instead of poisoning the 60-min cache.
  • Verified live: One Piece scan collected 1020 episodes (1→1020) with
    the new warning on the one failed page, instead of silently stopping at ~270.
  • 4 new tests (retry-success, mid-pagination no-cache, empty-page,
    page-1 failure); 207 passed, ruff/mypy green.

How to Use (All Setups) — unchanged

  • Make/venv: git pull origin main — make run / make watchlist-check
    (never stale)
  • pipx: pipx install . then after every git pull must
    pipx install . --force && hash -r
  • pip -e: git pull

No action needed on existing installs — the fix applies automatically on
the next scan (stale partial caches expire within their TTL).

Full Changelog: v3.6.1...v3.6.2