Fixed
- "database is locked" failures under concurrent writes. SQLite's
busy_timeoutis per-connection (defaults to 0 = fail immediately) and doesn't persist with the DB file like WAL does. An audit found 118 of 134aiosqlite.connectcall sites didn't set the PRAGMA — every one of those would error instantly the moment a concurrent writer held the transaction. v0.7.19 monkey-patchesaiosqlite.connectat module load inbackend/database.pyso every new connection appliesPRAGMA busy_timeout=60000automatically. One surgical change, zero call-site edits, fully backward-compatible. Locked down with three tests against theawaitandasync withinvocation patterns.
Docker images
Pinned to this release:
docker pull ghcr.io/i-ial9000/shrinkerr:0.7.19 # portable (amd64 + arm64, CPU)
docker pull ghcr.io/i-ial9000/shrinkerr:0.7.19-nvenc # x86_64 + NVIDIA GPU (NVENC)
docker pull ghcr.io/i-ial9000/shrinkerr:0.7.19-edge # as above but ffmpeg master
docker pull ghcr.io/i-ial9000/shrinkerr:0.7.19-edge-nvencFloating tags (:latest, :edge, :nvenc, :edge-nvenc) track the most recent release of each lineage.