@le-space/orbitdb-storage-bridge 0.14.0 → 0.14.1

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/README.md CHANGED
@@ -329,3 +329,20 @@ and how to run each suite.
329
329
  ## License
330
330
 
331
331
  MIT License
332
+
333
+ ## Trademarks
334
+
335
+ LoRa® is a trademark of Semtech Corporation. Meshtastic® is a registered
336
+ trademark of Meshtastic LLC. Other names used here — OrbitDB, IPFS, Filecoin,
337
+ Storacha, Pinata, Lighthouse, Aleph — belong to their respective owners and
338
+ appear only to say what this package interoperates with. This project is not
339
+ affiliated with or endorsed by any of them.
340
+
341
+ The first two appear in this repository only in prose about what the courier
342
+ seam is *for*: `courier-sync` is transport-neutral and this package contains no
343
+ code from either project and depends on neither. That is deliberate rather than
344
+ incidental. The Meshtastic client libraries (`@meshtastic/core`,
345
+ `@meshtastic/transport-web-bluetooth`) are **GPL-3.0-only**, and the courier
346
+ that drives them lives in [funkpost](https://github.com/NiKrause/funkpost), on
347
+ the GPL side of that line. This package is MIT and stays that way; the door
348
+ only opens one way.
@@ -192,6 +192,18 @@ async function reachableFrom(db, roots) {
192
192
  const hash = queue.shift();
193
193
  if (held.has(hash)) continue;
194
194
  held.add(hash);
195
+ // The index first, and only then the blocks. `IPFSBlockStorage.get` on a
196
+ // miss waits out a network timeout — measured at 20 s against a Helia node
197
+ // with no peers, which is every phone in the field — and the peer's heads
198
+ // are precisely where misses live: their newest entry is the one we have
199
+ // not got. `has` reads the log's index and answers at once.
200
+ //
201
+ // The rule is already written down twenty lines below, in the closure
202
+ // check, and this walk broke it: 0.14.0 built correct deltas and took
203
+ // twenty seconds to do it, which stalled the exchange past every timeout
204
+ // around it (funkpost#170). The suite could not see it, because its nodes
205
+ // are built offline and a miss there fails instantly.
206
+ if (!(await db.log.has(hash))) continue; // theirs, not ours: stop here
195
207
  const bytes = await db.log.storage.get(hash).catch(() => null);
196
208
  if (!bytes) continue; // not ours to follow; their ancestry ends here for us
197
209
  let value;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@le-space/orbitdb-storage-bridge",
3
- "version": "0.14.0",
3
+ "version": "0.14.1",
4
4
  "description": "Back up, restore and replicate OrbitDB databases through pluggable storage backends, with hash and identity preservation",
5
5
  "main": "lib/orbitdb-storacha-bridge.js",
6
6
  "svelte": "dist/components/",