Fixed
- Watcher stuck on "Scan in progress, skipping cycle" with no scan actually running. When a scan subprocess hangs (e.g.
os.walkblocked on a dead/slow network mount),proc.is_alive()stays True forever, the async monitor never returns, and_scan_tasknever completes — so the watcher skips every cycle indefinitely and no new items get picked up. Newscan_is_actively_running()helper detects a hung scan via a stale progress file (no update inSHRINKERR_STALE_SCAN_MINUTES, default 15), kills the stuck subprocess, and clears the task so the watcher resumes — no container restart needed. The manual Scan / Rescan-folder endpoints use the same check, so hitting "Scan" also recovers.
Docker images
Pinned to this release:
docker pull ghcr.io/i-ial9000/shrinkerr:0.7.32 # portable (amd64 + arm64, CPU)
docker pull ghcr.io/i-ial9000/shrinkerr:0.7.32-nvenc # x86_64 + NVIDIA GPU (NVENC)
docker pull ghcr.io/i-ial9000/shrinkerr:0.7.32-edge # as above but ffmpeg master
docker pull ghcr.io/i-ial9000/shrinkerr:0.7.32-edge-nvencFloating tags (:latest, :edge, :nvenc, :edge-nvenc) track the most recent release of each lineage.