diff --git a/repeater/engine.py b/repeater/engine.py index 163c342..a342c90 100644 --- a/repeater/engine.py +++ b/repeater/engine.py @@ -195,6 +195,9 @@ class RepeaterHandler(BaseHandler): # Record packet for charts packet_record = { "timestamp": time.time(), + "header": f"0x{packet.header:02X}" if hasattr(packet, "header") and packet.header is not None else None, + "payload": packet.payload.hex() if hasattr(packet, "payload") and packet.payload else None, + "payload_length": len(packet.payload) if hasattr(packet, "payload") and packet.payload else 0, "type": payload_type, "route": route_type, "length": len(packet.payload or b""), @@ -215,6 +218,7 @@ class RepeaterHandler(BaseHandler): "forwarded_path": ( [f"{b:02X}" for b in forwarded_path] if forwarded_path is not None else None ), + } # If this is a duplicate, try to attach it to the original packet diff --git a/repeater/main.py b/repeater/main.py index e2a9b12..3de325e 100644 --- a/repeater/main.py +++ b/repeater/main.py @@ -178,6 +178,9 @@ class RepeaterDaemon: packet_record = { "timestamp": time.time(), + "header": f"0x{packet.header:02X}" if hasattr(packet, "header") and packet.header is not None else None, + "payload": packet.payload.hex() if hasattr(packet, "payload") and packet.payload else None, + "payload_length": len(packet.payload) if hasattr(packet, "payload") and packet.payload else 0, "type": packet.get_payload_type(), # 0x09 for trace "route": packet.get_route_type(), # Should be direct (1) "length": len(packet.payload or b""), diff --git a/repeater/templates/dashboard.html b/repeater/templates/dashboard.html index da558db..c76007c 100644 --- a/repeater/templates/dashboard.html +++ b/repeater/templates/dashboard.html @@ -97,6 +97,21 @@ + +
+
+
+

Packet Details

+ +
+
+
+ +
+
+
+
+