Issue
Hitting Apply/Save in the workflow config persists settings to the DB/TOML but does not signal the running scan view to pick up the new channel configuration. The metadata associator and PVA reader continue using their original channels until the app is restarted.
Files:
src/dashpva/workflow/workflow.py (_on_apply_save at line 1796 — saves but emits no reload signal)
src/dashpva/viewer/scan_view.py (holds pva_reader and metadata_associator references; has app_settings.reload() at line 145 but it is not triggered on apply/save)
Fixes
src/dashpva/workflow/workflow.py:1812 — after _save_tree_to_active_profile(), emit a flag/signal that tells scan view to reload its channel config
src/dashpva/viewer/scan_view.py:145 — wire the reload signal to reset both the metadata associator and the PVA reader with the updated channel list
- For deleted channels: do not drop them mid-scan; instead set their values to
NaN on save so in-progress data remains intact
src/dashpva/viewer/scan_view.py — fix off-by-one frame bug on save (a working fix exists in a backup branch of dev-osayi — recover and apply here)
Acceptance Criteria
- Change a channel in the workflow config and hit Apply/Save — the scan view immediately uses the new channel without restarting
- Delete a channel and hit Apply/Save mid-scan — the deleted channel's values become
NaN from that point; no crash or data loss
- Add a new channel and hit Apply/Save — the scan view begins collecting the new channel on the next frame
- Save config during an active scan — the saved frame is not off by one (current frame matches what was recorded)
- Run the workflow end-to-end — data is processed and written correctly with no errors in the log
Issue
Hitting Apply/Save in the workflow config persists settings to the DB/TOML but does not signal the running scan view to pick up the new channel configuration. The metadata associator and PVA reader continue using their original channels until the app is restarted.
Files:
src/dashpva/workflow/workflow.py(_on_apply_saveat line 1796 — saves but emits no reload signal)src/dashpva/viewer/scan_view.py(holdspva_readerandmetadata_associatorreferences; hasapp_settings.reload()at line 145 but it is not triggered on apply/save)Fixes
src/dashpva/workflow/workflow.py:1812— after_save_tree_to_active_profile(), emit a flag/signal that tells scan view to reload its channel configsrc/dashpva/viewer/scan_view.py:145— wire the reload signal to reset both the metadata associator and the PVA reader with the updated channel listNaNon save so in-progress data remains intactsrc/dashpva/viewer/scan_view.py— fix off-by-one frame bug on save (a working fix exists in a backup branch ofdev-osayi— recover and apply here)Acceptance Criteria
NaNfrom that point; no crash or data loss