- Fix stale EventSource accumulation: onerror handler now closes the
existing EventSource before creating a new one, preventing multiple
live instances from stacking up and flooding /api/nodes on reconnect.
- Add in-flight guard on /api/nodes fetch so concurrent requests are
dropped if one is already in progress.
- Add dominant reason code column to Alerts tab (Most Impersonated
Networks and Most Targeted Devices tables) and Sessions tab rows.
- README: document node dropout root cause (AP overwhelm on staggered
power cycle), overnight stability confirmation, and dedicated AP todo.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>