From efb768fcefe0d2c5cf3a9157d58812b363fa9e04 Mon Sep 17 00:00:00 2001 From: Timothy Le Date: Fri, 17 Dec 2021 22:04:17 -0800 Subject: [PATCH 1/3] Updated peerData.online parsing Set peerData.online to 0 if peer is not found in peers list Set peerData.online to 1 if peer is found in peers list and latency is not -1 (i.e. a direct route exists) Set peerData.online to 2 if peer is found in peers list and latency is -1 (i.e. relayed connection) --- backend/services/member.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/backend/services/member.js b/backend/services/member.js index ef2cd50..8b6132c 100644 --- a/backend/services/member.js +++ b/backend/services/member.js @@ -37,13 +37,18 @@ async function getMemberAdditionalData(data) { let peerData = {}; if (peer) { peerData.latency = peer.latency; - peerData.online = peer.latency !== -1; + if (peer.latency !== -1) + peerData.online = 1; + if (peer.latency == -1) + peerData.online = 2; peerData.clientVersion = peer.version; if (peer.paths[0]) { peerData.lastOnline = peer.paths[0].lastReceive; peerData.physicalAddress = peer.paths[0].address.split("/")[0]; } } + else + peerData.online = 0; delete data.lastAuthorizedCredential; delete data.lastAuthorizedCredentialType; From cd6699d9b7d90c514dd2b870da4b61b8a5ea4ea0 Mon Sep 17 00:00:00 2001 From: Timothy Le Date: Fri, 17 Dec 2021 22:36:07 -0800 Subject: [PATCH 2/3] feat: update_frontend_online_parsing Address changes in backend member.js service to properly display offline, relayed, or online peer status. --- .../NetworkMembers/NetworkMembers.jsx | 34 ++++++++++++------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/frontend/src/components/NetworkMembers/NetworkMembers.jsx b/frontend/src/components/NetworkMembers/NetworkMembers.jsx index 3f1d368..06ec004 100644 --- a/frontend/src/components/NetworkMembers/NetworkMembers.jsx +++ b/frontend/src/components/NetworkMembers/NetworkMembers.jsx @@ -101,19 +101,29 @@ function NetworkMembers({ network }) { name: "Peer status", minWidth: "100px", cell: (row) => - row.online ? ( - - {"ONLINE (v" + - row.config.vMajor + - "." + - row.config.vMinor + - "." + - row.config.vRev + - ")"} - - ) : ( + (row.online == 0) ? ( OFFLINE - ), + ) : ( (row.online == 1) ? ( + + + {"ONLINE (v" + + row.config.vMajor + + "." + + row.config.vMinor + + "." + + row.config.vRev + + ")"} + + ) : ( + + {"RELAYED (v" + + row.config.vMajor + + "." + + row.config.vMinor + + "." + + row.config.vRev + + ")"} + )), }, { id: "delete", From ade8c3596e5d45e6d6e174b85e9d1e39749172a8 Mon Sep 17 00:00:00 2001 From: timothyle97 Date: Sun, 19 Dec 2021 11:40:02 +0000 Subject: [PATCH 3/3] Updated to include Physical address, port, and latency --- backend/services/member.js | 3 +++ .../NetworkMembers/NetworkMembers.jsx | 21 +++++++++++++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/backend/services/member.js b/backend/services/member.js index 8b6132c..47573f3 100644 --- a/backend/services/member.js +++ b/backend/services/member.js @@ -45,10 +45,13 @@ async function getMemberAdditionalData(data) { if (peer.paths[0]) { peerData.lastOnline = peer.paths[0].lastReceive; peerData.physicalAddress = peer.paths[0].address.split("/")[0]; + peerData.physicalPort = peer.paths[0].address.split("/")[1]; } } else + { peerData.online = 0; + } delete data.lastAuthorizedCredential; delete data.lastAuthorizedCredentialType; diff --git a/frontend/src/components/NetworkMembers/NetworkMembers.jsx b/frontend/src/components/NetworkMembers/NetworkMembers.jsx index 06ec004..87188ea 100644 --- a/frontend/src/components/NetworkMembers/NetworkMembers.jsx +++ b/frontend/src/components/NetworkMembers/NetworkMembers.jsx @@ -101,9 +101,9 @@ function NetworkMembers({ network }) { name: "Peer status", minWidth: "100px", cell: (row) => - (row.online == 0) ? ( + (row.online === 0) ? ( OFFLINE - ) : ( (row.online == 1) ? ( + ) : ( (row.online === 1) ? ( {"ONLINE (v" + @@ -123,8 +123,25 @@ function NetworkMembers({ network }) { "." + row.config.vRev + ")"} + )), }, + { + id: "physicalip", + name: "Physical IP / Latency", + minWidth: "220px", + cell: (row) => + (row.online === 1) ? ( +

+ {row.physicalAddress + + "/" + + row.physicalPort}
{ + "(" + + row.latency + + " ms)"} +

+ ) : (""), + }, { id: "delete", name: "",