- ${validPackets.length ? validPackets.map(p => {
+ ${window.groupRecentAdverts(validPackets).map(group => `
+
${group.label} (${group.adverts.length})
+ ${group.adverts.length ? group.adverts.map(p => {
let decoded; try { decoded = JSON.parse(p.decoded_json); } catch {}
const typeLabel = p.payload_type === 4 ? '
Advert' : p.payload_type === 5 ? '
Channel' : p.payload_type === 2 ? '
DM' : '
Packet';
const detail = decoded?.text ? ': ' + escapeHtml(truncate(decoded.text, 50)) : decoded?.name ? ' — ' + escapeHtml(decoded.name) : '';
@@ -773,7 +775,8 @@
${typeLabel}${detail}${hashSizeBadge}${obsBadge}${obs ? ' via ' + escapeHtml(obs) : ''}${snr}${rssi}
Analyze →