mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-09-30 11:12:35 +02:00
A server-mode VP with a target printer bound showed the print as a bare filename in Bambu Studio / OrcaSlicer -- no stage, percentage, layer count or time remaining. The data was already in the bridge cache; we were overwriting it with zeros, because passing it through made the slicer read the VP as busy and hide the Send button (#1558). Both slicers gate the progress panel and the Send button on one predicate, MachineObject::is_in_printing() -- gcode_state in RUNNING/PAUSE/SLICING/PREPARE -- so there is no field-level way to have both. FINISH is the one state in the gap: StatusPanel::update_subtask() renders the panel for it, and SelectMachineDialog::update_show_status() does not disable Send. The VP already parks at FINISH after each upload (#1280 / #1658), so it only needed the real numbers underneath it. While the target prints and no upload is in flight, the report now holds gcode_state=FINISH and passes mc_print_stage, mc_percent, mc_remaining_time, stg, stg_cur, layer_num and total_layer_num through from the cache. Mirroring is suppressed during PREPARE and for 5s after the last upload transition, so the slicer still receives the FINISH carrying its own subtask_name and releases its send modal. print_error is never mirrored -- it would raise a modal error dialog for a fault the VP did not throw.