From b43683a259839eb2e6b287cae7ded5b0f0c7a0e1 Mon Sep 17 00:00:00 2001 From: pablorevilla-meshtastic Date: Fri, 6 Feb 2026 11:41:15 -0800 Subject: [PATCH] Added First Seen time to node.html and /api/nodes --- meshview/lang/en.json | 1 + meshview/lang/es.json | 1 + meshview/templates/node.html | 10 ++++++++++ meshview/web_api/api.py | 1 + 4 files changed, 13 insertions(+) diff --git a/meshview/lang/en.json b/meshview/lang/en.json index 46b0a23..bff56f1 100644 --- a/meshview/lang/en.json +++ b/meshview/lang/en.json @@ -168,6 +168,7 @@ "channel": "Channel", "latitude": "Latitude", "longitude": "Longitude", + "first_update": "First Update", "last_update": "Last Update", "battery_voltage": "Battery & Voltage", "air_channel": "Air & Channel Utilization", diff --git a/meshview/lang/es.json b/meshview/lang/es.json index 8311fd2..735b7a6 100644 --- a/meshview/lang/es.json +++ b/meshview/lang/es.json @@ -154,6 +154,7 @@ "channel": "Canal", "latitude": "Latitud", "longitude": "Longitud", + "first_update": "Primera Actualización", "last_update": "Última Actualización", "battery_voltage": "Batería y voltaje", "air_channel": "Utilización del aire y del canal", diff --git a/meshview/templates/node.html b/meshview/templates/node.html index b6577bf..d20fe58 100644 --- a/meshview/templates/node.html +++ b/meshview/templates/node.html @@ -364,6 +364,7 @@
Latitude:
Longitude:
+
First Update:
Last Update:
Statistics: @@ -595,6 +596,10 @@ function makeNodePopup(node) { ${nodeTranslations.last_update || "Last Update"}: ${formatLastSeen(node.last_seen_us)} +
+ + ${nodeTranslations.first_update || "First Update"}: + ${formatLastSeen(node.first_seen_us)}
`; } @@ -708,6 +713,11 @@ async function loadNodeInfo(){ if (node.last_seen_us) { lastSeen = formatLastSeen(node.last_seen_us); } + let firstSeen = "—"; + if (node.first_seen_us) { + firstSeen = formatLastSeen(node.first_seen_us); + } + document.getElementById("info-first-update").textContent = firstSeen; document.getElementById("info-last-update").textContent = lastSeen; loadNodeStats(node.node_id); } catch (err) { diff --git a/meshview/web_api/api.py b/meshview/web_api/api.py index 5895585..abba719 100644 --- a/meshview/web_api/api.py +++ b/meshview/web_api/api.py @@ -85,6 +85,7 @@ async def api_nodes(request): "last_long": getattr(n, "last_long", None), "channel": n.channel, # "last_update": n.last_update.isoformat(), + "first_seen_us": n.first_seen_us, "last_seen_us": n.last_seen_us, } )