mirror of
https://github.com/Kpa-clawbot/meshcore-analyzer.git
synced 2026-03-29 10:50:17 +00:00
Fixes #131 The Nodes tab required a full page reload to see newly advertised nodes because loadNodes() cached the node list in _allNodes and never re-fetched it on WebSocket updates. Changes: - WS handler now filters for ADVERT packets only (payload_type 4 or payloadTypeName ADVERT), instead of triggering on every packet type - Uses 5-second debounce to avoid excessive API calls during bursts - Resets _allNodes cache and invalidates API cache before re-fetching - loadNodes(refreshOnly) parameter: when true, updates table rows and counts without rebuilding the entire panel (preserves scroll position, selected node, tabs, filters, and event listeners) - Extracted isAdvertMessage() as testable helper with window._nodesIsAdvertMessage hook - 13 new tests (76 total frontend helpers) - Cache busters bumped Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>