@gethashd/bytecave-browser 1.0.51 → 1.0.52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-KU6ZO2QD.js → chunk-XPZKBTJA.js} +42 -8
- package/dist/index.cjs +42 -8
- package/dist/index.js +1 -1
- package/dist/react/index.js +1 -1
- package/dist/types.d.ts +4 -0
- package/package.json +1 -1
- package/src/client.ts +50 -10
- package/src/types.ts +4 -0
|
@@ -6998,14 +6998,48 @@ Nonce: ${nonce}`;
|
|
|
6998
6998
|
try {
|
|
6999
6999
|
const peerInfo = this.knownPeers.get(peerId);
|
|
7000
7000
|
const relayAddrs = peerInfo?.relayAddrs;
|
|
7001
|
-
|
|
7002
|
-
|
|
7003
|
-
|
|
7004
|
-
|
|
7005
|
-
|
|
7006
|
-
|
|
7007
|
-
|
|
7008
|
-
|
|
7001
|
+
const multiaddrs = peerInfo?.multiaddrs;
|
|
7002
|
+
if (this.node) {
|
|
7003
|
+
const connections = this.node.getConnections().filter((c) => c.remotePeer.toString() === peerId);
|
|
7004
|
+
if (connections.length === 0) {
|
|
7005
|
+
console.log("[ByteCave] No existing connection to peer, attempting to dial");
|
|
7006
|
+
if (relayAddrs && relayAddrs.length > 0) {
|
|
7007
|
+
console.log("[ByteCave] Trying relay address:", relayAddrs[0].slice(0, 60));
|
|
7008
|
+
try {
|
|
7009
|
+
const ma = multiaddr(relayAddrs[0]);
|
|
7010
|
+
await this.node.dial(ma);
|
|
7011
|
+
console.log("[ByteCave] \u2713 Connected via relay");
|
|
7012
|
+
} catch (dialError) {
|
|
7013
|
+
console.warn("[ByteCave] Relay dial failed:", dialError.message);
|
|
7014
|
+
if (multiaddrs && multiaddrs.length > 0) {
|
|
7015
|
+
const wtAddr = multiaddrs.find((addr) => addr.includes("/webtransport"));
|
|
7016
|
+
if (wtAddr) {
|
|
7017
|
+
console.log("[ByteCave] Trying WebTransport address:", wtAddr.slice(0, 60));
|
|
7018
|
+
try {
|
|
7019
|
+
const ma = multiaddr(wtAddr);
|
|
7020
|
+
await this.node.dial(ma);
|
|
7021
|
+
console.log("[ByteCave] \u2713 Connected via WebTransport");
|
|
7022
|
+
} catch (wtError) {
|
|
7023
|
+
console.warn("[ByteCave] WebTransport dial failed:", wtError.message);
|
|
7024
|
+
}
|
|
7025
|
+
}
|
|
7026
|
+
}
|
|
7027
|
+
}
|
|
7028
|
+
} else if (multiaddrs && multiaddrs.length > 0) {
|
|
7029
|
+
const wtAddr = multiaddrs.find((addr) => addr.includes("/webtransport"));
|
|
7030
|
+
if (wtAddr) {
|
|
7031
|
+
console.log("[ByteCave] Trying WebTransport address (no relay):", wtAddr.slice(0, 60));
|
|
7032
|
+
try {
|
|
7033
|
+
const ma = multiaddr(wtAddr);
|
|
7034
|
+
await this.node.dial(ma);
|
|
7035
|
+
console.log("[ByteCave] \u2713 Connected via WebTransport");
|
|
7036
|
+
} catch (wtError) {
|
|
7037
|
+
console.warn("[ByteCave] WebTransport dial failed:", wtError.message);
|
|
7038
|
+
}
|
|
7039
|
+
}
|
|
7040
|
+
}
|
|
7041
|
+
} else {
|
|
7042
|
+
console.log("[ByteCave] Already connected to peer via", connections[0].remoteAddr.toString().slice(0, 60));
|
|
7009
7043
|
}
|
|
7010
7044
|
}
|
|
7011
7045
|
const health = await p2pProtocolClient.getHealthFromPeer(peerId);
|
package/dist/index.cjs
CHANGED
|
@@ -7051,14 +7051,48 @@ Nonce: ${nonce}`;
|
|
|
7051
7051
|
try {
|
|
7052
7052
|
const peerInfo = this.knownPeers.get(peerId);
|
|
7053
7053
|
const relayAddrs = peerInfo?.relayAddrs;
|
|
7054
|
-
|
|
7055
|
-
|
|
7056
|
-
|
|
7057
|
-
|
|
7058
|
-
|
|
7059
|
-
|
|
7060
|
-
|
|
7061
|
-
|
|
7054
|
+
const multiaddrs = peerInfo?.multiaddrs;
|
|
7055
|
+
if (this.node) {
|
|
7056
|
+
const connections = this.node.getConnections().filter((c) => c.remotePeer.toString() === peerId);
|
|
7057
|
+
if (connections.length === 0) {
|
|
7058
|
+
console.log("[ByteCave] No existing connection to peer, attempting to dial");
|
|
7059
|
+
if (relayAddrs && relayAddrs.length > 0) {
|
|
7060
|
+
console.log("[ByteCave] Trying relay address:", relayAddrs[0].slice(0, 60));
|
|
7061
|
+
try {
|
|
7062
|
+
const ma = (0, import_multiaddr.multiaddr)(relayAddrs[0]);
|
|
7063
|
+
await this.node.dial(ma);
|
|
7064
|
+
console.log("[ByteCave] \u2713 Connected via relay");
|
|
7065
|
+
} catch (dialError) {
|
|
7066
|
+
console.warn("[ByteCave] Relay dial failed:", dialError.message);
|
|
7067
|
+
if (multiaddrs && multiaddrs.length > 0) {
|
|
7068
|
+
const wtAddr = multiaddrs.find((addr) => addr.includes("/webtransport"));
|
|
7069
|
+
if (wtAddr) {
|
|
7070
|
+
console.log("[ByteCave] Trying WebTransport address:", wtAddr.slice(0, 60));
|
|
7071
|
+
try {
|
|
7072
|
+
const ma = (0, import_multiaddr.multiaddr)(wtAddr);
|
|
7073
|
+
await this.node.dial(ma);
|
|
7074
|
+
console.log("[ByteCave] \u2713 Connected via WebTransport");
|
|
7075
|
+
} catch (wtError) {
|
|
7076
|
+
console.warn("[ByteCave] WebTransport dial failed:", wtError.message);
|
|
7077
|
+
}
|
|
7078
|
+
}
|
|
7079
|
+
}
|
|
7080
|
+
}
|
|
7081
|
+
} else if (multiaddrs && multiaddrs.length > 0) {
|
|
7082
|
+
const wtAddr = multiaddrs.find((addr) => addr.includes("/webtransport"));
|
|
7083
|
+
if (wtAddr) {
|
|
7084
|
+
console.log("[ByteCave] Trying WebTransport address (no relay):", wtAddr.slice(0, 60));
|
|
7085
|
+
try {
|
|
7086
|
+
const ma = (0, import_multiaddr.multiaddr)(wtAddr);
|
|
7087
|
+
await this.node.dial(ma);
|
|
7088
|
+
console.log("[ByteCave] \u2713 Connected via WebTransport");
|
|
7089
|
+
} catch (wtError) {
|
|
7090
|
+
console.warn("[ByteCave] WebTransport dial failed:", wtError.message);
|
|
7091
|
+
}
|
|
7092
|
+
}
|
|
7093
|
+
}
|
|
7094
|
+
} else {
|
|
7095
|
+
console.log("[ByteCave] Already connected to peer via", connections[0].remoteAddr.toString().slice(0, 60));
|
|
7062
7096
|
}
|
|
7063
7097
|
}
|
|
7064
7098
|
const health = await p2pProtocolClient.getHealthFromPeer(peerId);
|
package/dist/index.js
CHANGED
package/dist/react/index.js
CHANGED
package/dist/types.d.ts
CHANGED
|
@@ -23,6 +23,10 @@ export interface PeerInfo {
|
|
|
23
23
|
nodeUrl?: string;
|
|
24
24
|
isRegistered?: boolean;
|
|
25
25
|
owner?: string;
|
|
26
|
+
multiaddrs?: string[];
|
|
27
|
+
httpEndpoint?: string;
|
|
28
|
+
relayAddrs?: string[];
|
|
29
|
+
onChainNodeId?: string;
|
|
26
30
|
}
|
|
27
31
|
export interface StoreResult {
|
|
28
32
|
success: boolean;
|
package/package.json
CHANGED
package/src/client.ts
CHANGED
|
@@ -811,19 +811,59 @@ Nonce: ${nonce}`;
|
|
|
811
811
|
uptime: number;
|
|
812
812
|
} | null> {
|
|
813
813
|
try {
|
|
814
|
-
// Check if we have
|
|
814
|
+
// Check if we have addresses for this peer
|
|
815
815
|
const peerInfo = this.knownPeers.get(peerId);
|
|
816
816
|
const relayAddrs = (peerInfo as any)?.relayAddrs;
|
|
817
|
+
const multiaddrs = peerInfo?.multiaddrs;
|
|
817
818
|
|
|
818
|
-
//
|
|
819
|
-
if (
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
819
|
+
// Try to dial the peer if not already connected
|
|
820
|
+
if (this.node) {
|
|
821
|
+
const connections = this.node.getConnections().filter(c => c.remotePeer.toString() === peerId);
|
|
822
|
+
|
|
823
|
+
if (connections.length === 0) {
|
|
824
|
+
console.log('[ByteCave] No existing connection to peer, attempting to dial');
|
|
825
|
+
|
|
826
|
+
// Try relay addresses first (if available)
|
|
827
|
+
if (relayAddrs && relayAddrs.length > 0) {
|
|
828
|
+
console.log('[ByteCave] Trying relay address:', relayAddrs[0].slice(0, 60));
|
|
829
|
+
try {
|
|
830
|
+
const ma = multiaddr(relayAddrs[0]);
|
|
831
|
+
await this.node.dial(ma as any);
|
|
832
|
+
console.log('[ByteCave] ✓ Connected via relay');
|
|
833
|
+
} catch (dialError: any) {
|
|
834
|
+
console.warn('[ByteCave] Relay dial failed:', dialError.message);
|
|
835
|
+
|
|
836
|
+
// Fallback to WebTransport if relay fails
|
|
837
|
+
if (multiaddrs && multiaddrs.length > 0) {
|
|
838
|
+
const wtAddr = multiaddrs.find((addr: string) => addr.includes('/webtransport'));
|
|
839
|
+
if (wtAddr) {
|
|
840
|
+
console.log('[ByteCave] Trying WebTransport address:', wtAddr.slice(0, 60));
|
|
841
|
+
try {
|
|
842
|
+
const ma = multiaddr(wtAddr);
|
|
843
|
+
await this.node.dial(ma as any);
|
|
844
|
+
console.log('[ByteCave] ✓ Connected via WebTransport');
|
|
845
|
+
} catch (wtError: any) {
|
|
846
|
+
console.warn('[ByteCave] WebTransport dial failed:', wtError.message);
|
|
847
|
+
}
|
|
848
|
+
}
|
|
849
|
+
}
|
|
850
|
+
}
|
|
851
|
+
} else if (multiaddrs && multiaddrs.length > 0) {
|
|
852
|
+
// No relay addresses, try WebTransport directly
|
|
853
|
+
const wtAddr = multiaddrs.find((addr: string) => addr.includes('/webtransport'));
|
|
854
|
+
if (wtAddr) {
|
|
855
|
+
console.log('[ByteCave] Trying WebTransport address (no relay):', wtAddr.slice(0, 60));
|
|
856
|
+
try {
|
|
857
|
+
const ma = multiaddr(wtAddr);
|
|
858
|
+
await this.node.dial(ma as any);
|
|
859
|
+
console.log('[ByteCave] ✓ Connected via WebTransport');
|
|
860
|
+
} catch (wtError: any) {
|
|
861
|
+
console.warn('[ByteCave] WebTransport dial failed:', wtError.message);
|
|
862
|
+
}
|
|
863
|
+
}
|
|
864
|
+
}
|
|
865
|
+
} else {
|
|
866
|
+
console.log('[ByteCave] Already connected to peer via', connections[0].remoteAddr.toString().slice(0, 60));
|
|
827
867
|
}
|
|
828
868
|
}
|
|
829
869
|
|
package/src/types.ts
CHANGED