diff --git a/meshview/models.py b/meshview/models.py index 759d471..55d7ed7 100644 --- a/meshview/models.py +++ b/meshview/models.py @@ -99,4 +99,8 @@ class Traceroute(Base): route_return: Mapped[bytes] = mapped_column(nullable=True) import_time_us: Mapped[int] = mapped_column(BigInteger, nullable=True) - __table_args__ = (Index("idx_traceroute_import_time_us", "import_time_us"),) + __table_args__ = ( + Index("idx_traceroute_packet_id", "packet_id"), + Index("idx_traceroute_import_time_us", "import_time_us"), +) + diff --git a/meshview/mqtt_store.py b/meshview/mqtt_store.py index 97018d4..bf0ac29 100644 --- a/meshview/mqtt_store.py +++ b/meshview/mqtt_store.py @@ -237,7 +237,7 @@ async def process_envelope(topic, env): session.add( Traceroute( packet_id=packet_id, - route=env.packet.decoded.payload, + route=env.packet.decoded.1payload, done=not env.packet.decoded.want_response, gateway_node_id=int(env.gateway_id[1:], 16), import_time_us=now_us, diff --git a/meshview/web.py b/meshview/web.py index bb84148..223d74f 100644 --- a/meshview/web.py +++ b/meshview/web.py @@ -203,6 +203,12 @@ async def index(request): raise web.HTTPFound(location=starting_url) +# redirect for backwards compatibility +@routes.get("/packet_list/{packet_id}") +async def redirect_packet_list(request): + packet_id = request.match_info["packet_id"] + raise web.HTTPFound(location=f"/node/{packet_id}") + # Generic static HTML route @routes.get("/{page}") async def serve_page(request):