diff --git a/src/components/Dialog/TracerouteResponseDialog.tsx b/src/components/Dialog/TracerouteResponseDialog.tsx index 87ecf40e..0b081d55 100644 --- a/src/components/Dialog/TracerouteResponseDialog.tsx +++ b/src/components/Dialog/TracerouteResponseDialog.tsx @@ -23,6 +23,7 @@ export const TracerouteResponseDialog = ({ }: TracerouteResponseDialogProps): JSX.Element => { const { nodes } = useDevice(); const route: number[] = traceroute?.data.route ?? []; + const routeBack: number[] = traceroute?.data.routeBack ?? []; const from = nodes.get(traceroute?.from ?? 0); const longName = from?.user?.longName ?? @@ -38,7 +39,7 @@ export const TracerouteResponseDialog = ({ {`Traceroute: ${longName} (${shortName})`} - + diff --git a/src/components/PageComponents/Messages/TraceRoute.tsx b/src/components/PageComponents/Messages/TraceRoute.tsx index 9d4c53e6..a8fa04dc 100644 --- a/src/components/PageComponents/Messages/TraceRoute.tsx +++ b/src/components/PageComponents/Messages/TraceRoute.tsx @@ -6,12 +6,14 @@ export interface TraceRouteProps { from?: Protobuf.Mesh.NodeInfo; to?: Protobuf.Mesh.NodeInfo; route: Array; + routeBack?: Array; } export const TraceRoute = ({ from, to, route, + routeBack, }: TraceRouteProps): JSX.Element => { const { nodes } = useDevice(); @@ -22,8 +24,9 @@ export const TraceRoute = ({ ) : ( -
+
+

Route traced towards destination:

{to?.user?.longName} ↔{" "} {route.map( (hop) => @@ -31,6 +34,17 @@ export const TraceRoute = ({ )} {from?.user?.longName}
+ {routeBack ? ( + +

Route traced back to us:

+ {from?.user?.longName} ↔{" "} + {routeBack.map( + (hop) => + `${nodes.get(hop)?.user?.longName ?? `!${numberToHexUnpadded(hop)}`} ↔ `, + )} + {to?.user?.longName} +
+ ) : null}
); };