@peerbit/document-react 0.6.6-07ba572 → 0.6.6-0e16a6e

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.
@@ -1 +1 @@
1
- {"version":3,"file":"useQuery.d.ts","sourceRoot":"","sources":["../../src/useQuery.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useQuery.d.ts","sourceRoot":"","sources":["../../src/useQuery.tsx"],"names":[],"mappings":"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"}
@@ -7,7 +7,19 @@ import { v4 as uuid } from "uuid";
7
7
  * These errors can occur during component unmount when the database is closing.
8
8
  */
9
9
  const isBenignLifecycleError = (e) => {
10
- return e instanceof ClosedError || e instanceof NotStartedError;
10
+ if (e instanceof ClosedError || e instanceof NotStartedError) {
11
+ return true;
12
+ }
13
+ // During teardown we may see transport-layer lifecycle errors from other packages
14
+ // (e.g. RPC/pubsub) that should not crash the hook.
15
+ if (e && typeof e === "object") {
16
+ const name = e.name;
17
+ if (name === "AbortError")
18
+ return true;
19
+ if (name === "NotStartedError")
20
+ return true;
21
+ }
22
+ return false;
11
23
  };
12
24
  /* ────────────────────────── Main Hook ────────────────────────── */
13
25
  /**
@@ -38,7 +50,6 @@ dbOrDbs, options) => {
38
50
  const itemIdRef = useRef(new WeakMap());
39
51
  const emptyResultsRef = useRef(false);
40
52
  const closeControllerRef = useRef(null);
41
- const waitedOnceRef = useRef(false);
42
53
  const loadMoreRef = useRef(undefined);
43
54
  /* keep an id mostly for debugging – mirrors original behaviour */
44
55
  const [id, setId] = useState(options.id);
@@ -64,13 +75,17 @@ dbOrDbs, options) => {
64
75
  const mutateAll = (fn) => {
65
76
  updateAll(fn(allRef.current));
66
77
  };
67
- const reset = () => {
78
+ const disposeIterators = (reason) => {
68
79
  iteratorRefs.current?.forEach(({ iterator }) => iterator.close());
69
80
  iteratorRefs.current = [];
70
- closeControllerRef.current?.abort(new Error("Reset"));
81
+ // Abort any in-flight remote work (do not create new controllers here)
82
+ closeControllerRef.current?.abort(new Error(reason));
83
+ closeControllerRef.current = null;
84
+ };
85
+ const reset = () => {
86
+ disposeIterators("Reset");
71
87
  closeControllerRef.current = new AbortController();
72
88
  emptyResultsRef.current = false;
73
- waitedOnceRef.current = false;
74
89
  allRef.current = [];
75
90
  itemIdRef.current = new WeakMap();
76
91
  setAll([]);
@@ -169,12 +184,43 @@ dbOrDbs, options) => {
169
184
  }
170
185
  reset();
171
186
  const abortSignal = closeControllerRef.current?.signal;
187
+ const updatesOpt = options.updates;
188
+ const mergeEnabled = typeof updatesOpt === "boolean"
189
+ ? updatesOpt
190
+ : typeof updatesOpt === "string"
191
+ ? true
192
+ : typeof updatesOpt === "object" && !!updatesOpt.merge;
193
+ const pushEnabled = typeof updatesOpt === "boolean"
194
+ ? updatesOpt
195
+ : typeof updatesOpt === "string"
196
+ ? updatesOpt === "remote" || updatesOpt === "all"
197
+ : typeof updatesOpt === "object"
198
+ ? "push" in updatesOpt && updatesOpt.push != null
199
+ ? typeof updatesOpt.push === "number"
200
+ ? true
201
+ : !!updatesOpt.push
202
+ : mergeEnabled
203
+ : false;
204
+ const pushMode = typeof updatesOpt === "object" &&
205
+ updatesOpt != null &&
206
+ "push" in updatesOpt &&
207
+ updatesOpt.push != null
208
+ ? updatesOpt.push
209
+ : pushEnabled;
172
210
  const resolveRemoteOptions = () => {
173
211
  if (options.remote === false)
174
212
  return false;
175
213
  if (!options.remote)
176
214
  return undefined;
177
215
  if (typeof options.remote === "object") {
216
+ if (options.remote.wait == null) {
217
+ return {
218
+ ...options.remote,
219
+ wait: {
220
+ timeout: 5000,
221
+ },
222
+ };
223
+ }
178
224
  return {
179
225
  ...options.remote,
180
226
  wait: {
@@ -241,19 +287,18 @@ dbOrDbs, options) => {
241
287
  resolve,
242
288
  signal: abortSignal,
243
289
  updates: {
244
- push: typeof options.updates === "boolean"
245
- ? options.updates
246
- : typeof options.updates === "object" && options.updates.push
247
- ? true
248
- : false,
249
- merge: typeof options.updates === "boolean" && options.updates
250
- ? true
251
- : typeof options.updates === "object" && options.updates.merge
252
- ? true
253
- : false,
290
+ push: pushMode,
291
+ merge: mergeEnabled,
254
292
  notify: (reason) => {
255
293
  log("notify", { reason, currentRef: !!currentRef });
256
294
  if (reason === "change" || reason === "push" || reason === "join") {
295
+ // Keep "pull-first" semantics for remote-driven updates until the user
296
+ // starts reading results (or enables `prefetch`). Local changes should
297
+ // still surface immediately.
298
+ const remoteDriven = reason === "join" || reason === "push";
299
+ if (remoteDriven && !options.prefetch && allRef.current.length === 0) {
300
+ return;
301
+ }
257
302
  const drainAmount = options.batchSize ?? 10;
258
303
  scheduleDrain(iterator, drainAmount, {
259
304
  force: true,
@@ -288,6 +333,45 @@ dbOrDbs, options) => {
288
333
  /* prefetch if requested */
289
334
  if (options.prefetch)
290
335
  void loadMore();
336
+ const onDbClose = () => {
337
+ // If the underlying Program is closed while a remote query is in-flight,
338
+ // ensure we abort any pending remote work so hook consumers don't hang.
339
+ try {
340
+ disposeIterators("DB closed");
341
+ }
342
+ catch {
343
+ // ignore
344
+ }
345
+ try {
346
+ setIsLoading(false);
347
+ }
348
+ catch {
349
+ // ignore
350
+ }
351
+ };
352
+ for (const db of openDbs) {
353
+ try {
354
+ db.events?.addEventListener?.("close", onDbClose);
355
+ db.events?.addEventListener?.("drop", onDbClose);
356
+ }
357
+ catch {
358
+ // ignore
359
+ }
360
+ }
361
+ return () => {
362
+ for (const db of openDbs) {
363
+ try {
364
+ db.events?.removeEventListener?.("close", onDbClose);
365
+ db.events?.removeEventListener?.("drop", onDbClose);
366
+ }
367
+ catch {
368
+ // ignore
369
+ }
370
+ }
371
+ // Ensure we stop iterators + remote work on unmount / dependency changes,
372
+ // otherwise background replication/push can keep running and leak memory.
373
+ disposeIterators("Unmount");
374
+ };
291
375
  // eslint-disable-next-line react-hooks/exhaustive-deps
292
376
  }, [
293
377
  dbs.map((d, idx) => getDbKey(d) ?? `idx:${idx}`).join("|"),
@@ -300,16 +384,6 @@ dbOrDbs, options) => {
300
384
  ]);
301
385
  /* ────────────── loadMore implementation ────────────── */
302
386
  const batchSize = options.batchSize ?? 10;
303
- const shouldWait = () => {
304
- if (waitedOnceRef.current)
305
- return false;
306
- if (options.remote === false)
307
- return false;
308
- return true; // mimic original behaviour – wait once if remote allowed
309
- };
310
- const markWaited = () => {
311
- waitedOnceRef.current = true;
312
- };
313
387
  /* helper to turn primitive ids into stable map keys */
314
388
  const idToKey = (value) => {
315
389
  switch (typeof value) {
@@ -500,42 +574,13 @@ dbOrDbs, options) => {
500
574
  });
501
575
  return false;
502
576
  }
503
- if (emptyResultsRef.current && !opts?.force) {
504
- log("Skipping loadMore due to empty state");
505
- return false;
506
- }
507
- else if (opts?.force) {
577
+ // Iterators are kept alive (`closePolicy: "manual"`). After hitting "empty",
578
+ // new remote/local updates can make them yield again, so allow polling.
579
+ if (emptyResultsRef.current) {
508
580
  emptyResultsRef.current = false;
509
581
  }
510
582
  setIsLoading(true);
511
583
  try {
512
- /* one-time replicator warm-up across all DBs */
513
- if (shouldWait()) {
514
- /* if (
515
- typeof options.remote === "object" &&
516
- options.remote.wait
517
- ) {
518
- await Promise.all(
519
- iterators.map(async ({ db }) => {
520
- try {
521
- await db.log.waitForReplicators({
522
- timeout: (options.remote as { warmup })
523
- .warmup,
524
- signal: closeControllerRef.current?.signal,
525
- });
526
- } catch (e) {
527
- if (
528
- e instanceof AbortError ||
529
- e instanceof NoPeersError
530
- )
531
- return;
532
- console.warn("Remote replicators not ready", e);
533
- }
534
- })
535
- );
536
- }*/
537
- markWaited();
538
- }
539
584
  return drainRoundRobin(iterators, n, opts?.reason ?? "batch");
540
585
  }
541
586
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"useQuery.js","sourceRoot":"","sources":["../../src/useQuery.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useQuery.js","sourceRoot":"","sources":["../../src/useQuery.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peerbit/document-react",
3
- "version": "0.6.6-07ba572",
3
+ "version": "0.6.6-0e16a6e",
4
4
  "description": "React hooks for @peerbit/document",
5
5
  "sideEffects": false,
6
6
  "type": "module",
@@ -41,24 +41,26 @@
41
41
  "react": "^18.0.0 || ^19.0.0"
42
42
  },
43
43
  "dependencies": {
44
- "@peerbit/document": "12.3.5-07ba572",
45
- "@peerbit/indexer-interface": "2.1.1-07ba572",
46
- "@peerbit/react": "0.2.3-07ba572",
47
- "@peerbit/logger": "2.0.0-07ba572",
44
+ "@peerbit/document": "12.3.5-0e16a6e",
45
+ "@peerbit/indexer-interface": "2.1.1-0e16a6e",
46
+ "@peerbit/react": "0.2.3-0e16a6e",
47
+ "@peerbit/logger": "2.0.0-0e16a6e",
48
48
  "uuid": "^10.0.0"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@dao-xyz/borsh": "^6.0.0",
52
- "@peerbit/blocks-interface": "1.5.2-07ba572",
53
- "@peerbit/program": "5.6.3-07ba572",
54
- "@peerbit/shared-log": "12.3.5-07ba572",
52
+ "@peerbit/blocks-interface": "1.5.2-0e16a6e",
53
+ "@peerbit/indexer-simple": "1.2.2-0e16a6e",
54
+ "@peerbit/program": "5.6.3-0e16a6e",
55
+ "@peerbit/test-utils": "2.3.19-0e16a6e",
56
+ "@peerbit/shared-log": "12.3.5-0e16a6e",
55
57
  "@testing-library/dom": "^10.4.0",
56
58
  "@testing-library/react": "^16.1.0",
57
59
  "@types/react": "^19.2.4",
58
60
  "@types/react-dom": "^19.2.3",
59
61
  "@types/libsodium-wrappers": "^0.7.14",
60
62
  "libsodium-wrappers": "0.7.15",
61
- "peerbit": "4.4.19-07ba572",
63
+ "peerbit": "4.4.19-0e16a6e",
62
64
  "react-dom": "^19.0.0",
63
65
  "happy-dom": "^20.0.10",
64
66
  "vitest": "^4.0.12"
package/src/useQuery.tsx CHANGED
@@ -23,7 +23,17 @@ import { v4 as uuid } from "uuid";
23
23
  * These errors can occur during component unmount when the database is closing.
24
24
  */
25
25
  const isBenignLifecycleError = (e: unknown): boolean => {
26
- return e instanceof ClosedError || e instanceof NotStartedError;
26
+ if (e instanceof ClosedError || e instanceof NotStartedError) {
27
+ return true;
28
+ }
29
+ // During teardown we may see transport-layer lifecycle errors from other packages
30
+ // (e.g. RPC/pubsub) that should not crash the hook.
31
+ if (e && typeof e === "object") {
32
+ const name = (e as any).name;
33
+ if (name === "AbortError") return true;
34
+ if (name === "NotStartedError") return true;
35
+ }
36
+ return false;
27
37
  };
28
38
 
29
39
  type QueryOptions = { query: QueryLike; id?: string };
@@ -155,7 +165,6 @@ export const useQuery = <
155
165
  const itemIdRef = useRef(new WeakMap<object, string>());
156
166
  const emptyResultsRef = useRef(false);
157
167
  const closeControllerRef = useRef<AbortController | null>(null);
158
- const waitedOnceRef = useRef(false);
159
168
  const loadMoreRef = useRef<LoadMoreFn | undefined>(undefined);
160
169
 
161
170
  /* keep an id mostly for debugging – mirrors original behaviour */
@@ -186,14 +195,19 @@ export const useQuery = <
186
195
  updateAll(fn(allRef.current));
187
196
  };
188
197
 
189
- const reset = () => {
198
+ const disposeIterators = (reason: string) => {
190
199
  iteratorRefs.current?.forEach(({ iterator }) => iterator.close());
191
200
  iteratorRefs.current = [];
192
201
 
193
- closeControllerRef.current?.abort(new Error("Reset"));
202
+ // Abort any in-flight remote work (do not create new controllers here)
203
+ closeControllerRef.current?.abort(new Error(reason));
204
+ closeControllerRef.current = null;
205
+ };
206
+
207
+ const reset = () => {
208
+ disposeIterators("Reset");
194
209
  closeControllerRef.current = new AbortController();
195
210
  emptyResultsRef.current = false;
196
- waitedOnceRef.current = false;
197
211
 
198
212
  allRef.current = [];
199
213
  itemIdRef.current = new WeakMap();
@@ -303,10 +317,46 @@ export const useQuery = <
303
317
 
304
318
  reset();
305
319
  const abortSignal = closeControllerRef.current?.signal;
320
+
321
+ const updatesOpt = options.updates;
322
+ const mergeEnabled =
323
+ typeof updatesOpt === "boolean"
324
+ ? updatesOpt
325
+ : typeof updatesOpt === "string"
326
+ ? true
327
+ : typeof updatesOpt === "object" && !!updatesOpt.merge;
328
+ const pushEnabled =
329
+ typeof updatesOpt === "boolean"
330
+ ? updatesOpt
331
+ : typeof updatesOpt === "string"
332
+ ? updatesOpt === "remote" || updatesOpt === "all"
333
+ : typeof updatesOpt === "object"
334
+ ? "push" in updatesOpt && updatesOpt.push != null
335
+ ? typeof updatesOpt.push === "number"
336
+ ? true
337
+ : !!updatesOpt.push
338
+ : mergeEnabled
339
+ : false;
340
+ const pushMode =
341
+ typeof updatesOpt === "object" &&
342
+ updatesOpt != null &&
343
+ "push" in updatesOpt &&
344
+ updatesOpt.push != null
345
+ ? updatesOpt.push
346
+ : pushEnabled;
347
+
306
348
  const resolveRemoteOptions = () => {
307
349
  if (options.remote === false) return false;
308
350
  if (!options.remote) return undefined;
309
351
  if (typeof options.remote === "object") {
352
+ if (options.remote.wait == null) {
353
+ return {
354
+ ...options.remote,
355
+ wait: {
356
+ timeout: 5000,
357
+ },
358
+ };
359
+ }
310
360
  return {
311
361
  ...options.remote,
312
362
  wait: {
@@ -370,7 +420,7 @@ export const useQuery = <
370
420
  .finally(() => {
371
421
  draining = false;
372
422
  });
373
- };
423
+ };
374
424
 
375
425
  iteratorRefs.current = openDbs.map((db) => {
376
426
  let currentRef: IteratorRef | undefined;
@@ -382,21 +432,19 @@ export const useQuery = <
382
432
  resolve,
383
433
  signal: abortSignal,
384
434
  updates: {
385
- push:
386
- typeof options.updates === "boolean"
387
- ? options.updates
388
- : typeof options.updates === "object" && options.updates.push
389
- ? true
390
- : false,
391
- merge:
392
- typeof options.updates === "boolean" && options.updates
393
- ? true
394
- : typeof options.updates === "object" && options.updates.merge
395
- ? true
396
- : false,
435
+ push: pushMode,
436
+ merge: mergeEnabled,
397
437
  notify: (reason) => {
398
438
  log("notify", { reason, currentRef: !!currentRef });
399
439
  if (reason === "change" || reason === "push" || reason === "join") {
440
+ // Keep "pull-first" semantics for remote-driven updates until the user
441
+ // starts reading results (or enables `prefetch`). Local changes should
442
+ // still surface immediately.
443
+ const remoteDriven = reason === "join" || reason === "push";
444
+ if (remoteDriven && !options.prefetch && allRef.current.length === 0) {
445
+ return;
446
+ }
447
+
400
448
  const drainAmount = options.batchSize ?? 10;
401
449
  scheduleDrain(iterator as ResultsIterator<RT>, drainAmount, {
402
450
  force: true,
@@ -439,12 +487,49 @@ export const useQuery = <
439
487
  /* store a deterministic id (useful for external keys) */
440
488
  setId(uuid());
441
489
 
442
- /* prefetch if requested */
443
- if (options.prefetch) void loadMore();
444
- // eslint-disable-next-line react-hooks/exhaustive-deps
445
- }, [
446
- dbs.map((d, idx) => getDbKey(d) ?? `idx:${idx}`).join("|"),
447
- options.query,
490
+ /* prefetch if requested */
491
+ if (options.prefetch) void loadMore();
492
+
493
+ const onDbClose = () => {
494
+ // If the underlying Program is closed while a remote query is in-flight,
495
+ // ensure we abort any pending remote work so hook consumers don't hang.
496
+ try {
497
+ disposeIterators("DB closed");
498
+ } catch {
499
+ // ignore
500
+ }
501
+ try {
502
+ setIsLoading(false);
503
+ } catch {
504
+ // ignore
505
+ }
506
+ };
507
+ for (const db of openDbs) {
508
+ try {
509
+ db.events?.addEventListener?.("close" as any, onDbClose as any);
510
+ db.events?.addEventListener?.("drop" as any, onDbClose as any);
511
+ } catch {
512
+ // ignore
513
+ }
514
+ }
515
+
516
+ return () => {
517
+ for (const db of openDbs) {
518
+ try {
519
+ db.events?.removeEventListener?.("close" as any, onDbClose as any);
520
+ db.events?.removeEventListener?.("drop" as any, onDbClose as any);
521
+ } catch {
522
+ // ignore
523
+ }
524
+ }
525
+ // Ensure we stop iterators + remote work on unmount / dependency changes,
526
+ // otherwise background replication/push can keep running and leak memory.
527
+ disposeIterators("Unmount");
528
+ };
529
+ // eslint-disable-next-line react-hooks/exhaustive-deps
530
+ }, [
531
+ dbs.map((d, idx) => getDbKey(d) ?? `idx:${idx}`).join("|"),
532
+ options.query,
448
533
  options.resolve,
449
534
  options.reverse,
450
535
  options.batchSize,
@@ -455,16 +540,6 @@ export const useQuery = <
455
540
  /* ────────────── loadMore implementation ────────────── */
456
541
  const batchSize = options.batchSize ?? 10;
457
542
 
458
- const shouldWait = (): boolean => {
459
- if (waitedOnceRef.current) return false;
460
- if (options.remote === false) return false;
461
- return true; // mimic original behaviour – wait once if remote allowed
462
- };
463
-
464
- const markWaited = () => {
465
- waitedOnceRef.current = true;
466
- };
467
-
468
543
  /* helper to turn primitive ids into stable map keys */
469
544
  const idToKey = (value: indexerTypes.IdPrimitive): string => {
470
545
  switch (typeof value) {
@@ -698,43 +773,14 @@ export const useQuery = <
698
773
  });
699
774
  return false;
700
775
  }
701
- if (emptyResultsRef.current && !opts?.force) {
702
- log("Skipping loadMore due to empty state");
703
- return false;
704
- } else if (opts?.force) {
776
+ // Iterators are kept alive (`closePolicy: "manual"`). After hitting "empty",
777
+ // new remote/local updates can make them yield again, so allow polling.
778
+ if (emptyResultsRef.current) {
705
779
  emptyResultsRef.current = false;
706
780
  }
707
781
 
708
782
  setIsLoading(true);
709
783
  try {
710
- /* one-time replicator warm-up across all DBs */
711
- if (shouldWait()) {
712
- /* if (
713
- typeof options.remote === "object" &&
714
- options.remote.wait
715
- ) {
716
- await Promise.all(
717
- iterators.map(async ({ db }) => {
718
- try {
719
- await db.log.waitForReplicators({
720
- timeout: (options.remote as { warmup })
721
- .warmup,
722
- signal: closeControllerRef.current?.signal,
723
- });
724
- } catch (e) {
725
- if (
726
- e instanceof AbortError ||
727
- e instanceof NoPeersError
728
- )
729
- return;
730
- console.warn("Remote replicators not ready", e);
731
- }
732
- })
733
- );
734
- }*/
735
- markWaited();
736
- }
737
-
738
784
  return drainRoundRobin(iterators, n, opts?.reason ?? "batch");
739
785
  } catch (e) {
740
786
  if (!isBenignLifecycleError(e)) throw e;