@gethashd/bytecave-browser 1.0.15 → 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):",
@@ -6677,7 +6680,12 @@ Nonce: ${nonce}`;
6677
6680
  blobCount: announcement.blobCount,
6678
6681
  timestamp: announcement.timestamp,
6679
6682
  multiaddrs: announcement.multiaddrs,
6680
- relayAddrs: announcement.relayAddrs || existing?.relayAddrs
6683
+ relayAddrs: announcement.relayAddrs || existing?.relayAddrs,
6684
+ // Store on-chain registration status
6685
+ registeredOnChain: announcement.registeredOnChain || false,
6686
+ onChainNodeId: announcement.onChainNodeId || existing?.onChainNodeId,
6687
+ // Store relay flag so we can filter out relays from storage attempts
6688
+ isRelay: announcement.isRelay || false
6681
6689
  };
6682
6690
  this.knownPeers.set(announcement.peerId, peerInfo);
6683
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):",
@@ -6730,7 +6733,12 @@ Nonce: ${nonce}`;
6730
6733
  blobCount: announcement.blobCount,
6731
6734
  timestamp: announcement.timestamp,
6732
6735
  multiaddrs: announcement.multiaddrs,
6733
- relayAddrs: announcement.relayAddrs || existing?.relayAddrs
6736
+ relayAddrs: announcement.relayAddrs || existing?.relayAddrs,
6737
+ // Store on-chain registration status
6738
+ registeredOnChain: announcement.registeredOnChain || false,
6739
+ onChainNodeId: announcement.onChainNodeId || existing?.onChainNodeId,
6740
+ // Store relay flag so we can filter out relays from storage attempts
6741
+ isRelay: announcement.isRelay || false
6734
6742
  };
6735
6743
  this.knownPeers.set(announcement.peerId, peerInfo);
6736
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-ZFKOXO6W.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-ZFKOXO6W.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.15",
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
@@ -881,7 +886,12 @@ Nonce: ${nonce}`;
881
886
  blobCount: announcement.blobCount,
882
887
  timestamp: announcement.timestamp,
883
888
  multiaddrs: announcement.multiaddrs,
884
- relayAddrs: announcement.relayAddrs || (existing as any)?.relayAddrs
889
+ relayAddrs: announcement.relayAddrs || (existing as any)?.relayAddrs,
890
+ // Store on-chain registration status
891
+ registeredOnChain: announcement.registeredOnChain || false,
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
885
895
  };
886
896
 
887
897
  this.knownPeers.set(announcement.peerId, peerInfo);