@@ -1127,6 +1157,9 @@ export default {
},
newInterfacePort: null,
+ newInterfaceRNodeUseIP: false,
+ newInterfaceRNodeIPHost: "localhost",
+ newInterfaceRNodeIPPort: "7633",
RNodeGHzValue: 0,
RNodeMHzValue: 0,
RNodekHzValue: 0,
@@ -1321,6 +1354,14 @@ export default {
// Port (For RNode, Serial, and KISS)
this.newInterfacePort = iface.port;
+ if (iface.type === "RNodeInterface" && iface.port && iface.port.startsWith("tcp://")) {
+ this.newInterfaceType = "RNodeIPInterface";
+ this.newInterfaceRNodeUseIP = true;
+ const address = iface.port.replace("tcp://", "");
+ const parts = address.split(":");
+ this.newInterfaceRNodeIPHost = parts[0];
+ this.newInterfaceRNodeIPPort = parts[1] || "7633";
+ }
// RNode Interface
this.newInterfaceFrequency = iface.frequency;
@@ -1425,7 +1466,10 @@ export default {
peers: this.I2PSettings.newInterfacePeers.join(","),
// rnode interface
- port: this.newInterfacePort,
+ port:
+ this.newInterfaceRNodeUseIP || this.newInterfaceType === "RNodeIPInterface"
+ ? `tcp://${this.newInterfaceRNodeIPHost}:${this.newInterfaceRNodeIPPort}`
+ : this.newInterfacePort,
frequency: this.calculateFrequencyInHz(),
bandwidth: this.newInterfaceBandwidth,
txpower: this.newInterfaceTxpower,
diff --git a/meshchatx/src/frontend/components/interfaces/Interface.vue b/meshchatx/src/frontend/components/interfaces/Interface.vue
index c025824..a5572e2 100644
--- a/meshchatx/src/frontend/components/interfaces/Interface.vue
+++ b/meshchatx/src/frontend/components/interfaces/Interface.vue
@@ -194,7 +194,7 @@ export default {
case "AutoInterface":
return "home-automation";
case "RNodeInterface":
- return "radio-tower";
+ return this.iface.port && this.iface.port.startsWith("tcp://") ? "lan-connect" : "radio-tower";
case "RNodeMultiInterface":
return "access-point-network";
case "TCPClientInterface":
@@ -226,6 +226,9 @@ export default {
if (this.iface.type === "SerialInterface") {
return `${this.iface.port} @ ${this.iface.speed || "9600"}bps`;
}
+ if (this.iface.type === "RNodeInterface" && this.iface.port && this.iface.port.startsWith("tcp://")) {
+ return `RNode over IP @ ${this.iface.port.replace("tcp://", "")}`;
+ }
if (this.iface.type === "AutoInterface") {
return "Auto-detect Ethernet and Wi-Fi peers";
}
diff --git a/meshchatx/src/frontend/components/interfaces/InterfacesPage.vue b/meshchatx/src/frontend/components/interfaces/InterfacesPage.vue
index a0519cc..ee93546 100644
--- a/meshchatx/src/frontend/components/interfaces/InterfacesPage.vue
+++ b/meshchatx/src/frontend/components/interfaces/InterfacesPage.vue
@@ -62,7 +62,7 @@
{{ reloadingRns ? $t("app.reloading_rns") : $t("app.reload_rns") }}
diff --git a/meshchatx/src/frontend/components/messages/ConversationViewer.vue b/meshchatx/src/frontend/components/messages/ConversationViewer.vue
index 8c2456f..75b3266 100644
--- a/meshchatx/src/frontend/components/messages/ConversationViewer.vue
+++ b/meshchatx/src/frontend/components/messages/ConversationViewer.vue
@@ -920,9 +920,12 @@
>
-
+
{{
isSyncingPropagationNode ? "Syncing..." : "Sync Node"
diff --git a/meshchatx/src/frontend/components/network-visualiser/NetworkVisualiser.vue b/meshchatx/src/frontend/components/network-visualiser/NetworkVisualiser.vue
index d5fb42a..c86e265 100644
--- a/meshchatx/src/frontend/components/network-visualiser/NetworkVisualiser.vue
+++ b/meshchatx/src/frontend/components/network-visualiser/NetworkVisualiser.vue
@@ -1030,17 +1030,4 @@ export default {
background-image: radial-gradient(#18181b 1px, transparent 1px);
background-size: 32px 32px;
}
-
-@keyframes spin-reverse {
- from {
- transform: rotate(0deg);
- }
- to {
- transform: rotate(-360deg);
- }
-}
-
-.animate-spin-reverse {
- animation: spin-reverse 1s linear infinite;
-}
diff --git a/meshchatx/src/frontend/components/rnstatus/RNStatusPage.vue b/meshchatx/src/frontend/components/rnstatus/RNStatusPage.vue
index 8ff7d99..cd6a800 100644
--- a/meshchatx/src/frontend/components/rnstatus/RNStatusPage.vue
+++ b/meshchatx/src/frontend/components/rnstatus/RNStatusPage.vue
@@ -27,7 +27,7 @@
Refresh
diff --git a/meshchatx/src/frontend/components/settings/SettingsPage.vue b/meshchatx/src/frontend/components/settings/SettingsPage.vue
index 49c8291..c4557e3 100644
--- a/meshchatx/src/frontend/components/settings/SettingsPage.vue
+++ b/meshchatx/src/frontend/components/settings/SettingsPage.vue
@@ -846,7 +846,7 @@
{{ reloadingRns ? $t("app.reloading_rns") : $t("app.reload_rns") }}
diff --git a/meshchatx/src/frontend/components/tools/RNPathPage.vue b/meshchatx/src/frontend/components/tools/RNPathPage.vue
index 423b6ba..effd5b8 100644
--- a/meshchatx/src/frontend/components/tools/RNPathPage.vue
+++ b/meshchatx/src/frontend/components/tools/RNPathPage.vue
@@ -20,7 +20,11 @@
title="Refresh"
@click="refreshAll"
>
-
+