fix(mesh): failed flash silently bounced back to the picker, hiding the error
The step-3 template's condition for showing the picker vs. the progress/ result view was `!flashJob?.active && flashJob?.stage !== 'done'`. That's true for "no job started yet" (flashJob is null) — but ALSO true for a job that just FAILED (active:false, stage:'failed'), since 'failed' !== 'done'. So a failed flash silently reverted to the family/board picker instead of showing the failure state (error message + log tail) — reported live as "it went to the download screen and then back to the flash screen" with no visible error. Now shows the picker only when no job has been started yet (`!flashJob`); once a job exists, the progress/result view is always shown, whether it's still running, succeeded, or failed — the existing error/log-tail markup in that view already handles all three, it just wasn't being reached. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
992bf636e0
commit
39e88529b3
@ -108,7 +108,12 @@
|
||||
|
||||
<!-- Step 3: erase + reflash — destructive, opt-in only -->
|
||||
<div v-else-if="step === 'flash'">
|
||||
<template v-if="!flashJob?.active && flashJob?.stage !== 'done'">
|
||||
<!-- Once a job exists (started via startFlash), ALWAYS show the
|
||||
progress/result view below — including on failure. The old
|
||||
condition (`!active && stage !== 'done'`) was also true for a
|
||||
FAILED job (active:false, stage:'failed'), which silently sent
|
||||
the user back to this picker instead of showing the error. -->
|
||||
<template v-if="!flashJob">
|
||||
<p class="text-white/60 text-xs mb-3">
|
||||
Downloads the latest firmware from upstream and writes it to
|
||||
<span class="font-mono text-orange-300">{{ devicePath }}</span>.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user