Added
- Failed-job expand now shows the ffmpeg command and full ffmpeg log. Previously expanding a failed job in the Completed tab only revealed a short
error_logsnippet — useful for "file not found" but useless for diagnosing real ffmpeg failures (codec rejections, mux errors, etc.). The expanded view now lazy-loads the samegetJobLogpayload completed jobs use and renders both the ffmpeg command and the full stderr log behind collapsible<details>toggles.
Fixed
- Real ffmpeg error survives the rolling buffer. The converter's failure path used to take the last 10 non-progress lines from a 20-line rolling buffer to populate
error_log. For MKVs with heavy stream metadata (e.g. 5+ subtitle streams each carrying a block of_STATISTICS_*tags), those 20 lines could be entirely metadata, pushing the actual error message out before it was captured. Now the converter maintains a stickyerror_lineslist that retains any line matching ffmpeg error patterns ([error],Error,Failed,Could not,Invalid, etc.) as it's emitted, capped at 50 lines. The failure path prefers these matched lines over the rolling buffer when populatingerror_log— the actual error is preserved no matter how much metadata precedes it.
Docker images
Pinned to this release:
docker pull ghcr.io/i-ial9000/shrinkerr:0.4.8 # portable (amd64 + arm64, CPU)
docker pull ghcr.io/i-ial9000/shrinkerr:0.4.8-nvenc # x86_64 + NVIDIA GPU (NVENC)
docker pull ghcr.io/i-ial9000/shrinkerr:0.4.8-edge # as above but ffmpeg master
docker pull ghcr.io/i-ial9000/shrinkerr:0.4.8-edge-nvencFloating tags (:latest, :edge, :nvenc, :edge-nvenc) track the most recent release of each lineage.