What's new
Telegram
- The zip and upload stages now report live progress to Telegram, not just their start and finish. Each stage sends one notice per progress band (e.g.
Compressing 'case' 40%,Uploading 'case' 60%), plus a single 100%, throttled so the chat is never flooded. Previously the archive stage went silent between "started" and "done", which made a long transfer look stalled to a remote watcher. - The TUI Running log and the CLI console show the same throttled progress. 7-Zip is switched to
-bsp1on the streaming path so its percent output can be parsed and forwarded.
TUI
- The queue Status column now reflects the post-sim archive stage (ZIPPING / UPLOADING), so a case that has finished simulating but is still archiving no longer reads as done.
- Pressing START now confirms before re-running cases that already finished simulating, so a stray keypress can't silently redo completed work.
Fixes
- Deleting the
.batchexe copy is now retried when a force-quit leaves the image briefly locked (Windows WinError 32), instead of giving up and leaving the copy behind. - CLI: stdout is made lossy (
errors="replace") so 7-Zip / rclone output carrying odd bytes can no longer crashprint()on a non-UTF-8 console codepage (e.g. GBK on a zh-CN box).
Config
- No new keys. The new zip / upload progress notices reuse the existing
upload.eta_step_percentthrottle (default20-> a notice every 20%).
Copy config.example.json to config.json next to the exe and edit it before first run (config.json is never bundled into the exe).