From 72d0eceb8d71660b22b31d13d8abab479c191915 Mon Sep 17 00:00:00 2001 From: Jeremy Shen Date: Thu, 11 Jun 2026 15:49:10 +0800 Subject: [PATCH] fix: don't restart Boot Verify pulse after step 4 already completed it Step 4's _run_step_4_load_main_program() already marks each sub-step individually via set_step_complete/set_step_error. But the outer _run_steps_worker() called set_phase('Boot Verify') on success, which re-entered the 'running' phase and started a fresh pulse animation (because _stop_pulse cleared _pulse_job). Fix: on success, do nothing (sub-steps are already green). Only set error on failure. --- src/gui/main_window.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/gui/main_window.py b/src/gui/main_window.py index 2081c88..bd13a96 100644 --- a/src/gui/main_window.py +++ b/src/gui/main_window.py @@ -1436,11 +1436,10 @@ class MainWindow(ctk.CTk): else: self._sub_step_frame.set_phase("error") - # Step 4: mark sub-steps based on result + # Step 4: sub-steps already marked individually inside _run_step_4; + # avoid set_phase which would restart a pulse on Boot Verify. if i == 3 and hasattr(self, '_tftp_sub_step_frame'): - if success: - self._tftp_sub_step_frame.set_phase("Boot Verify") - else: + if not success: self._tftp_sub_step_frame.set_step_error("Boot Verify") except Exception as e: results.append(False)