mirror of
https://github.com/pablorevilla-meshtastic/meshview.git
synced 2026-07-21 09:02:45 +02:00
Compare commits
6 Commits
3.0.7
...
02c77dcca8
| Author | SHA1 | Date | |
|---|---|---|---|
| 02c77dcca8 | |||
| d4f6a8ba9b | |||
| 31ca098de5 | |||
| 794502d63f | |||
| ad4785baec | |||
| 1f606e5fa0 |
@@ -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.
|
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
|
### 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.
|
- 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.
|
- Stats/UI: expanded stats views with snapshot data and added channel filters to Chat and Firehose.
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
import subprocess
|
import subprocess
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
__version__ = "3.0.7"
|
__version__ = "3.0.8"
|
||||||
__release_date__ = "2026-5-12"
|
__release_date__ = "2026-5-12"
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -159,6 +159,7 @@
|
|||||||
"times_seen": "Seen (24h)",
|
"times_seen": "Seen (24h)",
|
||||||
"avg_gateways": "Avg Gateways",
|
"avg_gateways": "Avg Gateways",
|
||||||
"showing_nodes": "Showing",
|
"showing_nodes": "Showing",
|
||||||
|
"all_channels": "All Channels",
|
||||||
"nodes_suffix": "nodes"
|
"nodes_suffix": "nodes"
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -155,6 +155,7 @@
|
|||||||
"times_seen": "Visto (24h)",
|
"times_seen": "Visto (24h)",
|
||||||
"avg_gateways": "Promedio de Gateways",
|
"avg_gateways": "Promedio de Gateways",
|
||||||
"showing_nodes": "Mostrando",
|
"showing_nodes": "Mostrando",
|
||||||
|
"all_channels": "Todos los Canales",
|
||||||
"nodes_suffix": "nodos"
|
"nodes_suffix": "nodos"
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -145,6 +145,7 @@
|
|||||||
"times_seen": "Принято (24ч)",
|
"times_seen": "Принято (24ч)",
|
||||||
"avg_gateways": "Среднее количество шлюзов",
|
"avg_gateways": "Среднее количество шлюзов",
|
||||||
"showing_nodes": "Показать",
|
"showing_nodes": "Показать",
|
||||||
|
"all_channels": "Все каналы",
|
||||||
"nodes_suffix": "ноды"
|
"nodes_suffix": "ноды"
|
||||||
},
|
},
|
||||||
"nodegraph": {
|
"nodegraph": {
|
||||||
|
|||||||
@@ -109,7 +109,8 @@ async def process_envelope(topic, env):
|
|||||||
node.short_name = map_report.short_name
|
node.short_name = map_report.short_name
|
||||||
node.hw_model = hw_model
|
node.hw_model = hw_model
|
||||||
node.role = role
|
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_lat = map_report.latitude_i
|
||||||
node.last_long = map_report.longitude_i
|
node.last_long = map_report.longitude_i
|
||||||
node.firmware = map_report.firmware_version
|
node.firmware = map_report.firmware_version
|
||||||
|
|||||||
@@ -151,6 +151,11 @@ async function loadChannels() {
|
|||||||
const sel = document.getElementById("channelFilter");
|
const sel = document.getElementById("channelFilter");
|
||||||
|
|
||||||
sel.innerHTML = "";
|
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 || []) {
|
for (const ch of data.channels || []) {
|
||||||
const opt = document.createElement("option");
|
const opt = document.createElement("option");
|
||||||
opt.value = ch;
|
opt.value = ch;
|
||||||
@@ -158,7 +163,7 @@ async function loadChannels() {
|
|||||||
sel.appendChild(opt);
|
sel.appendChild(opt);
|
||||||
}
|
}
|
||||||
|
|
||||||
sel.value = "MediumFast";
|
sel.value = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ======================================================
|
/* ======================================================
|
||||||
|
|||||||
Reference in New Issue
Block a user