@gonvex/client 0.1.9 → 0.1.11

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
@@ -87,12 +87,63 @@ Use `GonvexErrorReporter` directly when integrating an existing application
87
87
  logger. See the Error Tracking guide in the full documentation for privacy,
88
88
  grouping, persistence, and dashboard details.
89
89
 
90
+ ## Connection reliability
91
+
92
+ The client reconnects automatically after an unexpected socket close (exponential
93
+ backoff from ~250ms to 5s). On reconnect it re-authenticates, then resubscribes
94
+ active live queries and pending one-shot queries. Explicit `close()` disables
95
+ reconnect.
96
+
97
+ ```ts
98
+ client.connectionState();
99
+ // {
100
+ // isWebSocketConnected, hasEverConnected, connectionCount, connectionRetries,
101
+ // hasInflightRequests, inflightMutations, inflightActions, inflightOneShotQueries
102
+ // }
103
+
104
+ const stop = client.subscribeToConnectionState((state) => {
105
+ // drive banners / health UI
106
+ });
107
+ ```
108
+
109
+ ### Timeouts (defaults)
110
+
111
+ | Operation | Default |
112
+ | --- | --- |
113
+ | One-shot `query()` | 20s |
114
+ | `mutation()` | 20s |
115
+ | `action()` | 60s |
116
+
117
+ Override per client (`timeouts` option) or per call (`{ timeoutMs }`). Use `0` to disable.
118
+
119
+ ### Typed errors
120
+
121
+ Rejected operations throw `GonvexClientError` with `code`:
122
+
123
+ - `server` — runtime executed the function and returned an error
124
+ - `timeout` — no response within the timeout
125
+ - `disconnected` — socket dropped while the operation was pending
126
+ - `closed` — client was explicitly closed
127
+ - `auth` — authentication rejected
128
+
129
+ ### Mutation / action fail-closed policy
130
+
131
+ Pending mutations and actions are **never** auto-replayed after disconnect.
132
+ They reject with `code: "disconnected"` (or `timeout` / `closed`). Silent
133
+ re-fire of non-idempotent writes is unsafe; offline queues belong in the app
134
+ (or mobile offline layer), not this client.
135
+
136
+ Live queries keep last-good data at the React layer (`useQueryResult`) and
137
+ resubscribe after reconnect. Call `client.retryQuery(ref, args)` to force a
138
+ re-request after a server error or soft timeout.
139
+
90
140
  ## Exports
91
141
 
92
142
  The package exports:
93
143
 
94
144
  - `GonvexClient`
95
145
  - `ConvexReactClient` compatibility alias
146
+ - `GonvexClientError`, `ConnectionState`, timeout defaults
96
147
  - transparent persistent query caching and lower-level experimental cache helpers
97
148
  - browser capability and telemetry helpers
98
149
  - `GonvexErrorReporter` and automatic operation error reporting
package/dist/index.d.ts CHANGED
@@ -14,10 +14,60 @@ export type { QueryCacheDirective } from "@gonvex/protocol";
14
14
  type SubscriptionHandler = (message: ServerMessage) => void;
15
15
  type WatchUpdateHandler = () => void;
16
16
  type TelemetryHandler = (event: GonvexTelemetryEvent) => void;
17
+ type ConnectionStateHandler = (state: ConnectionState) => void;
17
18
  export type FunctionReference = {
18
19
  kind: string;
19
20
  path: string;
20
21
  };
22
+ export type GonvexClientErrorCode = "server" | "timeout" | "disconnected" | "closed" | "auth";
23
+ /**
24
+ * Typed error for every rejected Gonvex operation. `code` distinguishes
25
+ * server-side failures from transport-level ones so apps can decide whether
26
+ * a retry is safe:
27
+ *
28
+ * - `server`: the runtime executed the function and returned an error.
29
+ * - `timeout`: no response arrived within the operation timeout. For
30
+ * mutations/actions the write may or may not have been applied.
31
+ * - `disconnected`: the socket dropped while the operation was pending.
32
+ * Mutations/actions fail closed and are never replayed automatically.
33
+ * - `closed`: the client was explicitly closed.
34
+ * - `auth`: authentication was rejected.
35
+ */
36
+ export declare class GonvexClientError extends Error {
37
+ readonly code: GonvexClientErrorCode;
38
+ readonly path?: string;
39
+ readonly operation?: "query" | "mutation" | "action";
40
+ constructor(message: string, options: {
41
+ code: GonvexClientErrorCode;
42
+ path?: string;
43
+ operation?: "query" | "mutation" | "action";
44
+ });
45
+ }
46
+ export type ConnectionState = {
47
+ isWebSocketConnected: boolean;
48
+ hasEverConnected: boolean;
49
+ connectionCount: number;
50
+ connectionRetries: number;
51
+ hasInflightRequests: boolean;
52
+ inflightMutations: number;
53
+ inflightActions: number;
54
+ inflightOneShotQueries: number;
55
+ };
56
+ export type GonvexTimeoutOptions = {
57
+ /** One-shot `client.query()` timeout. Default 20s. `0` disables. */
58
+ queryTimeoutMs?: number;
59
+ /** `client.mutation()` timeout. Default 20s. `0` disables. */
60
+ mutationTimeoutMs?: number;
61
+ /** `client.action()` timeout. Default 60s. `0` disables. */
62
+ actionTimeoutMs?: number;
63
+ };
64
+ export declare const DEFAULT_QUERY_TIMEOUT_MS = 20000;
65
+ export declare const DEFAULT_MUTATION_TIMEOUT_MS = 20000;
66
+ export declare const DEFAULT_ACTION_TIMEOUT_MS = 60000;
67
+ export type CallOptions = {
68
+ /** Per-call override of the operation timeout. `0` disables. */
69
+ timeoutMs?: number;
70
+ };
21
71
  export type GonvexClientAuth = {
22
72
  project?: string;
23
73
  token?: string;
@@ -27,6 +77,7 @@ export type GonvexClientAuth = {
27
77
  export type GonvexClientOptions = GonvexClientAuth & {
28
78
  queryCache?: false | QueryCacheOptions;
29
79
  errorReporting?: false | Omit<ErrorReporterOptions, "endpoint" | "project" | "tenant">;
80
+ timeouts?: GonvexTimeoutOptions;
30
81
  };
31
82
  export type GonvexTelemetryEvent = {
32
83
  type: "mutation" | "action" | "query";
@@ -46,6 +97,7 @@ export declare class GonvexClient {
46
97
  private socket;
47
98
  private readonly handlers;
48
99
  private readonly querySubscriptions;
100
+ private readonly oneShotQueries;
49
101
  private readonly telemetryHandlers;
50
102
  private readonly pendingMessages;
51
103
  private auth;
@@ -56,10 +108,24 @@ export declare class GonvexClient {
56
108
  private queryCacheGeneration;
57
109
  private readonly sessionScopeHandlers;
58
110
  private readonly errorReporter;
111
+ private reconnectTimer;
112
+ private reconnectAttempt;
113
+ private socketGeneration;
114
+ private manuallyClosed;
115
+ private readonly pendingCalls;
116
+ private readonly connectionStateHandlers;
117
+ private isWebSocketConnected;
118
+ private hasEverConnected;
119
+ private connectionCount;
120
+ private readonly timeouts;
59
121
  constructor(url: string, options?: GonvexClientOptions);
122
+ connectionState(): ConnectionState;
123
+ subscribeToConnectionState(handler: ConnectionStateHandler): () => void;
124
+ private notifyConnectionState;
60
125
  setAuth(auth: GonvexClientAuth): void;
61
126
  connect(): void;
62
127
  close(): void;
128
+ private rejectPendingCalls;
63
129
  onTelemetry(handler: TelemetryHandler): () => boolean;
64
130
  onSessionScopeChange(handler: () => void): () => boolean;
65
131
  clearQueryCache(options?: {
@@ -71,11 +137,21 @@ export declare class GonvexClient {
71
137
  localQueryResult(): T | undefined;
72
138
  onUpdate(handler: WatchUpdateHandler): () => void;
73
139
  };
74
- mutation<T = JsonValue>(ref: FunctionReference, args?: JsonValue): Promise<T>;
75
- action<T = JsonValue>(ref: FunctionReference, args?: JsonValue): Promise<T>;
76
- query<T = JsonValue>(ref: FunctionReference, args?: JsonValue): Promise<T>;
140
+ mutation<T = JsonValue>(ref: FunctionReference, args?: JsonValue, options?: CallOptions): Promise<T>;
141
+ action<T = JsonValue>(ref: FunctionReference, args?: JsonValue, options?: CallOptions): Promise<T>;
142
+ query<T = JsonValue>(ref: FunctionReference, args?: JsonValue, options?: CallOptions): Promise<T>;
143
+ /**
144
+ * Force a live query subscription to re-request its result from the server,
145
+ * e.g. after a `query.error` or when a subscriber gave up waiting. No-op if
146
+ * nothing is subscribed to this query.
147
+ */
148
+ retryQuery(ref: FunctionReference, args?: JsonValue): void;
77
149
  private call;
78
150
  private unsubscribeQueryListener;
151
+ private sendSubscription;
152
+ private sendOneShotQuery;
153
+ private resubscribeQueries;
154
+ private scheduleReconnect;
79
155
  private installQueryCacheDirective;
80
156
  private resetQueryCacheScope;
81
157
  private startQueryCacheRead;
package/dist/index.js CHANGED
@@ -9,11 +9,40 @@ export * from "./browser-capabilities.js";
9
9
  export * from "./persistent-cache.js";
10
10
  export * from "./query-cache.js";
11
11
  export * from "./error-reporter.js";
12
+ /**
13
+ * Typed error for every rejected Gonvex operation. `code` distinguishes
14
+ * server-side failures from transport-level ones so apps can decide whether
15
+ * a retry is safe:
16
+ *
17
+ * - `server`: the runtime executed the function and returned an error.
18
+ * - `timeout`: no response arrived within the operation timeout. For
19
+ * mutations/actions the write may or may not have been applied.
20
+ * - `disconnected`: the socket dropped while the operation was pending.
21
+ * Mutations/actions fail closed and are never replayed automatically.
22
+ * - `closed`: the client was explicitly closed.
23
+ * - `auth`: authentication was rejected.
24
+ */
25
+ export class GonvexClientError extends Error {
26
+ code;
27
+ path;
28
+ operation;
29
+ constructor(message, options) {
30
+ super(message);
31
+ this.name = "GonvexClientError";
32
+ this.code = options.code;
33
+ this.path = options.path;
34
+ this.operation = options.operation;
35
+ }
36
+ }
37
+ export const DEFAULT_QUERY_TIMEOUT_MS = 20_000;
38
+ export const DEFAULT_MUTATION_TIMEOUT_MS = 20_000;
39
+ export const DEFAULT_ACTION_TIMEOUT_MS = 60_000;
12
40
  export class GonvexClient {
13
41
  url;
14
42
  socket;
15
43
  handlers = new Map();
16
44
  querySubscriptions = new Map();
45
+ oneShotQueries = new Map();
17
46
  telemetryHandlers = new Set();
18
47
  pendingMessages = [];
19
48
  auth = {};
@@ -24,15 +53,59 @@ export class GonvexClient {
24
53
  queryCacheGeneration = 0;
25
54
  sessionScopeHandlers = new Set();
26
55
  errorReporter;
56
+ reconnectTimer;
57
+ reconnectAttempt = 0;
58
+ socketGeneration = 0;
59
+ manuallyClosed = false;
60
+ pendingCalls = new Map();
61
+ connectionStateHandlers = new Set();
62
+ isWebSocketConnected = false;
63
+ hasEverConnected = false;
64
+ connectionCount = 0;
65
+ timeouts;
27
66
  constructor(url, options = {}) {
28
67
  this.url = url;
29
68
  this.auth = authFromOptions(options);
30
69
  this.telemetryEnabled = options.telemetry === true;
31
70
  this.queryCache = createQueryCacheStore(options.queryCache);
71
+ this.timeouts = {
72
+ queryTimeoutMs: options.timeouts?.queryTimeoutMs ?? DEFAULT_QUERY_TIMEOUT_MS,
73
+ mutationTimeoutMs: options.timeouts?.mutationTimeoutMs ?? DEFAULT_MUTATION_TIMEOUT_MS,
74
+ actionTimeoutMs: options.timeouts?.actionTimeoutMs ?? DEFAULT_ACTION_TIMEOUT_MS,
75
+ };
32
76
  if (options.errorReporting && options.project) {
33
77
  this.errorReporter = new GonvexErrorReporter({ endpoint: url, project: options.project, tenant: options.tenant, ...options.errorReporting });
34
78
  }
35
79
  }
80
+ connectionState() {
81
+ const inflightMutations = countPendingCalls(this.pendingCalls, "mutation");
82
+ const inflightActions = countPendingCalls(this.pendingCalls, "action");
83
+ const inflightOneShotQueries = this.oneShotQueries.size;
84
+ return {
85
+ isWebSocketConnected: this.isWebSocketConnected,
86
+ hasEverConnected: this.hasEverConnected,
87
+ connectionCount: this.connectionCount,
88
+ connectionRetries: this.reconnectAttempt,
89
+ hasInflightRequests: inflightMutations + inflightActions + inflightOneShotQueries > 0,
90
+ inflightMutations,
91
+ inflightActions,
92
+ inflightOneShotQueries,
93
+ };
94
+ }
95
+ subscribeToConnectionState(handler) {
96
+ this.connectionStateHandlers.add(handler);
97
+ return () => {
98
+ this.connectionStateHandlers.delete(handler);
99
+ };
100
+ }
101
+ notifyConnectionState() {
102
+ if (this.connectionStateHandlers.size === 0)
103
+ return;
104
+ const state = this.connectionState();
105
+ for (const handler of Array.from(this.connectionStateHandlers)) {
106
+ handler(state);
107
+ }
108
+ }
36
109
  setAuth(auth) {
37
110
  const scopeMayChange = (hasOwn(auth, "token") && auth.token !== this.auth.token)
38
111
  || (hasOwn(auth, "tenant") && auth.tenant !== this.auth.tenant)
@@ -55,9 +128,47 @@ export class GonvexClient {
55
128
  connect() {
56
129
  if (this.socket && this.socket.readyState <= WebSocket.OPEN)
57
130
  return;
58
- this.socket = new WebSocket(this.url);
59
- this.socket.addEventListener("open", () => this.sendAuth(false));
60
- this.socket.addEventListener("message", (event) => {
131
+ const isReconnect = this.socket !== undefined;
132
+ this.manuallyClosed = false;
133
+ const generation = ++this.socketGeneration;
134
+ const socket = new WebSocket(this.url);
135
+ this.socket = socket;
136
+ socket.addEventListener("open", () => {
137
+ if (this.socket !== socket)
138
+ return;
139
+ if (this.reconnectTimer) {
140
+ clearTimeout(this.reconnectTimer);
141
+ this.reconnectTimer = undefined;
142
+ }
143
+ this.reconnectAttempt = 0;
144
+ this.isWebSocketConnected = true;
145
+ this.hasEverConnected = true;
146
+ this.connectionCount += 1;
147
+ this.sendAuth(false);
148
+ if (isReconnect)
149
+ this.resubscribeQueries(generation);
150
+ this.notifyConnectionState();
151
+ });
152
+ socket.addEventListener("close", () => {
153
+ if (this.socket !== socket || this.manuallyClosed)
154
+ return;
155
+ this.isWebSocketConnected = false;
156
+ this.authInFlight = false;
157
+ // A subscription queued for the old socket is superseded by the complete
158
+ // resubscribe below. Queued mutations/actions are rejected below, so
159
+ // drop them too — flushing them after reconnect would fire writes whose
160
+ // callers already saw a rejection.
161
+ this.pendingMessages.length = 0;
162
+ // Mutations/actions must fail closed on transport loss: silently
163
+ // replaying a non-idempotent write after reconnect is unsafe, and
164
+ // leaving the promise pending hangs the caller forever.
165
+ this.rejectPendingCalls((call) => new GonvexClientError(`Connection lost while waiting for ${call.kind} ${call.path}. The operation may or may not have been applied.`, { code: "disconnected", path: call.path, operation: call.kind }));
166
+ this.scheduleReconnect();
167
+ this.notifyConnectionState();
168
+ });
169
+ socket.addEventListener("message", (event) => {
170
+ if (this.socket !== socket)
171
+ return;
61
172
  let message;
62
173
  try {
63
174
  message = JSON.parse(String(event.data));
@@ -90,6 +201,18 @@ export class GonvexClient {
90
201
  });
91
202
  }
92
203
  close() {
204
+ this.manuallyClosed = true;
205
+ if (this.reconnectTimer) {
206
+ clearTimeout(this.reconnectTimer);
207
+ this.reconnectTimer = undefined;
208
+ }
209
+ for (const query of this.oneShotQueries.values()) {
210
+ if (query.timeoutTimer)
211
+ clearTimeout(query.timeoutTimer);
212
+ query.reject(new GonvexClientError("Gonvex client was closed", { code: "closed", path: query.path, operation: "query" }));
213
+ }
214
+ this.oneShotQueries.clear();
215
+ this.rejectPendingCalls((call) => new GonvexClientError(`Gonvex client was closed while waiting for ${call.kind} ${call.path}`, { code: "closed", path: call.path, operation: call.kind }));
93
216
  this.handlers.clear();
94
217
  this.querySubscriptions.clear();
95
218
  this.sessionScopeHandlers.clear();
@@ -97,10 +220,26 @@ export class GonvexClient {
97
220
  this.queryCacheDirective = undefined;
98
221
  this.queryCache?.close();
99
222
  this.errorReporter?.close();
100
- if (!this.socket)
101
- return;
102
- this.socket.close();
223
+ const socket = this.socket;
103
224
  this.socket = undefined;
225
+ this.isWebSocketConnected = false;
226
+ this.notifyConnectionState();
227
+ this.connectionStateHandlers.clear();
228
+ if (!socket)
229
+ return;
230
+ socket.close();
231
+ }
232
+ rejectPendingCalls(makeError) {
233
+ if (this.pendingCalls.size === 0)
234
+ return;
235
+ const calls = Array.from(this.pendingCalls.values());
236
+ this.pendingCalls.clear();
237
+ for (const call of calls) {
238
+ if (call.timeoutTimer)
239
+ clearTimeout(call.timeoutTimer);
240
+ this.handlers.delete(call.id);
241
+ call.reject(makeError(call));
242
+ }
104
243
  }
105
244
  onTelemetry(handler) {
106
245
  this.telemetryHandlers.add(handler);
@@ -200,7 +339,7 @@ export class GonvexClient {
200
339
  this.deleteCachedQuery(subscription);
201
340
  }
202
341
  });
203
- this.send({ type: "query.subscribe", id: subscription.id, path: ref.path, args });
342
+ this.sendSubscription(subscription);
204
343
  this.startQueryCacheRead(subscription);
205
344
  return () => this.unsubscribeQueryListener(key, onMessage);
206
345
  }
@@ -245,19 +384,36 @@ export class GonvexClient {
245
384
  },
246
385
  };
247
386
  }
248
- mutation(ref, args = {}) {
249
- return this.call("mutation", ref, args);
387
+ mutation(ref, args = {}, options = {}) {
388
+ return this.call("mutation", ref, args, options.timeoutMs ?? this.timeouts.mutationTimeoutMs);
250
389
  }
251
- action(ref, args = {}) {
252
- return this.call("action", ref, args);
390
+ action(ref, args = {}, options = {}) {
391
+ return this.call("action", ref, args, options.timeoutMs ?? this.timeouts.actionTimeoutMs);
253
392
  }
254
- query(ref, args = {}) {
393
+ query(ref, args = {}, options = {}) {
255
394
  this.connect();
256
395
  const id = randomID();
396
+ const timeoutMs = options.timeoutMs ?? this.timeouts.queryTimeoutMs;
257
397
  return new Promise((resolve, reject) => {
398
+ const query = { id, path: ref.path, args, reject };
399
+ const settle = () => {
400
+ if (query.timeoutTimer)
401
+ clearTimeout(query.timeoutTimer);
402
+ this.oneShotQueries.delete(id);
403
+ this.handlers.delete(id);
404
+ this.notifyConnectionState();
405
+ };
406
+ if (timeoutMs > 0) {
407
+ query.timeoutTimer = setTimeout(() => {
408
+ settle();
409
+ this.send({ type: "query.unsubscribe", id });
410
+ reject(new GonvexClientError(`Query ${ref.path} timed out after ${timeoutMs}ms`, { code: "timeout", path: ref.path, operation: "query" }));
411
+ }, timeoutMs);
412
+ }
413
+ this.oneShotQueries.set(id, query);
258
414
  this.handlers.set(id, (message) => {
259
415
  if (message.type === "query.result") {
260
- this.handlers.delete(id);
416
+ settle();
261
417
  this.recordTelemetry({
262
418
  type: "query",
263
419
  id: message.id,
@@ -271,7 +427,7 @@ export class GonvexClient {
271
427
  resolve(message.result);
272
428
  }
273
429
  if (message.type === "query.error") {
274
- this.handlers.delete(id);
430
+ settle();
275
431
  this.recordTelemetry({
276
432
  type: "query",
277
433
  id: message.id,
@@ -281,37 +437,67 @@ export class GonvexClient {
281
437
  clientReceivedAtMs: nowMs(),
282
438
  });
283
439
  this.send({ type: "query.unsubscribe", id });
284
- reject(new Error(message.error));
440
+ reject(new GonvexClientError(message.error, { code: "server", path: ref.path, operation: "query" }));
285
441
  }
286
442
  });
287
- this.send({ type: "query.subscribe", id, path: ref.path, args });
443
+ this.sendOneShotQuery(query);
444
+ this.notifyConnectionState();
288
445
  });
289
446
  }
290
- call(kind, ref, args) {
447
+ /**
448
+ * Force a live query subscription to re-request its result from the server,
449
+ * e.g. after a `query.error` or when a subscriber gave up waiting. No-op if
450
+ * nothing is subscribed to this query.
451
+ */
452
+ retryQuery(ref, args = {}) {
453
+ const subscription = this.querySubscriptions.get(querySubscriptionKey(ref, args));
454
+ if (!subscription || subscription.listeners.size === 0)
455
+ return;
456
+ subscription.serverSettled = false;
457
+ subscription.socketGeneration = undefined;
458
+ this.connect();
459
+ this.sendSubscription(subscription);
460
+ }
461
+ call(kind, ref, args, timeoutMs) {
291
462
  this.connect();
292
463
  const id = randomID();
293
464
  const clientSentAtMs = nowMs();
294
465
  return new Promise((resolve, reject) => {
466
+ const pending = { id, kind, path: ref.path, reject };
467
+ const settle = () => {
468
+ if (pending.timeoutTimer)
469
+ clearTimeout(pending.timeoutTimer);
470
+ this.pendingCalls.delete(id);
471
+ this.handlers.delete(id);
472
+ this.notifyConnectionState();
473
+ };
474
+ if (timeoutMs > 0) {
475
+ pending.timeoutTimer = setTimeout(() => {
476
+ settle();
477
+ reject(new GonvexClientError(`${kind === "mutation" ? "Mutation" : "Action"} ${ref.path} timed out after ${timeoutMs}ms. The operation may or may not have been applied.`, { code: "timeout", path: ref.path, operation: kind }));
478
+ }, timeoutMs);
479
+ }
480
+ this.pendingCalls.set(id, pending);
295
481
  this.handlers.set(id, (message) => {
296
482
  if (kind === "mutation" && message.type === "mutation.result") {
297
- this.handlers.delete(id);
483
+ settle();
298
484
  this.emitTelemetryFromCall(kind, id, ref.path, "ok", clientSentAtMs, message.trace);
299
485
  resolve(message.result);
300
486
  }
301
487
  if (kind === "mutation" && message.type === "mutation.error") {
302
- this.handlers.delete(id);
488
+ settle();
303
489
  this.emitTelemetryFromCall(kind, id, ref.path, "error", clientSentAtMs, message.trace, message.error);
304
- reject(new Error(message.error));
490
+ reject(new GonvexClientError(message.error, { code: "server", path: ref.path, operation: kind }));
305
491
  }
306
492
  if (kind === "action" && message.type === "action.result") {
307
- this.handlers.delete(id);
493
+ settle();
308
494
  this.emitTelemetryFromCall(kind, id, ref.path, "ok", clientSentAtMs, message.trace);
309
495
  resolve(message.result);
310
496
  }
311
497
  if (kind === "action" && message.type === "action.error") {
312
- this.handlers.delete(id);
498
+ settle();
313
499
  this.emitTelemetryFromCall(kind, id, ref.path, "error", clientSentAtMs, message.trace, message.error);
314
- reject(new Error(message.error));
500
+ reject(new GonvexClientError(message.error, { code: "server", path: ref.path, operation: kind }));
315
501
  }
316
502
  });
317
503
  if (kind === "mutation") {
@@ -320,6 +506,7 @@ export class GonvexClient {
320
506
  else {
321
507
  this.send({ type: "action.call", id, path: ref.path, args, trace: { clientSentAtMs } });
322
508
  }
509
+ this.notifyConnectionState();
323
510
  });
324
511
  }
325
512
  unsubscribeQueryListener(key, listener) {
@@ -342,6 +529,49 @@ export class GonvexClient {
342
529
  setTimeout(() => this.handlers.delete(latest.id), 500);
343
530
  }, 250);
344
531
  }
532
+ sendSubscription(subscription) {
533
+ if (subscription.socketGeneration === this.socketGeneration)
534
+ return;
535
+ subscription.socketGeneration = this.socketGeneration;
536
+ this.send({
537
+ type: "query.subscribe",
538
+ id: subscription.id,
539
+ path: subscription.path,
540
+ args: subscription.args,
541
+ });
542
+ }
543
+ sendOneShotQuery(query) {
544
+ if (query.socketGeneration === this.socketGeneration)
545
+ return;
546
+ query.socketGeneration = this.socketGeneration;
547
+ this.send({ type: "query.subscribe", id: query.id, path: query.path, args: query.args });
548
+ }
549
+ resubscribeQueries(generation) {
550
+ if (generation !== this.socketGeneration)
551
+ return;
552
+ for (const subscription of this.querySubscriptions.values()) {
553
+ if (subscription.listeners.size === 0)
554
+ continue;
555
+ subscription.serverSettled = false;
556
+ this.sendSubscription(subscription);
557
+ }
558
+ for (const query of this.oneShotQueries.values()) {
559
+ this.sendOneShotQuery(query);
560
+ }
561
+ }
562
+ scheduleReconnect() {
563
+ if (this.manuallyClosed || this.reconnectTimer)
564
+ return;
565
+ const delay = Math.min(250 * (2 ** this.reconnectAttempt), 5_000);
566
+ this.reconnectAttempt += 1;
567
+ this.reconnectTimer = setTimeout(() => {
568
+ this.reconnectTimer = undefined;
569
+ if (!this.manuallyClosed) {
570
+ this.connect();
571
+ this.notifyConnectionState();
572
+ }
573
+ }, delay);
574
+ }
345
575
  installQueryCacheDirective(value) {
346
576
  if (!validQueryCacheDirective(value)) {
347
577
  if (this.queryCacheDirective)
@@ -488,10 +718,10 @@ export class GonvexClient {
488
718
  });
489
719
  }
490
720
  sendAuth(force) {
491
- if (!force && !this.auth.token && !this.auth.tenant)
721
+ if (!force && !this.auth.token && !this.auth.tenant && !this.auth.project)
492
722
  return;
493
723
  this.authInFlight = true;
494
- this.sendNow({ type: "auth", id: randomID(), token: this.auth.token, tenant: this.auth.tenant });
724
+ this.sendNow({ type: "auth", id: randomID(), token: this.auth.token, project: this.auth.project, tenant: this.auth.tenant });
495
725
  }
496
726
  send(message) {
497
727
  if (this.authInFlight && message.type !== "auth" && message.type !== "telemetry.event") {
@@ -524,6 +754,14 @@ export class GonvexClient {
524
754
  function querySubscriptionKey(ref, args) {
525
755
  return `${ref.path}\u0000${stableStringify(args)}`;
526
756
  }
757
+ function countPendingCalls(calls, kind) {
758
+ let count = 0;
759
+ for (const call of calls.values()) {
760
+ if (call.kind === kind)
761
+ count += 1;
762
+ }
763
+ return count;
764
+ }
527
765
  function stableStringify(value) {
528
766
  if (value === null || typeof value !== "object")
529
767
  return JSON.stringify(value);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gonvex/client",
3
- "version": "0.1.9",
3
+ "version": "0.1.11",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -14,7 +14,7 @@
14
14
  "types": "./dist/index.d.ts",
15
15
  "dependencies": {
16
16
  "dexie": "^4.4.4",
17
- "@gonvex/protocol": "0.1.9"
17
+ "@gonvex/protocol": "0.1.11"
18
18
  },
19
19
  "devDependencies": {
20
20
  "fake-indexeddb": "^6.2.4",