da2c1c356a
Stop button had no effect: run_scan only checked the cancel flag between CIDR ranges and between hosts, never inside the per-range nmap call. For a single /24 the whole scan is one blocking call, so cancel was ignored for minutes and the run status stayed 'running'. - thread run_id into _nmap_scan/_ping_sweep/_nmap_port_scan; check cancel before each phase and skip queued hosts once cancelled - flip ScanRun status to 'cancelled' eagerly in the stop endpoint so the UI reacts immediately instead of waiting for a checkpoint Fixes #218 ha-relevant: yes