From 39e88529b30af5861fc8a53cf5d0424f201f8630 Mon Sep 17 00:00:00 2001 From: ssmithx Date: Thu, 23 Jul 2026 02:43:10 +0000 Subject: [PATCH] fix(mesh): failed flash silently bounced back to the picker, hiding the error MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- neode-ui/src/components/mesh/MeshDeviceSetupModal.vue | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/neode-ui/src/components/mesh/MeshDeviceSetupModal.vue b/neode-ui/src/components/mesh/MeshDeviceSetupModal.vue index 5582c4ca..37216e5a 100644 --- a/neode-ui/src/components/mesh/MeshDeviceSetupModal.vue +++ b/neode-ui/src/components/mesh/MeshDeviceSetupModal.vue @@ -108,7 +108,12 @@
-