fix: packet row expand crash — 'child' not defined, should be 'c'

renderPath(childPath, child.observer_id) referenced undefined variable
'child' instead of loop variable 'c'. Crashed the entire render loop
when expanding a grouped packet row.
This commit is contained in:
you
2026-03-24 14:27:00 +00:00
parent b0d874f873
commit 8efdff420a
2 changed files with 26 additions and 26 deletions
+25 -25
View File
@@ -22,9 +22,9 @@
<meta name="twitter:title" content="MeshCore Analyzer">
<meta name="twitter:description" content="Real-time MeshCore LoRa mesh network analyzer — live packet visualization, node tracking, channel decryption, and route analysis.">
<meta name="twitter:image" content="https://raw.githubusercontent.com/Kpa-clawbot/meshcore-analyzer/master/public/og-image.png">
<link rel="stylesheet" href="style.css?v=1774315966">
<link rel="stylesheet" href="home.css?v=1774315966">
<link rel="stylesheet" href="live.css?v=1774315966">
<link rel="stylesheet" href="style.css?v=1774362385">
<link rel="stylesheet" href="home.css?v=1774362385">
<link rel="stylesheet" href="live.css?v=1774362385">
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"
integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY="
crossorigin="anonymous">
@@ -81,27 +81,27 @@
<main id="app" role="main"></main>
<script src="vendor/qrcode.js"></script>
<script src="roles.js?v=1774315966"></script>
<script src="customize.js?v=1774315966" onerror="console.error('Failed to load:', this.src)"></script>
<script src="region-filter.js?v=1774315966"></script>
<script src="hop-resolver.js?v=1774315966"></script>
<script src="hop-display.js?v=1774315966"></script>
<script src="app.js?v=1774315966"></script>
<script src="home.js?v=1774315966"></script>
<script src="packet-filter.js?v=1774315966"></script>
<script src="packets.js?v=1774315966"></script>
<script src="map.js?v=1774315966" onerror="console.error('Failed to load:', this.src)"></script>
<script src="channels.js?v=1774315966" onerror="console.error('Failed to load:', this.src)"></script>
<script src="nodes.js?v=1774315966" onerror="console.error('Failed to load:', this.src)"></script>
<script src="traces.js?v=1774315966" onerror="console.error('Failed to load:', this.src)"></script>
<script src="analytics.js?v=1774315966" onerror="console.error('Failed to load:', this.src)"></script>
<script src="audio.js?v=1774315966" onerror="console.error('Failed to load:', this.src)"></script>
<script src="audio-v1-constellation.js?v=1774315966" onerror="console.error('Failed to load:', this.src)"></script>
<script src="audio-lab.js?v=1774315966" onerror="console.error('Failed to load:', this.src)"></script>
<script src="live.js?v=1774315966" onerror="console.error('Failed to load:', this.src)"></script>
<script src="observers.js?v=1774315966" onerror="console.error('Failed to load:', this.src)"></script>
<script src="observer-detail.js?v=1774315966" onerror="console.error('Failed to load:', this.src)"></script>
<script src="node-analytics.js?v=1774315966" onerror="console.error('Failed to load:', this.src)"></script>
<script src="perf.js?v=1774315966" onerror="console.error('Failed to load:', this.src)"></script>
<script src="roles.js?v=1774362385"></script>
<script src="customize.js?v=1774362385" onerror="console.error('Failed to load:', this.src)"></script>
<script src="region-filter.js?v=1774362385"></script>
<script src="hop-resolver.js?v=1774362385"></script>
<script src="hop-display.js?v=1774362385"></script>
<script src="app.js?v=1774362385"></script>
<script src="home.js?v=1774362385"></script>
<script src="packet-filter.js?v=1774362385"></script>
<script src="packets.js?v=1774362385"></script>
<script src="map.js?v=1774362385" onerror="console.error('Failed to load:', this.src)"></script>
<script src="channels.js?v=1774362385" onerror="console.error('Failed to load:', this.src)"></script>
<script src="nodes.js?v=1774362385" onerror="console.error('Failed to load:', this.src)"></script>
<script src="traces.js?v=1774362385" onerror="console.error('Failed to load:', this.src)"></script>
<script src="analytics.js?v=1774362385" onerror="console.error('Failed to load:', this.src)"></script>
<script src="audio.js?v=1774362385" onerror="console.error('Failed to load:', this.src)"></script>
<script src="audio-v1-constellation.js?v=1774362385" onerror="console.error('Failed to load:', this.src)"></script>
<script src="audio-lab.js?v=1774362385" onerror="console.error('Failed to load:', this.src)"></script>
<script src="live.js?v=1774362385" onerror="console.error('Failed to load:', this.src)"></script>
<script src="observers.js?v=1774362385" onerror="console.error('Failed to load:', this.src)"></script>
<script src="observer-detail.js?v=1774362385" onerror="console.error('Failed to load:', this.src)"></script>
<script src="node-analytics.js?v=1774362385" onerror="console.error('Failed to load:', this.src)"></script>
<script src="perf.js?v=1774362385" onerror="console.error('Failed to load:', this.src)"></script>
</body>
</html>
+1 -1
View File
@@ -1036,7 +1036,7 @@
const childRegion = c.observer_id ? (observers.find(o => o.id === c.observer_id)?.iata || '') : '';
let childPath = [];
try { childPath = JSON.parse(c.path_json || '[]'); } catch {}
const childPathStr = renderPath(childPath, child.observer_id);
const childPathStr = renderPath(childPath, c.observer_id);
html += `<tr class="group-child" data-id="${c.id}" data-hash="${c.hash || ''}" data-action="select-observation" data-value="${c.id}" data-parent-hash="${p.hash}" tabindex="0" role="row">
<td></td><td class="col-region">${childRegion ? `<span class="badge-region">${childRegion}</span>` : '—'}</td>
<td class="col-time">${timeAgo(c.timestamp)}</td>