The template was crashing with 'Cannot read properties of undefined
(reading version)' when loadMiners assigned this.miners. Vue would
re-render immediately, but uploadData[miner.id] wasn't yet populated
because the initUploadData loop ran after the assignment.
Fix: Pre-populate all uploadData keys BEFORE assigning this.miners,
so the template never sees miners without their uploadData ready.
Also moved firmware loading after the assignment since it's async
and non-blocking for render.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>