The record used to arrive only when a run was over, so "how far is it" could
only be answered by looking at files on the machine doing the work -- which the
owner could not see at all, and which is a poor way for me to watch it either.
The runner opens the record before the first case and updates it after each one,
and the Testy tab draws a bar with the case in flight underneath.
Publishing can never fail a run: if the server is unreachable the record is not
opened and every later update is a no-op.
The page follows a live run every five seconds instead of waiting out the
ordinary minute, and goes back to sleep when nothing is moving. A run that dies
leaves its record saying "running" for ever, so the card reads how long ago it
last moved rather than trusting the flag: five minutes without progress reads as
"běh se zastavil", which is generous on purpose -- a source picker legitimately
waits 150 seconds on one case.
Screenshots still go at the end. They are the slow part and nothing on the
dashboard needs them while the bar is still moving.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>