Every conversion starts with a multi-MB libraries download, but the
worker only sent the phase, so the bar stayed indeterminate and the
percent stayed blank while the transfer ran: it read as a hang on a slow
connection. Send completed and total bytes from the download loop; the
existing 80 ms throttle keeps the messages bounded.
A blocked or offline connection died as a bare "Failed to fetch" during
the release lookup. Name the failure and the fix instead.
Use the published, checksum-verified library archive when GitHub's public rate limit prevents the latest-release check. Keep rejecting other request failures and version mismatches, and cover both paths in the worker test.\n\nCo-authored-by: Copilot <[email protected]>