Repository navigation
v1.5.14 — Fix infinite requeue loop
Fix
Infinite requeue loop — The dedup check in get_queued_scene_ids() only looked at pending/in-progress items (status 0, 1, 2), making completed items (status 5) invisible. When auto-reconciliation ran on each plugin invocation, it re-enqueued scenes the worker had just finished processing, creating an endless cycle (355K+ processed items observed).
Root Cause
get_queued_scene_ids() queried WHERE status IN (0, 1, 2) — completed items weren't included. The reconciliation engine would see completed scenes as "not in queue" and re-enqueue them immediately.
Fix
get_queued_scene_ids() now includes recently-completed items (within 24 hours) in the dedup check, preventing immediate re-enqueue while still allowing legitimate re-sync after sufficient time.
Verification
- 1,276 tests pass including 9 new regression tests
- Explicit
test_prevents_infinite_requeue_scenariocovers the exact bug