@peerbit/react 0.0.18 → 0.0.19

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,4 +1,4 @@
1
- export { PeerProvider, PeerContext, usePeer, ClientBusyError, } from "./usePeer.js";
1
+ export { PeerProvider, PeerContext, usePeer, ClientBusyError, type NetworkOption, } from "./usePeer.js";
2
2
  export * from "./utils.js";
3
3
  export { FastMutex } from "./lockstorage.js";
4
4
  export { useProgram } from "./useProgram.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,WAAW,EACX,OAAO,EACP,eAAe,GAClB,MAAM,cAAc,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,WAAW,EACX,OAAO,EACP,eAAe,GAElB,MAAM,cAAc,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC"}
@@ -35,12 +35,15 @@ type IFrameOptions = {
35
35
  type: "proxy";
36
36
  targetOrigin: string;
37
37
  };
38
+ export type NetworkOption = {
39
+ type: "local" | "remote";
40
+ bootstrap?: (Multiaddr | string)[];
41
+ };
38
42
  type NodeOptions = {
39
43
  type?: "node";
40
- network: "local" | "remote";
44
+ network: "local" | "remote" | NetworkOption;
41
45
  waitForConnnected?: boolean;
42
46
  keypair?: Ed25519Keypair;
43
- bootstrap?: (Multiaddr | string)[];
44
47
  host?: boolean;
45
48
  singleton?: boolean;
46
49
  };
@@ -1,8 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import React, { useContext } from "react";
3
3
  import { Peerbit } from "peerbit";
4
- import { DirectSub } from "@peerbit/pubsub";
5
- import { yamux } from "@chainsafe/libp2p-yamux";
6
4
  import { getFreeKeypair, getClientId, inIframe, cookiesWhereClearedJustNow, } from "./utils.js";
7
5
  import { noise } from "@chainsafe/libp2p-noise";
8
6
  import { v4 as uuid } from "uuid";
@@ -10,9 +8,7 @@ import { FastMutex } from "./lockstorage.js";
10
8
  import sodium from "libsodium-wrappers";
11
9
  import { useMount } from "./useMount.js";
12
10
  import { createClient, createHost } from "@peerbit/proxy-window";
13
- import { identify } from "@libp2p/identify";
14
11
  import { webSockets } from "@libp2p/websockets";
15
- import { circuitRelayTransport } from "@libp2p/circuit-relay-v2";
16
12
  import * as filters from "@libp2p/websockets/filters";
17
13
  import { detectIncognito } from "detectincognitojs";
18
14
  const isInStandaloneMode = () => window.matchMedia("(display-mode: standalone)").matches ||
@@ -36,7 +32,7 @@ const subscribeToUnload = (fn) => {
36
32
  export const PeerProvider = (options) => {
37
33
  const [peer, setPeer] = React.useState(undefined);
38
34
  const [promise, setPromise] = React.useState(undefined);
39
- const [persisted, setPersisted] = React.useState(undefined);
35
+ const [persisted, setPersisted] = React.useState(false);
40
36
  const [loading, setLoading] = React.useState(true);
41
37
  const [connectionState, setConnectionState] = React.useState("disconnected");
42
38
  const [tabIndex, setTabIndex] = React.useState(-1);
@@ -151,32 +147,36 @@ export const PeerProvider = (options) => {
151
147
  console.log("Create client");
152
148
  newPeer = await Peerbit.create({
153
149
  libp2p: {
154
- addresses: { listen: ["/p2p-circuit"] },
150
+ addresses: {
151
+ listen: [
152
+ /* "/p2p-circuit" */
153
+ ],
154
+ },
155
155
  connectionEncrypters: [noise()],
156
156
  peerId,
157
157
  connectionManager: { maxConnections: 100 },
158
158
  connectionMonitor: { enabled: false },
159
- streamMuxers: [yamux()],
160
159
  ...(nodeOptions.network === "local"
161
160
  ? {
162
161
  connectionGater: {
163
162
  denyDialMultiaddr: () => false,
164
163
  },
165
164
  transports: [
166
- webSockets({ filter: filters.all }),
167
- circuitRelayTransport(),
165
+ webSockets({ filter: filters.all }) /* ,
166
+ circuitRelayTransport(), */,
168
167
  ],
169
168
  }
170
169
  : {
171
170
  transports: [
172
- webSockets({ filter: filters.wss }),
173
- circuitRelayTransport(),
171
+ webSockets({ filter: filters.wss }) /* ,
172
+ circuitRelayTransport(), */,
174
173
  ],
175
- }),
176
- services: {
177
- pubsub: (c) => new DirectSub(c, { canRelayMessage: true }),
178
- identify: identify(),
179
- },
174
+ }) /*
175
+ services: {
176
+ pubsub: (c) =>
177
+ new DirectSub(c, { canRelayMessage: true }),
178
+ identify: identify(),
179
+ }, */,
180
180
  },
181
181
  directory,
182
182
  });
@@ -188,18 +188,21 @@ export const PeerProvider = (options) => {
188
188
  setConnectionState("connecting");
189
189
  const connectFn = async () => {
190
190
  try {
191
- if (nodeOptions.network === "local") {
191
+ const network = nodeOptions.network;
192
+ if (network === "local" ||
193
+ (network.type === "local" &&
194
+ !network.bootstrap)) {
192
195
  await newPeer.dial("/ip4/127.0.0.1/tcp/8002/ws/p2p/" +
193
196
  (await (await fetch("http://localhost:8082/peer/id")).text()));
194
197
  }
198
+ else if (!network ||
199
+ network === "remote" ||
200
+ (network.type === "remote" && !network.bootstrap)) {
201
+ await newPeer["bootstrap"]?.();
202
+ }
195
203
  else {
196
- if (nodeOptions.bootstrap) {
197
- for (const addr of nodeOptions.bootstrap) {
198
- await newPeer.dial(addr);
199
- }
200
- }
201
- else {
202
- await newPeer["bootstrap"]?.();
204
+ for (const addr of network.bootstrap) {
205
+ await newPeer.dial(addr);
203
206
  }
204
207
  }
205
208
  setConnectionState("connected");
@@ -1 +1 @@
1
- {"version":3,"file":"usePeer.js","sourceRoot":"","sources":["../../src/usePeer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usePeer.js","sourceRoot":"","sources":["../../src/usePeer.tsx"],"names":[],"mappings":"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"}
@@ -22,9 +22,15 @@ export const useQuery = (db, options) => {
22
22
  allRef.current = combined;
23
23
  setAll(combined);
24
24
  };
25
- const reset = () => {
26
- logWithId(options, "RESET FROM " + allRef.current.length);
25
+ const reset = (fromRef) => {
26
+ if (iteratorRef.current != null && iteratorRef.current !== fromRef) {
27
+ return;
28
+ }
27
29
  emptyResultsRef.current = false;
30
+ logWithId(options, "reset", {
31
+ id: iteratorRef.current?.id,
32
+ size: allRef.current.length,
33
+ });
28
34
  !iteratorRef.current?.iterator.done() &&
29
35
  iteratorRef.current?.iterator?.close();
30
36
  iteratorRef.current = null;
@@ -36,16 +42,14 @@ export const useQuery = (db, options) => {
36
42
  // Initialize the iterator only once or when query changes
37
43
  useEffect(() => {
38
44
  if (!db || db.closed || options?.query === null) {
39
- reset();
45
+ reset(null);
40
46
  return;
41
47
  }
42
48
  const initIterator = () => {
43
49
  // Don't make this async, it will cause issues with the iterator refs
44
50
  try {
45
51
  // Initialize the iterator and load initial batch.
46
- emptyResultsRef.current = false;
47
- iteratorRef.current?.iterator.close();
48
- iteratorRef.current = {
52
+ const ref = {
49
53
  id: options?.id,
50
54
  iterator: db.index.iterate(options?.query ?? {}, {
51
55
  local: options?.local ?? true,
@@ -53,18 +57,24 @@ export const useQuery = (db, options) => {
53
57
  resolve: options?.resolve,
54
58
  }),
55
59
  };
56
- logWithId(options, "Initializing iterator", options?.id);
60
+ iteratorRef.current = ref;
61
+ logWithId(options, "Initializing iterator", {
62
+ id: options?.id,
63
+ options: options,
64
+ });
57
65
  loadMore(); // initial load
66
+ return ref;
58
67
  }
59
68
  catch (error) {
60
69
  console.error("Error initializing iterator", error);
70
+ return null;
61
71
  }
62
72
  };
63
73
  // Reset state when the db or query changes.
64
- reset();
65
- initIterator();
74
+ reset(iteratorRef.current);
75
+ const newIteratorRef = initIterator();
66
76
  let handleChange = undefined;
67
- if (options?.onChange) {
77
+ if (options?.onChange && options?.onChange?.merge !== false) {
68
78
  let mergeFunction = typeof options.onChange.merge === "function"
69
79
  ? options.onChange.merge
70
80
  : (change) => change;
@@ -84,6 +94,7 @@ export const useQuery = (db, options) => {
84
94
  }
85
95
  else {
86
96
  merged = await db.index.updateResults(allRef.current, filteredChange, options?.query || {}, options?.resolve ?? true);
97
+ logWithId(options, "After update", allRef.current, merged);
87
98
  const expectedDiff = filteredChange.added.length -
88
99
  filteredChange.removed.length;
89
100
  if (merged === allRef.current ||
@@ -107,11 +118,11 @@ export const useQuery = (db, options) => {
107
118
  return () => {
108
119
  handleChange &&
109
120
  db.events.removeEventListener("change", handleChange);
110
- reset();
121
+ reset(newIteratorRef);
111
122
  };
112
123
  }, [
113
124
  db?.closed ? undefined : db?.address,
114
- options?.id ? options?.id : options?.query,
125
+ options?.id != null ? options?.id : options?.query,
115
126
  options?.resolve,
116
127
  ]);
117
128
  // Define the loadMore function
@@ -134,9 +145,9 @@ export const useQuery = (db, options) => {
134
145
  try {
135
146
  // Fetch next batchSize number of items:
136
147
  await db?.log.waitForReplicators({ timeout: 1e4 });
137
- logWithId(options, "loadMore: loading more items for iterator" +
138
- iteratorRef.current?.id);
139
148
  let newItems = await iterator.iterator.next(batchSize);
149
+ logWithId(options, "loadMore: loading more items for iterator " +
150
+ iteratorRef.current?.id, newItems, "should resolve?: " + options?.resolve, "query local?: " + options?.local, "query remote?: " + options?.remote, "isReplicating: " + (await db?.log.isReplicating()));
140
151
  if (options?.transform) {
141
152
  newItems = await Promise.all(newItems.map((item) => options.transform(item)));
142
153
  }
@@ -164,7 +175,7 @@ export const useQuery = (db, options) => {
164
175
  updateAll(combined, null);
165
176
  }
166
177
  else {
167
- logWithId(options, "no new items, not updating state for iterator" +
178
+ logWithId(options, "no new items, not updating state for iterator " +
168
179
  iteratorRef.current?.id +
169
180
  " existing results length", allRef.current.length);
170
181
  }
@@ -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/react",
3
- "version": "0.0.18",
3
+ "version": "0.0.19",
4
4
  "homepage": "https://dao-xyz.github.io/peerbit-examples",
5
5
  "type": "module",
6
6
  "module": "lib/esm/index.js",
@@ -70,5 +70,5 @@
70
70
  "last 1 safari version"
71
71
  ]
72
72
  },
73
- "gitHead": "b5151c6b800226ed660cdec491fbf6f05a021c2f"
73
+ "gitHead": "82376707f691741fbd87a6deff08fff4ce6dd5b2"
74
74
  }
package/src/index.ts CHANGED
@@ -3,6 +3,7 @@ export {
3
3
  PeerContext,
4
4
  usePeer,
5
5
  ClientBusyError,
6
+ type NetworkOption,
6
7
  } from "./usePeer.js";
7
8
  export * from "./utils.js";
8
9
  export { FastMutex } from "./lockstorage.js";
package/src/usePeer.tsx CHANGED
@@ -2,7 +2,6 @@ import React, { useContext } from "react";
2
2
  import { Multiaddr } from "@multiformats/multiaddr";
3
3
  import { Peerbit } from "peerbit";
4
4
  import { DirectSub } from "@peerbit/pubsub";
5
- import { yamux } from "@chainsafe/libp2p-yamux";
6
5
  import {
7
6
  getFreeKeypair,
8
7
  getClientId,
@@ -80,12 +79,16 @@ type IFrameOptions = {
80
79
  targetOrigin: string;
81
80
  };
82
81
 
82
+ export type NetworkOption = {
83
+ type: "local" | "remote";
84
+ bootstrap?: (Multiaddr | string)[];
85
+ };
86
+
83
87
  type NodeOptions = {
84
88
  type?: "node";
85
- network: "local" | "remote";
89
+ network: "local" | "remote" | NetworkOption;
86
90
  waitForConnnected?: boolean;
87
91
  keypair?: Ed25519Keypair;
88
- bootstrap?: (Multiaddr | string)[];
89
92
  host?: boolean;
90
93
  singleton?: boolean;
91
94
  };
@@ -112,9 +115,7 @@ export const PeerProvider = (options: PeerOptions) => {
112
115
  const [promise, setPromise] = React.useState<Promise<void> | undefined>(
113
116
  undefined
114
117
  );
115
- const [persisted, setPersisted] = React.useState<boolean | undefined>(
116
- undefined
117
- );
118
+ const [persisted, setPersisted] = React.useState<boolean>(false);
118
119
  const [loading, setLoading] = React.useState<boolean>(true);
119
120
  const [connectionState, setConnectionState] =
120
121
  React.useState<ConnectionStatus>("disconnected");
@@ -246,33 +247,36 @@ export const PeerProvider = (options: PeerOptions) => {
246
247
  console.log("Create client");
247
248
  newPeer = await Peerbit.create({
248
249
  libp2p: {
249
- addresses: { listen: ["/p2p-circuit"] },
250
+ addresses: {
251
+ listen: [
252
+ /* "/p2p-circuit" */
253
+ ],
254
+ },
250
255
  connectionEncrypters: [noise()],
251
256
  peerId,
252
257
  connectionManager: { maxConnections: 100 },
253
258
  connectionMonitor: { enabled: false },
254
- streamMuxers: [yamux()],
255
259
  ...(nodeOptions.network === "local"
256
260
  ? {
257
261
  connectionGater: {
258
262
  denyDialMultiaddr: () => false,
259
263
  },
260
264
  transports: [
261
- webSockets({ filter: filters.all }),
262
- circuitRelayTransport(),
265
+ webSockets({ filter: filters.all }) /* ,
266
+ circuitRelayTransport(), */,
263
267
  ],
264
268
  }
265
269
  : {
266
270
  transports: [
267
- webSockets({ filter: filters.wss }),
268
- circuitRelayTransport(),
271
+ webSockets({ filter: filters.wss }) /* ,
272
+ circuitRelayTransport(), */,
269
273
  ],
270
- }),
274
+ }) /*
271
275
  services: {
272
276
  pubsub: (c) =>
273
277
  new DirectSub(c, { canRelayMessage: true }),
274
278
  identify: identify(),
275
- },
279
+ }, */,
276
280
  },
277
281
  directory,
278
282
  });
@@ -287,7 +291,12 @@ export const PeerProvider = (options: PeerOptions) => {
287
291
 
288
292
  const connectFn = async () => {
289
293
  try {
290
- if (nodeOptions.network === "local") {
294
+ const network = nodeOptions.network;
295
+ if (
296
+ network === "local" ||
297
+ ((network as NetworkOption).type === "local" &&
298
+ !(network as NetworkOption).bootstrap)
299
+ ) {
291
300
  await newPeer.dial(
292
301
  "/ip4/127.0.0.1/tcp/8002/ws/p2p/" +
293
302
  (await (
@@ -296,13 +305,15 @@ export const PeerProvider = (options: PeerOptions) => {
296
305
  )
297
306
  ).text())
298
307
  );
308
+ } else if (
309
+ !network ||
310
+ network === "remote" ||
311
+ (network.type === "remote" && !network.bootstrap)
312
+ ) {
313
+ await newPeer["bootstrap"]?.();
299
314
  } else {
300
- if (nodeOptions.bootstrap) {
301
- for (const addr of nodeOptions.bootstrap) {
302
- await newPeer.dial(addr);
303
- }
304
- } else {
305
- await newPeer["bootstrap"]?.();
315
+ for (const addr of network.bootstrap!) {
316
+ await newPeer.dial(addr);
306
317
  }
307
318
  }
308
319
  setConnectionState("connected");
package/src/useQuery.tsx CHANGED
@@ -90,10 +90,22 @@ export const useQuery = <
90
90
  setAll(combined);
91
91
  };
92
92
 
93
- const reset = () => {
94
- logWithId(options, "RESET FROM " + allRef.current.length);
93
+ const reset = (
94
+ fromRef: {
95
+ id?: string;
96
+ iterator: ResultsIterator<WithContext<RT>>;
97
+ } | null
98
+ ) => {
99
+ if (iteratorRef.current != null && iteratorRef.current !== fromRef) {
100
+ return;
101
+ }
95
102
 
96
103
  emptyResultsRef.current = false;
104
+ logWithId(options, "reset", {
105
+ id: iteratorRef.current?.id,
106
+ size: allRef.current.length,
107
+ });
108
+
97
109
  !iteratorRef.current?.iterator.done() &&
98
110
  iteratorRef.current?.iterator?.close();
99
111
  iteratorRef.current = null;
@@ -106,7 +118,7 @@ export const useQuery = <
106
118
  // Initialize the iterator only once or when query changes
107
119
  useEffect(() => {
108
120
  if (!db || db.closed || options?.query === null) {
109
- reset();
121
+ reset(null);
110
122
  return;
111
123
  }
112
124
  const initIterator = () => {
@@ -114,9 +126,7 @@ export const useQuery = <
114
126
  try {
115
127
  // Initialize the iterator and load initial batch.
116
128
 
117
- emptyResultsRef.current = false;
118
- iteratorRef.current?.iterator.close();
119
- iteratorRef.current = {
129
+ const ref = {
120
130
  id: options?.id,
121
131
  iterator: db.index.iterate(options?.query ?? {}, {
122
132
  local: options?.local ?? true,
@@ -124,24 +134,30 @@ export const useQuery = <
124
134
  resolve: options?.resolve as any,
125
135
  }) as any as ResultsIterator<WithContext<RT>>,
126
136
  };
137
+ iteratorRef.current = ref;
127
138
 
128
- logWithId(options, "Initializing iterator", options?.id);
139
+ logWithId(options, "Initializing iterator", {
140
+ id: options?.id,
141
+ options: options,
142
+ });
129
143
 
130
144
  loadMore(); // initial load
145
+ return ref;
131
146
  } catch (error) {
132
147
  console.error("Error initializing iterator", error);
148
+ return null;
133
149
  }
134
150
  };
135
151
 
136
152
  // Reset state when the db or query changes.
137
- reset();
138
- initIterator();
153
+ reset(iteratorRef.current);
154
+ const newIteratorRef = initIterator();
139
155
 
140
156
  let handleChange:
141
157
  | undefined
142
158
  | ((e: CustomEvent<DocumentsChange<T>>) => void | Promise<void>) =
143
159
  undefined;
144
- if (options?.onChange) {
160
+ if (options?.onChange && options?.onChange?.merge !== false) {
145
161
  let mergeFunction =
146
162
  typeof options.onChange.merge === "function"
147
163
  ? options.onChange.merge
@@ -171,6 +187,7 @@ export const useQuery = <
171
187
  options?.query || {},
172
188
  options?.resolve ?? true
173
189
  );
190
+ logWithId(options, "After update", allRef.current, merged);
174
191
  const expectedDiff =
175
192
  filteredChange.added.length -
176
193
  filteredChange.removed.length;
@@ -204,11 +221,11 @@ export const useQuery = <
204
221
  return () => {
205
222
  handleChange &&
206
223
  db.events.removeEventListener("change", handleChange);
207
- reset();
224
+ reset(newIteratorRef);
208
225
  };
209
226
  }, [
210
227
  db?.closed ? undefined : db?.address,
211
- options?.id ? options?.id : options?.query,
228
+ options?.id != null ? options?.id : options?.query,
212
229
  options?.resolve,
213
230
  ]);
214
231
 
@@ -235,14 +252,20 @@ export const useQuery = <
235
252
  try {
236
253
  // Fetch next batchSize number of items:
237
254
  await db?.log.waitForReplicators({ timeout: 1e4 });
238
- logWithId(
239
- options,
240
- "loadMore: loading more items for iterator" +
241
- iteratorRef.current?.id
242
- );
255
+
243
256
  let newItems: WithContext<RT>[] = await iterator.iterator.next(
244
257
  batchSize
245
258
  );
259
+ logWithId(
260
+ options,
261
+ "loadMore: loading more items for iterator " +
262
+ iteratorRef.current?.id,
263
+ newItems,
264
+ "should resolve?: " + options?.resolve,
265
+ "query local?: " + options?.local,
266
+ "query remote?: " + options?.remote,
267
+ "isReplicating: " + (await db?.log.isReplicating())
268
+ );
246
269
 
247
270
  if (options?.transform) {
248
271
  newItems = await Promise.all(
@@ -283,7 +306,7 @@ export const useQuery = <
283
306
  } else {
284
307
  logWithId(
285
308
  options,
286
- "no new items, not updating state for iterator" +
309
+ "no new items, not updating state for iterator " +
287
310
  iteratorRef.current?.id +
288
311
  " existing results length",
289
312
  allRef.current.length