@gethashd/bytecave-browser 1.0.53 → 1.0.54

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.
@@ -6616,6 +6616,9 @@ var ByteCaveClient = class {
6616
6616
  connectedPeers: connectedPeers.length,
6617
6617
  discoveredPeers: this.knownPeers.size
6618
6618
  });
6619
+ setTimeout(() => {
6620
+ this.dialCachedPeers();
6621
+ }, 2e3);
6619
6622
  } catch (error) {
6620
6623
  this.setConnectionState("error");
6621
6624
  console.error("Failed to start ByteCave client:", error);
@@ -7214,6 +7217,25 @@ Nonce: ${nonce}`;
7214
7217
  console.warn("[ByteCave] Failed to load cached peers:", error);
7215
7218
  }
7216
7219
  }
7220
+ /**
7221
+ * Dial all cached peers (used on startup when relay might be down)
7222
+ */
7223
+ async dialCachedPeers() {
7224
+ console.log("[ByteCave] Dialing", this.knownPeers.size, "cached peers...");
7225
+ for (const [peerId, peerInfo] of this.knownPeers) {
7226
+ if (peerInfo.connected) {
7227
+ continue;
7228
+ }
7229
+ const relayAddrs = peerInfo.relayAddrs;
7230
+ const multiaddrs = peerInfo.multiaddrs;
7231
+ if (relayAddrs || multiaddrs) {
7232
+ this.dialPeer(peerId, relayAddrs, multiaddrs).catch((err) => {
7233
+ console.warn("[ByteCave] Failed to dial cached peer:", peerId.slice(0, 12), err.message);
7234
+ });
7235
+ await new Promise((resolve) => setTimeout(resolve, 500));
7236
+ }
7237
+ }
7238
+ }
7217
7239
  /**
7218
7240
  * Save known peers to localStorage
7219
7241
  */
package/dist/client.d.ts CHANGED
@@ -106,6 +106,10 @@ export declare class ByteCaveClient {
106
106
  * Load cached peers from localStorage
107
107
  */
108
108
  private loadCachedPeers;
109
+ /**
110
+ * Dial all cached peers (used on startup when relay might be down)
111
+ */
112
+ private dialCachedPeers;
109
113
  /**
110
114
  * Save known peers to localStorage
111
115
  */
package/dist/index.cjs CHANGED
@@ -6669,6 +6669,9 @@ var ByteCaveClient = class {
6669
6669
  connectedPeers: connectedPeers.length,
6670
6670
  discoveredPeers: this.knownPeers.size
6671
6671
  });
6672
+ setTimeout(() => {
6673
+ this.dialCachedPeers();
6674
+ }, 2e3);
6672
6675
  } catch (error) {
6673
6676
  this.setConnectionState("error");
6674
6677
  console.error("Failed to start ByteCave client:", error);
@@ -7267,6 +7270,25 @@ Nonce: ${nonce}`;
7267
7270
  console.warn("[ByteCave] Failed to load cached peers:", error);
7268
7271
  }
7269
7272
  }
7273
+ /**
7274
+ * Dial all cached peers (used on startup when relay might be down)
7275
+ */
7276
+ async dialCachedPeers() {
7277
+ console.log("[ByteCave] Dialing", this.knownPeers.size, "cached peers...");
7278
+ for (const [peerId, peerInfo] of this.knownPeers) {
7279
+ if (peerInfo.connected) {
7280
+ continue;
7281
+ }
7282
+ const relayAddrs = peerInfo.relayAddrs;
7283
+ const multiaddrs = peerInfo.multiaddrs;
7284
+ if (relayAddrs || multiaddrs) {
7285
+ this.dialPeer(peerId, relayAddrs, multiaddrs).catch((err) => {
7286
+ console.warn("[ByteCave] Failed to dial cached peer:", peerId.slice(0, 12), err.message);
7287
+ });
7288
+ await new Promise((resolve) => setTimeout(resolve, 500));
7289
+ }
7290
+ }
7291
+ }
7270
7292
  /**
7271
7293
  * Save known peers to localStorage
7272
7294
  */
package/dist/index.js CHANGED
@@ -13,7 +13,7 @@ import {
13
13
  useHashdImage,
14
14
  useHashdMedia,
15
15
  useHashdUrl
16
- } from "./chunk-WGSX425G.js";
16
+ } from "./chunk-DKRX4RFS.js";
17
17
  import {
18
18
  clearHashdCache,
19
19
  createHashdUrl,
@@ -8,7 +8,7 @@ import {
8
8
  useHashdImage,
9
9
  useHashdMedia,
10
10
  useHashdUrl
11
- } from "../chunk-WGSX425G.js";
11
+ } from "../chunk-DKRX4RFS.js";
12
12
  import "../chunk-EEZWRIUI.js";
13
13
  export {
14
14
  HashdAudio,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gethashd/bytecave-browser",
3
- "version": "1.0.53",
3
+ "version": "1.0.54",
4
4
  "description": "ByteCave browser client for WebRTC P2P connections to storage nodes",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.js",
package/src/client.ts CHANGED
@@ -334,6 +334,11 @@ export class ByteCaveClient {
334
334
  discoveredPeers: this.knownPeers.size
335
335
  });
336
336
 
337
+ // Dial cached peers after startup (important when relay is down)
338
+ setTimeout(() => {
339
+ this.dialCachedPeers();
340
+ }, 2000); // Wait 2s for node to fully initialize
341
+
337
342
  } catch (error) {
338
343
  this.setConnectionState('error');
339
344
  console.error('Failed to start ByteCave client:', error);
@@ -1080,6 +1085,32 @@ Nonce: ${nonce}`;
1080
1085
  }
1081
1086
  }
1082
1087
 
1088
+ /**
1089
+ * Dial all cached peers (used on startup when relay might be down)
1090
+ */
1091
+ private async dialCachedPeers(): Promise<void> {
1092
+ console.log('[ByteCave] Dialing', this.knownPeers.size, 'cached peers...');
1093
+
1094
+ for (const [peerId, peerInfo] of this.knownPeers) {
1095
+ // Skip if already connected
1096
+ if (peerInfo.connected) {
1097
+ continue;
1098
+ }
1099
+
1100
+ const relayAddrs = (peerInfo as any).relayAddrs;
1101
+ const multiaddrs = peerInfo.multiaddrs;
1102
+
1103
+ if (relayAddrs || multiaddrs) {
1104
+ this.dialPeer(peerId, relayAddrs, multiaddrs).catch(err => {
1105
+ console.warn('[ByteCave] Failed to dial cached peer:', peerId.slice(0, 12), err.message);
1106
+ });
1107
+
1108
+ // Stagger dials to avoid overwhelming the network
1109
+ await new Promise(resolve => setTimeout(resolve, 500));
1110
+ }
1111
+ }
1112
+ }
1113
+
1083
1114
  /**
1084
1115
  * Save known peers to localStorage
1085
1116
  */