From 6766f49d6fceb023c2f0ba1b320dcd6df4071944 Mon Sep 17 00:00:00 2001 From: Pablo Revilla Date: Thu, 5 Jun 2025 15:44:07 -0700 Subject: [PATCH] get some new screenshots --- README.md | 7 ++++++ meshview/templates/base.html | 7 +++++- meshview/web.py | 42 ++++++++++++++++++++++++++++++------ 3 files changed, 48 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index fde31dc..4b6c55f 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,13 @@ The project serves as a real-time monitoring and diagnostic tool for the Meshtastic mesh network. It provides detailed insights into the network's activity, including message traffic, node positions, and telemetry data. +### Version 2.0.3 update +* Moved more graphs to eCharts. +* Addedd smooth updating for "Conversations" and "See everything" sections. +* Now you can turn on and off "Quick Links". +* Network graphs are now dynamically generated depending on your mesh and the presets in use. +* Download node's packet information for the last 3 days to .csv file. +* Display distance traveled by packet. ### Key Features * **Live Data Visualization**: Users can view real-time data from the mesh network, including text messages, GPS positions, and node information. diff --git a/meshview/templates/base.html b/meshview/templates/base.html index 54d79dd..dbf1838 100644 --- a/meshview/templates/base.html +++ b/meshview/templates/base.html @@ -49,6 +49,11 @@ {% include "search_form.html" %} {% block body %} {% endblock %} -
Visit Meshview on Github.

+
+
+ Visit Meshview on Github. + ver. {{SOFTWARE_RELEASE}} +
+
\ No newline at end of file diff --git a/meshview/web.py b/meshview/web.py index e422a51..b596b07 100644 --- a/meshview/web.py +++ b/meshview/web.py @@ -23,7 +23,7 @@ from aiohttp import web import re SEQ_REGEX = re.compile(r"seq \d+") -SOFTWARE_RELEASE= "2.0.3.060325" +SOFTWARE_RELEASE= "2.0.3.060525" CONFIG = config.CONFIG env = Environment(loader=PackageLoader("meshview"), autoescape=select_autoescape()) @@ -287,6 +287,7 @@ async def packet_list(request): has_telemetry=await has_telemetry, query_string=request.query_string, site_config = CONFIG, + SOFTWARE_RELEASE=SOFTWARE_RELEASE, ), content_type="text/html", ) @@ -366,6 +367,7 @@ async def packet_details(request): uplinked_nodes=uplinked_nodes, node=node, site_config = CONFIG, + SOFTWARE_RELEASE=SOFTWARE_RELEASE, ), content_type="text/html", ) @@ -383,6 +385,7 @@ async def packet_details(request): packets=(Packet.from_model(p) for p in packets), portnum=portnum, site_config = CONFIG, + SOFTWARE_RELEASE=SOFTWARE_RELEASE, ), content_type="text/html", ) @@ -446,7 +449,11 @@ async def packet(request): template = env.get_template("packet_index.html") return web.Response( - text=template.render(packet=Packet.from_model(packet), site_config = CONFIG), + text=template.render( + packet=Packet.from_model(packet), + site_config = CONFIG, + SOFTWARE_RELEASE=SOFTWARE_RELEASE + ), content_type="text/html", ) @@ -1006,7 +1013,11 @@ async def nodelist(request): nodes= await store.get_nodes(role,channel, hw_model, days_active=3) template = env.get_template("nodelist.html") return web.Response( - text=template.render(nodes=nodes, site_config = CONFIG), + text=template.render( + nodes=nodes, + site_config = CONFIG, + SOFTWARE_RELEASE=SOFTWARE_RELEASE + ), content_type="text/html", ) except Exception as e: @@ -1107,7 +1118,11 @@ async def net(request): # Render template template = env.get_template("net.html") return web.Response( - text=template.render(packets=filtered_packets, site_config = CONFIG), + text=template.render( + packets=filtered_packets, + site_config = CONFIG, + SOFTWARE_RELEASE=SOFTWARE_RELEASE + ), content_type="text/html", ) @@ -1138,7 +1153,10 @@ async def map(request): template = env.get_template("map.html") return web.Response( - text=template.render(nodes=nodes, site_config=CONFIG), + text=template.render( + nodes=nodes, + site_config=CONFIG, + SOFTWARE_RELEASE=SOFTWARE_RELEASE), content_type="text/html", ) except Exception as e: @@ -1161,6 +1179,7 @@ async def stats(request): total_nodes=total_nodes, total_packets_seen=total_packets_seen, site_config = CONFIG, + SOFTWARE_RELEASE=SOFTWARE_RELEASE, ), content_type="text/html", ) @@ -1185,7 +1204,11 @@ async def top(request): # Otherwise, fetch top traffic nodes as usual top_nodes = await store.get_top_traffic_nodes() template = env.get_template("top.html") - html_content = template.render(nodes=top_nodes, site_config = CONFIG) + html_content = template.render( + nodes=top_nodes, + site_config = CONFIG, + SOFTWARE_RELEASE=SOFTWARE_RELEASE + ) return web.Response( text=html_content, @@ -1211,7 +1234,11 @@ async def chat(request): ] template = env.get_template("chat.html") return web.Response( - text=template.render(packets=filtered_packets, site_config=CONFIG), + text=template.render( + packets=filtered_packets, + site_config=CONFIG, + SOFTWARE_RELEASE=SOFTWARE_RELEASE + ), content_type="text/html", ) except Exception as e: @@ -1343,6 +1370,7 @@ async def nodegraph(request): nodes=nodes_with_edges, edges=edges, # Pass edges with color info site_config = CONFIG, + SOFTWARE_RELEASE=SOFTWARE_RELEASE, ), content_type="text/html", )