@gethashd/bytecave-browser 1.0.16 → 1.0.17

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.
@@ -6321,13 +6321,16 @@ var ByteCaveClient = class {
6321
6321
  return { success: false, error: "P2P node not initialized" };
6322
6322
  }
6323
6323
  const allPeers = this.node.getPeers();
6324
- const connectedPeerIds = allPeers.map((p) => p.toString());
6324
+ const connectedPeerIds = allPeers.map((p) => p.toString()).filter((peerId) => {
6325
+ const peerInfo = this.knownPeers.get(peerId);
6326
+ return !peerInfo?.isRelay;
6327
+ });
6325
6328
  console.log("[ByteCave] Store - connected storage peers:", connectedPeerIds.length);
6326
6329
  console.log("[ByteCave] Store - knownPeers with registration info:", this.knownPeers.size);
6327
6330
  if (connectedPeerIds.length === 0) {
6328
6331
  return { success: false, error: "No storage peers available" };
6329
6332
  }
6330
- const registeredPeerIds = Array.from(this.knownPeers.values()).filter((p) => p.isRegistered && connectedPeerIds.includes(p.peerId)).map((p) => p.peerId);
6333
+ const registeredPeerIds = Array.from(this.knownPeers.values()).filter((p) => p.isRegistered && !p.isRelay && connectedPeerIds.includes(p.peerId)).map((p) => p.peerId);
6331
6334
  const storagePeerIds = registeredPeerIds.length > 0 ? [...registeredPeerIds, ...connectedPeerIds.filter((id) => !registeredPeerIds.includes(id))] : connectedPeerIds;
6332
6335
  console.log(
6333
6336
  "[ByteCave] Store - peer order (registered first):",
@@ -6680,7 +6683,9 @@ Nonce: ${nonce}`;
6680
6683
  relayAddrs: announcement.relayAddrs || existing?.relayAddrs,
6681
6684
  // Store on-chain registration status
6682
6685
  registeredOnChain: announcement.registeredOnChain || false,
6683
- onChainNodeId: announcement.onChainNodeId || existing?.onChainNodeId
6686
+ onChainNodeId: announcement.onChainNodeId || existing?.onChainNodeId,
6687
+ // Store relay flag so we can filter out relays from storage attempts
6688
+ isRelay: announcement.isRelay || false
6684
6689
  };
6685
6690
  this.knownPeers.set(announcement.peerId, peerInfo);
6686
6691
  this.emit("peerAnnounce", peerInfo);
package/dist/index.cjs CHANGED
@@ -6374,13 +6374,16 @@ var ByteCaveClient = class {
6374
6374
  return { success: false, error: "P2P node not initialized" };
6375
6375
  }
6376
6376
  const allPeers = this.node.getPeers();
6377
- const connectedPeerIds = allPeers.map((p) => p.toString());
6377
+ const connectedPeerIds = allPeers.map((p) => p.toString()).filter((peerId) => {
6378
+ const peerInfo = this.knownPeers.get(peerId);
6379
+ return !peerInfo?.isRelay;
6380
+ });
6378
6381
  console.log("[ByteCave] Store - connected storage peers:", connectedPeerIds.length);
6379
6382
  console.log("[ByteCave] Store - knownPeers with registration info:", this.knownPeers.size);
6380
6383
  if (connectedPeerIds.length === 0) {
6381
6384
  return { success: false, error: "No storage peers available" };
6382
6385
  }
6383
- const registeredPeerIds = Array.from(this.knownPeers.values()).filter((p) => p.isRegistered && connectedPeerIds.includes(p.peerId)).map((p) => p.peerId);
6386
+ const registeredPeerIds = Array.from(this.knownPeers.values()).filter((p) => p.isRegistered && !p.isRelay && connectedPeerIds.includes(p.peerId)).map((p) => p.peerId);
6384
6387
  const storagePeerIds = registeredPeerIds.length > 0 ? [...registeredPeerIds, ...connectedPeerIds.filter((id) => !registeredPeerIds.includes(id))] : connectedPeerIds;
6385
6388
  console.log(
6386
6389
  "[ByteCave] Store - peer order (registered first):",
@@ -6733,7 +6736,9 @@ Nonce: ${nonce}`;
6733
6736
  relayAddrs: announcement.relayAddrs || existing?.relayAddrs,
6734
6737
  // Store on-chain registration status
6735
6738
  registeredOnChain: announcement.registeredOnChain || false,
6736
- onChainNodeId: announcement.onChainNodeId || existing?.onChainNodeId
6739
+ onChainNodeId: announcement.onChainNodeId || existing?.onChainNodeId,
6740
+ // Store relay flag so we can filter out relays from storage attempts
6741
+ isRelay: announcement.isRelay || false
6737
6742
  };
6738
6743
  this.knownPeers.set(announcement.peerId, peerInfo);
6739
6744
  this.emit("peerAnnounce", peerInfo);
package/dist/index.js CHANGED
@@ -13,7 +13,7 @@ import {
13
13
  useHashdImage,
14
14
  useHashdMedia,
15
15
  useHashdUrl
16
- } from "./chunk-OS5QOU7R.js";
16
+ } from "./chunk-7ARBKXC6.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-OS5QOU7R.js";
11
+ } from "../chunk-7ARBKXC6.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.16",
3
+ "version": "1.0.17",
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
@@ -427,9 +427,14 @@ export class ByteCaveClient {
427
427
  return { success: false, error: 'P2P node not initialized' };
428
428
  }
429
429
 
430
- // Get all connected peers
430
+ // Get all connected peers, excluding relay peers (they don't support storage)
431
431
  const allPeers = this.node.getPeers();
432
- const connectedPeerIds = allPeers.map(p => p.toString());
432
+ const connectedPeerIds = allPeers.map(p => p.toString())
433
+ .filter(peerId => {
434
+ const peerInfo = this.knownPeers.get(peerId) as any;
435
+ // Filter out relay peers - they announce with isRelay: true
436
+ return !peerInfo?.isRelay;
437
+ });
433
438
 
434
439
  console.log('[ByteCave] Store - connected storage peers:', connectedPeerIds.length);
435
440
  console.log('[ByteCave] Store - knownPeers with registration info:', this.knownPeers.size);
@@ -441,7 +446,7 @@ export class ByteCaveClient {
441
446
  // Prioritize registered peers from knownPeers (populated via floodsub announcements)
442
447
  // If no registered peers known yet, use all connected peers
443
448
  const registeredPeerIds = Array.from(this.knownPeers.values())
444
- .filter(p => p.isRegistered && connectedPeerIds.includes(p.peerId))
449
+ .filter(p => p.isRegistered && !(p as any).isRelay && connectedPeerIds.includes(p.peerId))
445
450
  .map(p => p.peerId);
446
451
 
447
452
  const storagePeerIds = registeredPeerIds.length > 0
@@ -884,7 +889,9 @@ Nonce: ${nonce}`;
884
889
  relayAddrs: announcement.relayAddrs || (existing as any)?.relayAddrs,
885
890
  // Store on-chain registration status
886
891
  registeredOnChain: announcement.registeredOnChain || false,
887
- onChainNodeId: announcement.onChainNodeId || (existing as any)?.onChainNodeId
892
+ onChainNodeId: announcement.onChainNodeId || (existing as any)?.onChainNodeId,
893
+ // Store relay flag so we can filter out relays from storage attempts
894
+ isRelay: announcement.isRelay || false
888
895
  };
889
896
 
890
897
  this.knownPeers.set(announcement.peerId, peerInfo);