@gethashd/bytecave-browser 1.0.31 → 1.0.32

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.
@@ -6493,25 +6493,6 @@ var ByteCaveClient = class {
6493
6493
  * @param signer - Ethers signer for authorization (optional, but required for most nodes)
6494
6494
  */
6495
6495
  async store(data, mimeType, signer) {
6496
- if (!this.node) {
6497
- return { success: false, error: "P2P node not initialized" };
6498
- }
6499
- const allPeers = this.node.getPeers();
6500
- const connectedPeerIds = allPeers.map((p) => p.toString());
6501
- console.log("[ByteCave] Store - connected storage peers:", connectedPeerIds.length);
6502
- console.log("[ByteCave] Store - knownPeers with registration info:", this.knownPeers.size);
6503
- if (connectedPeerIds.length === 0) {
6504
- return { success: false, error: "No storage peers available" };
6505
- }
6506
- const registeredPeerIds = Array.from(this.knownPeers.values()).filter((p) => p.isRegistered && connectedPeerIds.includes(p.peerId)).map((p) => p.peerId);
6507
- const storagePeerIds = registeredPeerIds.length > 0 ? [...registeredPeerIds, ...connectedPeerIds.filter((id) => !registeredPeerIds.includes(id))] : connectedPeerIds;
6508
- console.log(
6509
- "[ByteCave] Store - peer order (registered first):",
6510
- storagePeerIds.map((id) => id.slice(0, 12)).join(", "),
6511
- "(registered:",
6512
- registeredPeerIds.length,
6513
- ")"
6514
- );
6515
6496
  const dataArray = data instanceof ArrayBuffer ? new Uint8Array(data) : data;
6516
6497
  const MAX_FILE_SIZE = 5 * 1024 * 1024;
6517
6498
  if (dataArray.length > MAX_FILE_SIZE) {
@@ -6579,7 +6560,18 @@ Nonce: ${nonce}`;
6579
6560
  console.warn("[ByteCave] WebSocket storage exception:", err.message);
6580
6561
  }
6581
6562
  }
6563
+ if (!this.node) {
6564
+ return { success: false, error: "WebSocket storage failed and P2P node not initialized" };
6565
+ }
6582
6566
  console.log("[ByteCave] Falling back to P2P storage");
6567
+ const allPeers = this.node.getPeers();
6568
+ const connectedPeerIds = allPeers.map((p) => p.toString());
6569
+ console.log("[ByteCave] Store - connected storage peers:", connectedPeerIds.length);
6570
+ if (connectedPeerIds.length === 0) {
6571
+ return { success: false, error: "WebSocket storage failed and no P2P peers available" };
6572
+ }
6573
+ const registeredPeerIds = Array.from(this.knownPeers.values()).filter((p) => p.isRegistered && connectedPeerIds.includes(p.peerId)).map((p) => p.peerId);
6574
+ const storagePeerIds = registeredPeerIds.length > 0 ? [...registeredPeerIds, ...connectedPeerIds.filter((id) => !registeredPeerIds.includes(id))] : connectedPeerIds;
6583
6575
  const errors = [];
6584
6576
  for (const peerId of storagePeerIds) {
6585
6577
  console.log("[ByteCave] Attempting P2P store to peer:", peerId.slice(0, 12) + "...");
package/dist/index.cjs CHANGED
@@ -6546,25 +6546,6 @@ var ByteCaveClient = class {
6546
6546
  * @param signer - Ethers signer for authorization (optional, but required for most nodes)
6547
6547
  */
6548
6548
  async store(data, mimeType, signer) {
6549
- if (!this.node) {
6550
- return { success: false, error: "P2P node not initialized" };
6551
- }
6552
- const allPeers = this.node.getPeers();
6553
- const connectedPeerIds = allPeers.map((p) => p.toString());
6554
- console.log("[ByteCave] Store - connected storage peers:", connectedPeerIds.length);
6555
- console.log("[ByteCave] Store - knownPeers with registration info:", this.knownPeers.size);
6556
- if (connectedPeerIds.length === 0) {
6557
- return { success: false, error: "No storage peers available" };
6558
- }
6559
- const registeredPeerIds = Array.from(this.knownPeers.values()).filter((p) => p.isRegistered && connectedPeerIds.includes(p.peerId)).map((p) => p.peerId);
6560
- const storagePeerIds = registeredPeerIds.length > 0 ? [...registeredPeerIds, ...connectedPeerIds.filter((id) => !registeredPeerIds.includes(id))] : connectedPeerIds;
6561
- console.log(
6562
- "[ByteCave] Store - peer order (registered first):",
6563
- storagePeerIds.map((id) => id.slice(0, 12)).join(", "),
6564
- "(registered:",
6565
- registeredPeerIds.length,
6566
- ")"
6567
- );
6568
6549
  const dataArray = data instanceof ArrayBuffer ? new Uint8Array(data) : data;
6569
6550
  const MAX_FILE_SIZE = 5 * 1024 * 1024;
6570
6551
  if (dataArray.length > MAX_FILE_SIZE) {
@@ -6632,7 +6613,18 @@ Nonce: ${nonce}`;
6632
6613
  console.warn("[ByteCave] WebSocket storage exception:", err.message);
6633
6614
  }
6634
6615
  }
6616
+ if (!this.node) {
6617
+ return { success: false, error: "WebSocket storage failed and P2P node not initialized" };
6618
+ }
6635
6619
  console.log("[ByteCave] Falling back to P2P storage");
6620
+ const allPeers = this.node.getPeers();
6621
+ const connectedPeerIds = allPeers.map((p) => p.toString());
6622
+ console.log("[ByteCave] Store - connected storage peers:", connectedPeerIds.length);
6623
+ if (connectedPeerIds.length === 0) {
6624
+ return { success: false, error: "WebSocket storage failed and no P2P peers available" };
6625
+ }
6626
+ const registeredPeerIds = Array.from(this.knownPeers.values()).filter((p) => p.isRegistered && connectedPeerIds.includes(p.peerId)).map((p) => p.peerId);
6627
+ const storagePeerIds = registeredPeerIds.length > 0 ? [...registeredPeerIds, ...connectedPeerIds.filter((id) => !registeredPeerIds.includes(id))] : connectedPeerIds;
6636
6628
  const errors = [];
6637
6629
  for (const peerId of storagePeerIds) {
6638
6630
  console.log("[ByteCave] Attempting P2P store to peer:", peerId.slice(0, 12) + "...");
package/dist/index.js CHANGED
@@ -13,7 +13,7 @@ import {
13
13
  useHashdImage,
14
14
  useHashdMedia,
15
15
  useHashdUrl
16
- } from "./chunk-LPLEL6EN.js";
16
+ } from "./chunk-KFAG3W6R.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-LPLEL6EN.js";
11
+ } from "../chunk-KFAG3W6R.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.31",
3
+ "version": "1.0.32",
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
@@ -425,35 +425,6 @@ export class ByteCaveClient {
425
425
  * @param signer - Ethers signer for authorization (optional, but required for most nodes)
426
426
  */
427
427
  async store(data: Uint8Array | ArrayBuffer, mimeType?: string, signer?: any): Promise<StoreResult> {
428
- if (!this.node) {
429
- return { success: false, error: 'P2P node not initialized' };
430
- }
431
-
432
- // Get all connected peers
433
- const allPeers = this.node.getPeers();
434
- const connectedPeerIds = allPeers.map(p => p.toString());
435
-
436
- console.log('[ByteCave] Store - connected storage peers:', connectedPeerIds.length);
437
- console.log('[ByteCave] Store - knownPeers with registration info:', this.knownPeers.size);
438
-
439
- if (connectedPeerIds.length === 0) {
440
- return { success: false, error: 'No storage peers available' };
441
- }
442
-
443
- // Prioritize registered peers from knownPeers (populated via floodsub announcements)
444
- // If no registered peers known yet, use all connected peers
445
- const registeredPeerIds = Array.from(this.knownPeers.values())
446
- .filter(p => p.isRegistered && connectedPeerIds.includes(p.peerId))
447
- .map(p => p.peerId);
448
-
449
- const storagePeerIds = registeredPeerIds.length > 0
450
- ? [...registeredPeerIds, ...connectedPeerIds.filter(id => !registeredPeerIds.includes(id))]
451
- : connectedPeerIds;
452
-
453
- console.log('[ByteCave] Store - peer order (registered first):',
454
- storagePeerIds.map(id => id.slice(0, 12)).join(', '),
455
- '(registered:', registeredPeerIds.length, ')');
456
-
457
428
  const dataArray = data instanceof ArrayBuffer ? new Uint8Array(data) : data;
458
429
 
459
430
  // Validate file size (5MB limit)
@@ -540,7 +511,31 @@ Nonce: ${nonce}`;
540
511
  }
541
512
 
542
513
  // Fallback to P2P storage
514
+ if (!this.node) {
515
+ return { success: false, error: 'WebSocket storage failed and P2P node not initialized' };
516
+ }
517
+
543
518
  console.log('[ByteCave] Falling back to P2P storage');
519
+
520
+ // Get all connected peers
521
+ const allPeers = this.node.getPeers();
522
+ const connectedPeerIds = allPeers.map(p => p.toString());
523
+
524
+ console.log('[ByteCave] Store - connected storage peers:', connectedPeerIds.length);
525
+
526
+ if (connectedPeerIds.length === 0) {
527
+ return { success: false, error: 'WebSocket storage failed and no P2P peers available' };
528
+ }
529
+
530
+ // Prioritize registered peers from knownPeers
531
+ const registeredPeerIds = Array.from(this.knownPeers.values())
532
+ .filter(p => p.isRegistered && connectedPeerIds.includes(p.peerId))
533
+ .map(p => p.peerId);
534
+
535
+ const storagePeerIds = registeredPeerIds.length > 0
536
+ ? [...registeredPeerIds, ...connectedPeerIds.filter(id => !registeredPeerIds.includes(id))]
537
+ : connectedPeerIds;
538
+
544
539
  const errors: string[] = [];
545
540
  for (const peerId of storagePeerIds) {
546
541
  console.log('[ByteCave] Attempting P2P store to peer:', peerId.slice(0, 12) + '...');