v1.1.0-beta.014 - feat: Automated Download Retry & Try-Next-Release Mechanism
🚀 New Features
- Added the failedLinks field to the Request database schema to persist blocklisted hashes and titles for failed downloads.
- Implemented an automated fallback system in the cron.ts background checker that detects failed torrent/usenet client states (e.g., missingfiles, error) and removes the corrupted jobs from the external client queue.
- Integrated blocklist filtering into automation.ts to seamlessly skip previously failed releases during background GetComics and Prowlarr indexer searches, allowing the system to automatically grab the next highest-scoring release.
🐛 Bug Fixes & Safeguards
- Protected manual admin overrides in api/request/retry/route.ts and api/request/manual/route.ts by explicitly wiping the failedLinks blocklist when an administrator forces a manual retry or uses Interactive Search.
- Ensured status changes to PENDING via the api/request/route.ts PATCH method properly reset the retry count and blocklist, preventing requests from inheriting old automated failure data.
🔧 Refactoring
- Reconstructed search context strings natively inside cron.ts by parsing the issue number and database series name to strip out dirty release group tags, ensuring subsequent automated retry queries remain pristine and highly accurate.
Addresses #154