db425156a4
Each station popup now shows: - Callsign/SSID header - Age (s/min/h ago, from _tsMs stamped on receive) - Distance from receiver (Haversine, km or m) - Packet type and via path - Full info/comment string Adds haversineKm(), formatTimeAgo(), buildAprsPopupHtml() helpers in app.js and .aprs-popup-* CSS. Passes full packet object as 7th arg to aprsMapAddStation from aprs.js. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Stan Grams <sjg@haxx.space>