Skip to content

Bug: Second tab does not mirror active scan state and in-progress indicators #140

@techmore

Description

@techmore

Title: Second tab does not mirror active scan state and in-progress indicators

Type: bug
Severity: high
Area: multi-tab realtime UI / scan runtime / Socket.IO state sync

Description:
When two tabs are open and a scan is started in one tab, the second tab does not consistently show the same in-progress state. Live text/log updates may appear, but the secondary tab can miss key scan-state UI such as the active button pulse and the same ongoing scan context shown in the primary tab.

Expected Behavior:
Any already-open tab should reflect the same active scan state in real time, including:

  • active scan button pulse
  • in-progress status/timer context
  • matching scan feedback indicating a scan is currently running

Actual Behavior:
The second tab can lag or drift from the initiating tab, especially around visual state that indicates a scan is still active.

Steps to Reproduce:

  1. Open tab 1 and tab 2 against the same local UI.
  2. Start a scan from tab 1.
  3. Observe tab 2 while the scan is running.

Evidence:

  • Recent user reports show live feedback appearing in tab 2 without the same active scan indication.
  • Relevant code paths:
    • /Users/techmore/projects/NmapUI/nmapui/jobs.py
    • /Users/techmore/projects/NmapUI/nmapui/app_bindings.py
    • /Users/techmore/projects/NmapUI/nmapui/handlers/connections.py
    • /Users/techmore/projects/NmapUI/static/js/scan_runtime.js
    • /Users/techmore/projects/NmapUI/static/js/report_generation_ui.js

Proposed Fix:
Make active scan state a single shared runtime source for all open tabs and ensure the UI derives pulsing/in-progress indicators from that shared state without tab-local drift.

Implementation Notes:

  • Verify existing-tab fanout, not just late-join replay
  • Verify job_status and feedback-driven UI state cannot overwrite each other incorrectly
  • Add browser-level regression coverage that asserts both tabs show the same active scan indicator while the scan is running

Related Issues:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions