An episode whose file turns out to be a torrent is never marked downloaded, and is fetched again every scan #155
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found in a code audit on 2026-10-09.
When an enclosure advertised as audio turns out, once downloaded, to be a
.torrentfile,fetch_one(src/main.rs:1990-1999) hands it totorrent_oneand returns what that returns, withoutmark_downloaded. In a scan nobody else records it either (scan_onerelies onfetch_oneto have), so the enclosure stayspending: the page never shows it downloaded, and every scan of the feed downloads the .torrent again and runs the torrent again, inline on the worker, where it can take the stall limit and then seed up toseed_time_mins(30 and 60 minutes in production), with no other feed checked meanwhile.Torrents are on in production (
[torrent] enabled = true). An enclosure advertised as a torrent goes the other way, detached and recorded (spawn_torrent), andipx downloadrecords it after the fact, so only a scan hits this.Fixed in
ec55682: a download that turns out to be a torrent goes the way an advertised one does: in the daemon, marked downloading and handed to spawn_torrent, which records it when done; in a one-off CLI run, run and recorded there. Deployed as 0.10.3-dev on 2026-10-09.