This commit is contained in:
Mateusz Gruszczyński
2026-05-08 09:13:30 +02:00
parent b5f1c26a83
commit f445d25c5d
4 changed files with 165 additions and 60 deletions

View File

@@ -468,6 +468,9 @@ def _is_waiting_download_candidate(t: dict[str, Any], manage_stopped: bool) -> b
"""Return True for stopped torrents Smart Queue may start later."""
if int(t.get('complete') or 0):
return False
if str(t.get('status') or '').lower() == 'checking':
# Note: Torrents still being checked must finish post-check handling before Smart Queue may start them.
return False
if _has_stalled_label(str(t.get('label') or '')):
return False
if _is_user_paused(t):
@@ -649,6 +652,11 @@ def check(profile: dict | None = None, user_id: int | None = None, force: bool =
active_verified, start_no_effect = _verify_started_downloads(c, start_requested)
for h in active_verified:
_restore_auto_label(c, profile_id, h, None)
try:
# Note: Once Smart Queue starts a post-check torrent, its temporary download-after-check label is no longer needed.
rtorrent.clear_post_check_download_label(c, h, None)
except Exception:
label_failed.append(h)
# Note: History shows only torrents actually started, not just the number of sent commands.
started_by_queue = list(active_verified)
keep_labels = (