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/mypygreen.
How to Use (All Setups) — unchanged
- Make/venv:
git pull origin main—make run/make watchlist-check
(never stale) - pipx:
pipx install .then after everygit pullmust
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