6 Commits

Author SHA1 Message Date
pablorevilla-meshtastic 02c77dcca8 change the versio n number and release date for the next release 2026-05-29 14:39:04 -07:00
pablorevilla-meshtastic d4f6a8ba9b fixed bug in top.html now it shows all channels as a option 2026-05-29 14:30:44 -07:00
SMLunchen 31ca098de5 fix: don't overwrite Node.channel from MAP_REPORT_APP if already set (#147)
NODEINFO_APP is the better / authoritative source for a nodes primary channel.
MAP_REPORT_APP packets can arrive on a different MQTT uplink channel and
are unconditionally overwriting the channel set by NODEINFO, causing
nodes to appear on the wrong channel in the map and channel filters.

now MAP_REPORT_APP only sets Node.channel when it is not (yetw) known,
making it a fallback rather than an override.
2026-05-29 14:12:42 -07:00
pablorevilla-meshtastic 794502d63f Merge branch '3.0.7' 2026-05-29 14:06:17 -07:00
pablorevilla-meshtastic ad4785baec Document version 3.0.7 2026-05-29 14:05:16 -07:00
Pablo Revilla 1f606e5fa0 Update README.md 2026-05-19 10:29:30 -07:00
7 changed files with 20 additions and 3 deletions
+8
View File
@@ -4,6 +4,14 @@
The project serves as a real-time monitoring and diagnostic tool for the Meshtastic mesh network. It provides detailed insights into network activity, including message traffic, node positions, and telemetry data.
### Version 3.0.7 — May 2026
- Reliability report: added a dedicated reliability page for checking how well a selected node is heard across the mesh, including heard/missed status, packet counts, hop counts, gateway tables, and a map view.
- Node list/map UX: added node list filtering for wider active-node ranges, included all database nodes where appropriate, and made map node colors persistent across reboots.
- QR/API fixes: corrected QR code generation when a node role is missing or unavailable.
- Database cleanup: removed stored node public key data and added the Alembic migration to drop `node.public_key`.
- Protobufs: refreshed Meshtastic protobuf Python modules to upstream commit
- Tooling: improved the protobuf updater so it supports raw commit SHAs, the newer upstream `meshtastic/*.proto` layout, generated `.pyi` stubs, and the vendored `nanopb`/`serial_hal` outputs.
### Version 3.0.6 — March 2026
- Daily snapshots: added the `daily_snapshot` table, scheduled snapshot capture, and `/api/snapshots/daily` for historical node, packet, and gateway counts.
- Stats/UI: expanded stats views with snapshot data and added channel filters to Chat and Firehose.
+1 -1
View File
@@ -3,7 +3,7 @@
import subprocess
from pathlib import Path
__version__ = "3.0.7"
__version__ = "3.0.8"
__release_date__ = "2026-5-12"
+1
View File
@@ -159,6 +159,7 @@
"times_seen": "Seen (24h)",
"avg_gateways": "Avg Gateways",
"showing_nodes": "Showing",
"all_channels": "All Channels",
"nodes_suffix": "nodes"
},
+1
View File
@@ -155,6 +155,7 @@
"times_seen": "Visto (24h)",
"avg_gateways": "Promedio de Gateways",
"showing_nodes": "Mostrando",
"all_channels": "Todos los Canales",
"nodes_suffix": "nodos"
},
+1
View File
@@ -145,6 +145,7 @@
"times_seen": "Принято (24ч)",
"avg_gateways": "Среднее количество шлюзов",
"showing_nodes": "Показать",
"all_channels": "Все каналы",
"nodes_suffix": "ноды"
},
"nodegraph": {
+2 -1
View File
@@ -109,7 +109,8 @@ async def process_envelope(topic, env):
node.short_name = map_report.short_name
node.hw_model = hw_model
node.role = role
node.channel = env.channel_id
if not node.channel:
node.channel = env.channel_id
node.last_lat = map_report.latitude_i
node.last_long = map_report.longitude_i
node.firmware = map_report.firmware_version
+6 -1
View File
@@ -151,6 +151,11 @@ async function loadChannels() {
const sel = document.getElementById("channelFilter");
sel.innerHTML = "";
const allOpt = document.createElement("option");
allOpt.value = "";
allOpt.textContent = topTranslations.all_channels || "All channels";
sel.appendChild(allOpt);
for (const ch of data.channels || []) {
const opt = document.createElement("option");
opt.value = ch;
@@ -158,7 +163,7 @@ async function loadChannels() {
sel.appendChild(opt);
}
sel.value = "MediumFast";
sel.value = "";
}
/* ======================================================