on-zero 0.8.3 → 0.8.4

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.
Files changed (59) hide show
  1. package/README.md +15 -2
  2. package/dist/cjs/combineZeroClients.cjs +21 -1
  3. package/dist/cjs/combineZeroClients.native.js +34 -9
  4. package/dist/cjs/combineZeroClients.native.js.map +1 -1
  5. package/dist/cjs/createZeroClient.cjs +81 -8
  6. package/dist/cjs/createZeroClient.connection.test.cjs +67 -0
  7. package/dist/cjs/createZeroClient.connection.test.native.js +69 -0
  8. package/dist/cjs/createZeroClient.connection.test.native.js.map +1 -1
  9. package/dist/cjs/createZeroClient.native.js +85 -9
  10. package/dist/cjs/createZeroClient.native.js.map +1 -1
  11. package/dist/cjs/createZeroClient.recovery.test.cjs +19 -8
  12. package/dist/cjs/createZeroClient.recovery.test.native.js +20 -8
  13. package/dist/cjs/createZeroClient.recovery.test.native.js.map +1 -1
  14. package/dist/cjs/helpers/recoverZeroClient.cjs +0 -3
  15. package/dist/cjs/helpers/recoverZeroClient.native.js +0 -3
  16. package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -1
  17. package/dist/cjs/multiInstance.test.cjs +54 -0
  18. package/dist/cjs/multiInstance.test.native.js +58 -0
  19. package/dist/cjs/multiInstance.test.native.js.map +1 -1
  20. package/dist/esm/combineZeroClients.mjs +21 -1
  21. package/dist/esm/combineZeroClients.mjs.map +1 -1
  22. package/dist/esm/combineZeroClients.native.js +34 -9
  23. package/dist/esm/combineZeroClients.native.js.map +1 -1
  24. package/dist/esm/createZeroClient.connection.test.mjs +67 -0
  25. package/dist/esm/createZeroClient.connection.test.mjs.map +1 -1
  26. package/dist/esm/createZeroClient.connection.test.native.js +69 -0
  27. package/dist/esm/createZeroClient.connection.test.native.js.map +1 -1
  28. package/dist/esm/createZeroClient.mjs +81 -8
  29. package/dist/esm/createZeroClient.mjs.map +1 -1
  30. package/dist/esm/createZeroClient.native.js +85 -9
  31. package/dist/esm/createZeroClient.native.js.map +1 -1
  32. package/dist/esm/createZeroClient.recovery.test.mjs +19 -8
  33. package/dist/esm/createZeroClient.recovery.test.mjs.map +1 -1
  34. package/dist/esm/createZeroClient.recovery.test.native.js +20 -8
  35. package/dist/esm/createZeroClient.recovery.test.native.js.map +1 -1
  36. package/dist/esm/helpers/recoverZeroClient.mjs +0 -3
  37. package/dist/esm/helpers/recoverZeroClient.mjs.map +1 -1
  38. package/dist/esm/helpers/recoverZeroClient.native.js +0 -3
  39. package/dist/esm/helpers/recoverZeroClient.native.js.map +1 -1
  40. package/dist/esm/multiInstance.test.mjs +54 -0
  41. package/dist/esm/multiInstance.test.mjs.map +1 -1
  42. package/dist/esm/multiInstance.test.native.js +58 -0
  43. package/dist/esm/multiInstance.test.native.js.map +1 -1
  44. package/package.json +1 -1
  45. package/src/combineZeroClients.tsx +30 -1
  46. package/src/createZeroClient.connection.test.tsx +66 -0
  47. package/src/createZeroClient.recovery.test.tsx +21 -12
  48. package/src/createZeroClient.tsx +127 -18
  49. package/src/helpers/recoverZeroClient.ts +0 -13
  50. package/src/multiInstance.test.tsx +49 -0
  51. package/src/types.ts +13 -2
  52. package/types/combineZeroClients.d.ts +2 -0
  53. package/types/combineZeroClients.d.ts.map +1 -1
  54. package/types/createZeroClient.d.ts +2 -0
  55. package/types/createZeroClient.d.ts.map +1 -1
  56. package/types/helpers/recoverZeroClient.d.ts +1 -6
  57. package/types/helpers/recoverZeroClient.d.ts.map +1 -1
  58. package/types/types.d.ts +10 -1
  59. package/types/types.d.ts.map +1 -1
@@ -61,6 +61,7 @@ import type {
61
61
  GetZeroMutators,
62
62
  ZeroEvent,
63
63
  ZeroEventsEmitter,
64
+ ZeroReconnectReasonKey,
64
65
  } from './types'
65
66
  import type {
66
67
  AnyQueryRegistry,
@@ -100,8 +101,8 @@ export type CreateZeroClientOptions<
100
101
  models: Models
101
102
  groupedQueries: GroupedQueries
102
103
  permissionStrategy?: PermissionStrategy
103
- // repeated server acknowledgement timeouts are a desync signal. one timeout
104
- // remains a normal slow-server failure; recovery begins at this threshold.
104
+ // repeated server acknowledgement timeouts reconnect with the existing local
105
+ // state. one timeout remains a normal slow-server failure.
105
106
  serverAckTimeoutRecoveryThreshold?: number
106
107
  // names this client instance so multiple instances can coexist on one page.
107
108
  // each query/mutator namespace is claimed by exactly one instance, and the
@@ -371,11 +372,6 @@ export function createZeroClientInternal<
371
372
  null
372
373
  )
373
374
 
374
- let recoverFromAckTimeout: (input: {
375
- label: string
376
- timeoutMs: number
377
- consecutiveTimeouts: number
378
- }) => void = () => {}
379
375
  const ackTimeoutRecoveryThreshold =
380
376
  Number.isFinite(serverAckTimeoutRecoveryThreshold) &&
381
377
  serverAckTimeoutRecoveryThreshold >= 2
@@ -383,7 +379,12 @@ export function createZeroClientInternal<
383
379
  : 2
384
380
  const mutationLifecycle = createMutationLifecycle({
385
381
  ackTimeoutRecoveryThreshold,
386
- recoverFromAckTimeout: (input) => recoverFromAckTimeout(input),
382
+ recoverFromAckTimeout: (input) => {
383
+ void reconnectInPlace(
384
+ 'server-ack-timeout',
385
+ `${input.label} server acknowledgement timed out ${input.consecutiveTimeouts} consecutive times (${input.timeoutMs}ms each)`
386
+ )
387
+ },
387
388
  })
388
389
 
389
390
  const zeroInstanceVersion = createDirectUseQuery
@@ -566,6 +567,36 @@ export function createZeroClientInternal<
566
567
  return true
567
568
  }
568
569
 
570
+ function emitReconnectStatus(event: Extract<ZeroEvent, { type: 'reconnect' }>): void {
571
+ const current = zeroEvents.value
572
+ if (
573
+ current?.type === 'reconnect' &&
574
+ current.status === event.status &&
575
+ ('reasonKey' in current ? current.reasonKey : undefined) ===
576
+ ('reasonKey' in event ? event.reasonKey : undefined) &&
577
+ ('reason' in current ? current.reason : undefined) ===
578
+ ('reason' in event ? event.reason : undefined)
579
+ ) {
580
+ return
581
+ }
582
+ zeroEvents.emit(event)
583
+ }
584
+
585
+ async function reconnectInPlace(
586
+ reasonKey: ZeroReconnectReasonKey,
587
+ reason: string
588
+ ): Promise<boolean> {
589
+ emitReconnectStatus({ type: 'reconnect', status: 'trying', reasonKey, reason })
590
+ return remint({ dropLocalState: false })
591
+ }
592
+
593
+ function reloadPage(): boolean {
594
+ const location = globalThis.location
595
+ if (!location?.reload) return false
596
+ location.reload()
597
+ return true
598
+ }
599
+
569
600
  // when ProvideZero is rendered without a real Zero instance (SSG, disable=true,
570
601
  // or transiently while the active path is still creating its first instance),
571
602
  // we want descendants' useZero() / useConnectionState() / on-zero useQuery to
@@ -846,7 +877,6 @@ export function createZeroClientInternal<
846
877
  onRecovery: () => mutationLifecycle.fence(),
847
878
  }
848
879
  const recovery = makeZeroRecovery(recoveryDeps)
849
- recoverFromAckTimeout = recovery.onServerAckTimeout
850
880
  const createdInstance = new ZeroClient<Schema, ZeroMutators>({
851
881
  kvStore: 'mem',
852
882
  ...options,
@@ -976,9 +1006,25 @@ export function createZeroClientInternal<
976
1006
  const zeroInstance = useZero<Schema, ZeroMutators>()
977
1007
  const state = useConnectionState()
978
1008
  const prevState = useRef(state.name)
979
- // one reconnect per distinct stale-poke reason / one refresh per needs-auth
980
- // transition, so a stuck error state doesn't retry-storm.
981
- const staleReconnectRef = useRef<string | null>(null)
1009
+ const hasConnectedRef = useRef(false)
1010
+ const currentReconnect =
1011
+ zeroEvents.value?.type === 'reconnect' && zeroEvents.value.status !== 'connected'
1012
+ ? zeroEvents.value
1013
+ : null
1014
+ const reconnectRef = useRef<{
1015
+ reasonKey: ZeroReconnectReasonKey
1016
+ reason: string
1017
+ } | null>(
1018
+ currentReconnect
1019
+ ? {
1020
+ reasonKey: currentReconnect.reasonKey,
1021
+ reason: currentReconnect.reason,
1022
+ }
1023
+ : null
1024
+ )
1025
+ // one reconnect per distinct recoverable error / one refresh per
1026
+ // needs-auth transition, so a stuck state doesn't retry-storm.
1027
+ const recoverableErrorRef = useRef<string | null>(null)
982
1028
  const needsAuthRef = useRef(false)
983
1029
 
984
1030
  useEffect(() => {
@@ -997,16 +1043,78 @@ export function createZeroClientInternal<
997
1043
  else delete document.body.dataset.zeroConnected
998
1044
  }
999
1045
 
1000
- // stale-poke / stale-cookie: the local view is behind the server
1001
- // snapshot; a plain reconnect resolves it. not fatal — don't emit error.
1002
- if (name === 'error' && isRecoverableZeroStalePokeMessage(reason)) {
1003
- if (staleReconnectRef.current !== reason) {
1004
- staleReconnectRef.current = reason
1046
+ if (name === 'connected') {
1047
+ hasConnectedRef.current = true
1048
+ recoverableErrorRef.current = null
1049
+ if (reconnectRef.current) {
1050
+ reconnectRef.current = null
1051
+ emitReconnectStatus({ type: 'reconnect', status: 'connected' })
1052
+ }
1053
+ }
1054
+
1055
+ const reconnectReasonKey: ZeroReconnectReasonKey | undefined = reason.includes(
1056
+ 'ServerOverloaded'
1057
+ )
1058
+ ? 'server-overloaded'
1059
+ : reason.includes('Failed to fetch') ||
1060
+ reason.includes('fetch failed') ||
1061
+ reason.includes('NetworkError when attempting to fetch resource') ||
1062
+ reason.includes('Network request failed') ||
1063
+ reason.includes('Load failed')
1064
+ ? 'transport'
1065
+ : undefined
1066
+
1067
+ // stale-poke and paused transport errors both resume the existing
1068
+ // client. ServerOverloaded remains in Zero's own retry/backoff loop.
1069
+ if (
1070
+ name === 'error' &&
1071
+ (isRecoverableZeroStalePokeMessage(reason) || reconnectReasonKey)
1072
+ ) {
1073
+ if (recoverableErrorRef.current !== reason) {
1074
+ recoverableErrorRef.current = reason
1075
+ reconnectRef.current = {
1076
+ reasonKey: reconnectReasonKey ?? 'transport',
1077
+ reason,
1078
+ }
1079
+ emitReconnectStatus({
1080
+ type: 'reconnect',
1081
+ status: 'trying',
1082
+ ...reconnectRef.current,
1083
+ })
1005
1084
  void Promise.resolve(zeroInstance.connection?.connect?.()).catch(() => {})
1006
1085
  }
1007
1086
  return
1008
1087
  }
1009
- if (name !== 'error') staleReconnectRef.current = null
1088
+ if (name !== 'error') recoverableErrorRef.current = null
1089
+
1090
+ if (
1091
+ name === 'connecting' &&
1092
+ (reconnectRef.current || hasConnectedRef.current || Boolean(reason))
1093
+ ) {
1094
+ reconnectRef.current = {
1095
+ reasonKey:
1096
+ reconnectReasonKey ?? reconnectRef.current?.reasonKey ?? 'transport',
1097
+ reason: reason || reconnectRef.current?.reason || 'connection interrupted',
1098
+ }
1099
+ emitReconnectStatus({
1100
+ type: 'reconnect',
1101
+ status: reason ? 'waiting' : 'trying',
1102
+ ...reconnectRef.current,
1103
+ })
1104
+ } else if (
1105
+ name === 'disconnected' &&
1106
+ (reconnectRef.current || hasConnectedRef.current)
1107
+ ) {
1108
+ reconnectRef.current = {
1109
+ reasonKey: reconnectRef.current?.reasonKey ?? 'transport',
1110
+ reason: reason || reconnectRef.current?.reason || 'connection interrupted',
1111
+ }
1112
+ emitReconnectStatus({
1113
+ type: 'reconnect',
1114
+ status: 'waiting',
1115
+ ...reconnectRef.current,
1116
+ })
1117
+ }
1010
1118
 
1011
1119
  // needs-auth: the token expired and zero won't auto-resume unless the
1012
1120
  // auth string changes. refresh it and reconnect in place, once.
@@ -1092,6 +1200,7 @@ export function createZeroClientInternal<
1092
1200
  return {
1093
1201
  instanceName,
1094
1202
  zeroEvents,
1203
+ reloadPage,
1095
1204
  ProvideZero,
1096
1205
  ControlQueries,
1097
1206
  useQuery,
@@ -30,7 +30,6 @@ export type ZeroRecoveryLogClassification = {
30
30
  | 'VersionNotSupported'
31
31
  | 'SchemaVersionNotSupported'
32
32
  | 'client-state-not-found'
33
- | 'server-ack-timeout'
34
33
  >
35
34
  message: string
36
35
  dropLocalState: boolean
@@ -278,18 +277,6 @@ export function makeZeroRecovery(deps: ZeroRecoveryDeps) {
278
277
  // drop it and reload into a fresh client.
279
278
  recover(deps, 'client-state-not-found', 'client state not found', true)
280
279
  },
281
- onServerAckTimeout(input: {
282
- label: string
283
- timeoutMs: number
284
- consecutiveTimeouts: number
285
- }) {
286
- recover(
287
- deps,
288
- 'server-ack-timeout',
289
- `${input.label} server acknowledgement timed out ${input.consecutiveTimeouts} consecutive times (${input.timeoutMs}ms each)`,
290
- true
291
- )
292
- },
293
280
  }
294
281
  }
295
282
 
@@ -66,6 +66,7 @@ function fakeClient(name: string, namespaces: string[], zeroStub: unknown) {
66
66
  preload: vi.fn(() => `${name}-preload`),
67
67
  getQuery: vi.fn(() => `${name}-getQuery`),
68
68
  zeroEvents: createEmitter<ZeroEvent | null>(`zero:test-${name}`, null),
69
+ reloadPage: vi.fn(() => true),
69
70
  ControlQueries: ({ children }: { children: ReactNode }) => children,
70
71
  }
71
72
  }
@@ -283,6 +284,9 @@ describe('combineZeroClients facade', () => {
283
284
  expect(zero.userID).toBe('primary-user')
284
285
  // unclaimed namespaces fall back to the primary instance
285
286
  expect(zero.mutate.unknownNs).toBe(undefined)
287
+ expect(combined.reloadPage()).toBe(true)
288
+ expect(control.reloadPage).toHaveBeenCalledOnce()
289
+ expect(project.reloadPage).not.toHaveBeenCalled()
286
290
  })
287
291
 
288
292
  test('useQuery/preload/getQuery/usePermission dispatch by namespace', () => {
@@ -385,4 +389,49 @@ describe('combineZeroClients facade', () => {
385
389
  expect(messageOf(a.zeroEvents.value)).toBe('from-a')
386
390
  expect(messageOf(b.zeroEvents.value)).toBe('from-b')
387
391
  })
392
+
393
+ test('combined zeroEvents stays pending until every instance reconnects', () => {
394
+ const { client: a } = makeClient('reconnect-a', 'reconnectA')
395
+ const { client: b } = makeClient('reconnect-b', 'reconnectB')
396
+ const combined = combineZeroClients(a, b)
397
+ const seen: Array<ZeroEvent | null> = []
398
+ combined.zeroEvents.listen((event) => seen.push(event))
399
+
400
+ a.zeroEvents.emit({
401
+ type: 'reconnect',
402
+ status: 'waiting',
403
+ reasonKey: 'server-overloaded',
404
+ reason: 'busy',
405
+ })
406
+ b.zeroEvents.emit({
407
+ type: 'reconnect',
408
+ status: 'trying',
409
+ reasonKey: 'transport',
410
+ reason: 'fetch failed',
411
+ })
412
+ a.zeroEvents.emit({ type: 'reconnect', status: 'connected' })
413
+ b.zeroEvents.emit({ type: 'reconnect', status: 'connected' })
414
+
415
+ expect(seen).toEqual([
416
+ {
417
+ type: 'reconnect',
418
+ status: 'waiting',
419
+ reasonKey: 'server-overloaded',
420
+ reason: 'busy',
421
+ },
422
+ {
423
+ type: 'reconnect',
424
+ status: 'waiting',
425
+ reasonKey: 'server-overloaded',
426
+ reason: 'busy',
427
+ },
428
+ {
429
+ type: 'reconnect',
430
+ status: 'trying',
431
+ reasonKey: 'transport',
432
+ reason: 'fetch failed',
433
+ },
434
+ { type: 'reconnect', status: 'connected' },
435
+ ])
436
+ })
388
437
  })
package/src/types.ts CHANGED
@@ -166,8 +166,15 @@ export type ZeroEvent =
166
166
  reasonKey: 'connection-error' | 'connection-needs-auth'
167
167
  message: string
168
168
  }
169
- // recovery lifecycle: 'recovering' = dropping local state + reloading;
170
- // 'fatal' = recovery already attempted (loop guard tripped), not reloading.
169
+ | {
170
+ type: 'reconnect'
171
+ status: 'trying' | 'waiting'
172
+ reasonKey: ZeroReconnectReasonKey
173
+ reason: string
174
+ }
175
+ | { type: 'reconnect'; status: 'connected' }
176
+ // destructive recovery lifecycle: 'recovering' = optionally dropping local
177
+ // state + reloading; 'fatal' = the reload loop guard tripped.
171
178
  | { type: 'recovering'; reasonKey: ZeroRecoveryReasonKey; reason: string }
172
179
  | { type: 'fatal'; reasonKey: ZeroRecoveryReasonKey; reason: string }
173
180
 
@@ -194,6 +201,10 @@ export type ZeroRecoveryReasonKey =
194
201
  | 'connection-cookie-invalid'
195
202
  | 'client-not-found'
196
203
  | 'connection-userid-mismatch'
204
+
205
+ export type ZeroReconnectReasonKey =
206
+ | 'transport'
207
+ | 'server-overloaded'
197
208
  | 'server-ack-timeout'
198
209
 
199
210
  /**
@@ -16,6 +16,7 @@ type CombinableZeroClient = {
16
16
  preload: (...args: any[]) => any;
17
17
  getQuery: (...args: any[]) => any;
18
18
  zeroEvents: ZeroEventsEmitter;
19
+ reloadPage: () => boolean;
19
20
  ControlQueries: (props: ControlQueriesProps) => ReactNode;
20
21
  };
21
22
  export type CombineZeroClientsOptions = {
@@ -37,6 +38,7 @@ export type CombinedZeroClients<Clients extends readonly CombinableZeroClient[]>
37
38
  getQuery: UnionToIntersection<Clients[number]['getQuery']>;
38
39
  run: typeof run;
39
40
  zeroEvents: ZeroEventsEmitter;
41
+ reloadPage: () => boolean;
40
42
  ControlQueries: (props: ControlQueriesProps) => ReactNode;
41
43
  };
42
44
  export declare function combineZeroClients<const Clients extends readonly [CombinableZeroClient, ...CombinableZeroClient[]]>(...clientsAndOptions: [...Clients] | [...Clients, CombineZeroClientsOptions]): CombinedZeroClients<Clients>;
@@ -1 +1 @@
1
- {"version":3,"file":"combineZeroClients.d.ts","sourceRoot":"","sources":["../src/combineZeroClients.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"combineZeroClients.d.ts","sourceRoot":"","sources":["../src/combineZeroClients.tsx"],"names":[],"mappings":"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"}
@@ -37,6 +37,7 @@ export type DirectQueryAdapter<Schema extends ZeroSchema> = (props: {
37
37
  export declare function createZeroClient<Schema extends ZeroSchema, Models extends GenericModels>(options: CreateZeroClientOptions<Schema, Models>): {
38
38
  instanceName: string;
39
39
  zeroEvents: ZeroEventsEmitter;
40
+ reloadPage: () => boolean;
40
41
  ProvideZero: ({ children, authData: authDataIn }: Omit<ZeroOptions<Schema, GetZeroMutators<Models>>, "schema" | "mutators"> & {
41
42
  children: ReactNode;
42
43
  authData?: {} | null | undefined;
@@ -86,6 +87,7 @@ export declare function createZeroClientInternal<Schema extends ZeroSchema, Mode
86
87
  }): {
87
88
  instanceName: string;
88
89
  zeroEvents: ZeroEventsEmitter;
90
+ reloadPage: () => boolean;
89
91
  ProvideZero: ({ children, authData: authDataIn }: Omit<ZeroOptions<Schema, GetZeroMutators<Models>>, "schema" | "mutators"> & {
90
92
  children: ReactNode;
91
93
  authData?: AuthData | null;
@@ -1 +1 @@
1
- {"version":3,"file":"createZeroClient.d.ts","sourceRoot":"","sources":["../src/createZeroClient.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,IAAI,IAAI,UAAU,EACnB,MAAM,gBAAgB,CAAA;AAOvB,OAAO,EASL,KAAK,OAAO,EACZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAGd,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,YAAY,EAClB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAK/D,OAAO,EAIL,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EAEpB,MAAM,6BAA6B,CAAA;AAIpC,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAOhE,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EACb,eAAe,EAEf,iBAAiB,EAClB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EACV,gBAAgB,EAChB,KAAK,EACL,GAAG,EAEH,WAAW,EACX,MAAM,IAAI,UAAU,EACrB,MAAM,gBAAgB,CAAA;AAEvB,KAAK,cAAc,GAAG;IAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,CAAA;AAEvE,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;AAMpF,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,iBAAiB,GAAG,kBAAkB,CAAA;AAEtF,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAA;IACnC,kBAAkB,CAAC,EAAE;QACnB,MAAM,CAAC,EAAE,SAAS,cAAc,EAAE,CAAA;KACnC,CAAA;CACF,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,uBAAuB,CACjC,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,IAC1B;IACF,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,cAAc,CAAA;IAC9B,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IAGvC,iCAAiC,CAAC,EAAE,MAAM,CAAA;IAI1C,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,kBAAkB,CAAC,MAAM,SAAS,UAAU,IAAI,CAAC,KAAK,EAAE;IAClE,eAAe,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC1C,aAAa,EAAE,gBAAgB,CAAA;IAC/B,OAAO,EAAE,MAAM,GAAG,CAAA;IAClB,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CAC7B,KAAK,YAAY,CAAC,MAAM,CAAC,CAAA;AA+B1B,wBAAgB,gBAAgB,CAAC,MAAM,SAAS,UAAU,EAAE,MAAM,SAAS,aAAa,EACtF,OAAO,EAAE,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC;;;;kBA0cpC,SAAS;;kBAUT,OAAO;oBAGL,qBAAqB;8BAGZ,OAAO,CAAC,IAAI,CAAC;gCAIX,qBAAqB,KAAK,IAAI;uBAGtC,oBAAoB;4BAGf,SAAS,cAAc,EAAE;6BAGzB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;4BAI3B,OAAO;;;kBA4bjB,SAAS;iBACV,QAAQ,GAAG,SAAS;uBACd,OAAO,GAAG,YAAY;;;;uFA1pBxB,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,YACrC,OAAO,UACT,OAAO,KACZ,OAAO,GAAG,IAAI;6FAHR,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,YACrC,OAAO,UACT,OAAO,KACZ,OAAO,GAAG,IAAI;;;SA8mBN,IAAI,EAAE,MAAM,0CAA0C,OAAO,kFAGlE,cAAc;2BACN,IAAI;sBAAY,OAAO,CAAC,IAAI,CAAC;;SAChC,MAAM,0CAA0C,OAAO,oEAE5D,cAAc;2BACN,IAAI;sBAAY,OAAO,CAAC,IAAI,CAAC;;;;SAe/B,IAAI,EAAE,MAAM,0CAA0C,OAAO,yEAG5E,UAAU,CAAC,OAAO,YAAY,QAAQ,CAAC;SACxB,MAAM,0CAA0C,OAAO,2DAEtE,UAAU,CAAC,OAAO,YAAY,QAAQ,CAAC;;+BA1wBT,kBAAkB;;yBA0PJ,OAAO;UAAU,OAAO,CAAC,OAAO,CAAC;;;;EA1YjF;AAED,wBAAgB,wBAAwB,CACtC,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,EACA,MAAM,EACN,MAAM,EACN,cAAc,EACd,kBAAiC,EACjC,YAAwB,EACxB,iCAAqC,EACrC,oBAAoB,GACrB,EAAE,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;IAC3C,oBAAoB,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAA;CAClD;;;;kBAwba,SAAS;mBACR,QAAQ,GAAG,IAAI;kBAShB,OAAO;oBAGL,qBAAqB;uBAGlB,MAAM,OAAO,CAAC,IAAI,CAAC;yBAIjB,CAAC,GAAG,EAAE,qBAAqB,KAAK,IAAI;uBAGtC,oBAAoB;4BAGf,SAAS,cAAc,EAAE;sBAG/B,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;4BAI3B,OAAO;;0DA2b1B;QACD,QAAQ,EAAE,SAAS,CAAA;QACnB,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;QAC7B,YAAY,CAAC,EAAE,OAAO,GAAG,YAAY,CAAA;KACtC;;;2BA5pBY,oCAAY,CAAC,MAAM,GAAG,EAAE,CAAC,WACvB,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,YACrC,OAAO,UACT,OAAO,KACZ,OAAO,GAAG,IAAI;iCAJV,oCAAY,CAAC,MAAM,GAAG,EAAE,CAAC,WACvB,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,YACrC,OAAO,UACT,OAAO,KACZ,OAAO,GAAG,IAAI;;;SA8mBN,IAAI,EAAE,MAAM,SAAS,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,OAAO,MACxE,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,UAC9C,IAAI,YACF,cAAc,GACvB;YAAE,OAAO,EAAE,MAAM,IAAI,CAAC;YAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;SAAE;SAClC,MAAM,SAAS,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,OAAO,MAClE,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,YAC5C,cAAc,GACvB;YAAE,OAAO,EAAE,MAAM,IAAI,CAAC;YAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;SAAE;;;SAejC,IAAI,EAAE,MAAM,SAAS,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,OAAO,MACzE,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,UAC9C,IAAI,GACX,UAAU,CAAC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;SACxB,MAAM,SAAS,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,OAAO,MACnE,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,GACrD,UAAU,CAAC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;;+BA1wBT,kBAAkB,KAAQ,OAAO,sDAAc;oBA0PpD;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,KAAQ,OAAO,CAAC,OAAO,CAAC;;;;EAojBjF"}
1
+ {"version":3,"file":"createZeroClient.d.ts","sourceRoot":"","sources":["../src/createZeroClient.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,IAAI,IAAI,UAAU,EACnB,MAAM,gBAAgB,CAAA;AAOvB,OAAO,EASL,KAAK,OAAO,EACZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAGd,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,YAAY,EAClB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAK/D,OAAO,EAIL,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EAEpB,MAAM,6BAA6B,CAAA;AAIpC,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAOhE,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EACb,eAAe,EAEf,iBAAiB,EAElB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EACV,gBAAgB,EAChB,KAAK,EACL,GAAG,EAEH,WAAW,EACX,MAAM,IAAI,UAAU,EACrB,MAAM,gBAAgB,CAAA;AAEvB,KAAK,cAAc,GAAG;IAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,CAAA;AAEvE,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;AAMpF,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,iBAAiB,GAAG,kBAAkB,CAAA;AAEtF,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAA;IACnC,kBAAkB,CAAC,EAAE;QACnB,MAAM,CAAC,EAAE,SAAS,cAAc,EAAE,CAAA;KACnC,CAAA;CACF,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,uBAAuB,CACjC,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,IAC1B;IACF,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,cAAc,CAAA;IAC9B,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IAGvC,iCAAiC,CAAC,EAAE,MAAM,CAAA;IAI1C,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,kBAAkB,CAAC,MAAM,SAAS,UAAU,IAAI,CAAC,KAAK,EAAE;IAClE,eAAe,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC1C,aAAa,EAAE,gBAAgB,CAAA;IAC/B,OAAO,EAAE,MAAM,GAAG,CAAA;IAClB,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CAC7B,KAAK,YAAY,CAAC,MAAM,CAAC,CAAA;AA+B1B,wBAAgB,gBAAgB,CAAC,MAAM,SAAS,UAAU,EAAE,MAAM,SAAS,aAAa,EACtF,OAAO,EAAE,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC;;;sBA2bzB,OAAO;;kBA6ClB,SAAS;;kBAUT,OAAO;oBAGL,qBAAqB;8BAGZ,OAAO,CAAC,IAAI,CAAC;gCAIX,qBAAqB,KAAK,IAAI;uBAGtC,oBAAoB;4BAGf,SAAS,cAAc,EAAE;6BAGzB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;4BAI3B,OAAO;;;kBAygBjB,SAAS;iBACV,QAAQ,GAAG,SAAS;uBACd,OAAO,GAAG,YAAY;;;;uFArwBxB,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,YACrC,OAAO,UACT,OAAO,KACZ,OAAO,GAAG,IAAI;6FAHR,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,YACrC,OAAO,UACT,OAAO,KACZ,OAAO,GAAG,IAAI;;;SAytBN,IAAI,EAAE,MAAM,0CAA0C,OAAO,kFAGlE,cAAc;2BACN,IAAI;sBAAY,OAAO,CAAC,IAAI,CAAC;;SAChC,MAAM,0CAA0C,OAAO,oEAE5D,cAAc;2BACN,IAAI;sBAAY,OAAO,CAAC,IAAI,CAAC;;;;SAe/B,IAAI,EAAE,MAAM,0CAA0C,OAAO,yEAG5E,UAAU,CAAC,OAAO,YAAY,QAAQ,CAAC;SACxB,MAAM,0CAA0C,OAAO,2DAEtE,UAAU,CAAC,OAAO,YAAY,QAAQ,CAAC;;+BAr3BT,kBAAkB;;yBA0PJ,OAAO;UAAU,OAAO,CAAC,OAAO,CAAC;;;;EA1YjF;AAED,wBAAgB,wBAAwB,CACtC,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,EACA,MAAM,EACN,MAAM,EACN,cAAc,EACd,kBAAiC,EACjC,YAAwB,EACxB,iCAAqC,EACrC,oBAAoB,GACrB,EAAE,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;IAC3C,oBAAoB,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAA;CAClD;;;sBAyawB,OAAO;;kBA6ClB,SAAS;mBACR,QAAQ,GAAG,IAAI;kBAShB,OAAO;oBAGL,qBAAqB;uBAGlB,MAAM,OAAO,CAAC,IAAI,CAAC;yBAIjB,CAAC,GAAG,EAAE,qBAAqB,KAAK,IAAI;uBAGtC,oBAAoB;4BAGf,SAAS,cAAc,EAAE;sBAG/B,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;4BAI3B,OAAO;;0DAwgB1B;QACD,QAAQ,EAAE,SAAS,CAAA;QACnB,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;QAC7B,YAAY,CAAC,EAAE,OAAO,GAAG,YAAY,CAAA;KACtC;;;2BAvwBY,oCAAY,CAAC,MAAM,GAAG,EAAE,CAAC,WACvB,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,YACrC,OAAO,UACT,OAAO,KACZ,OAAO,GAAG,IAAI;iCAJV,oCAAY,CAAC,MAAM,GAAG,EAAE,CAAC,WACvB,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,YACrC,OAAO,UACT,OAAO,KACZ,OAAO,GAAG,IAAI;;;SAytBN,IAAI,EAAE,MAAM,SAAS,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,OAAO,MACxE,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,UAC9C,IAAI,YACF,cAAc,GACvB;YAAE,OAAO,EAAE,MAAM,IAAI,CAAC;YAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;SAAE;SAClC,MAAM,SAAS,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,OAAO,MAClE,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,YAC5C,cAAc,GACvB;YAAE,OAAO,EAAE,MAAM,IAAI,CAAC;YAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;SAAE;;;SAejC,IAAI,EAAE,MAAM,SAAS,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,OAAO,MACzE,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,UAC9C,IAAI,GACX,UAAU,CAAC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;SACxB,MAAM,SAAS,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,OAAO,MACnE,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,GACrD,UAAU,CAAC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;;+BAr3BT,kBAAkB,KAAQ,OAAO,sDAAc;oBA0PpD;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,KAAQ,OAAO,CAAC,OAAO,CAAC;;;;EAgqBjF"}
@@ -2,7 +2,7 @@ import type { ZeroEventsEmitter, ZeroRecoveryReasonKey } from '../types';
2
2
  import type { LogLevel, LogSink } from '@rocicorp/logger';
3
3
  import type { UpdateNeededReason } from '@rocicorp/zero';
4
4
  export type ZeroRecoveryLogClassification = {
5
- reasonKey: Exclude<ZeroRecoveryReasonKey, 'NewClientGroup' | 'VersionNotSupported' | 'SchemaVersionNotSupported' | 'client-state-not-found' | 'server-ack-timeout'>;
5
+ reasonKey: Exclude<ZeroRecoveryReasonKey, 'NewClientGroup' | 'VersionNotSupported' | 'SchemaVersionNotSupported' | 'client-state-not-found'>;
6
6
  message: string;
7
7
  dropLocalState: boolean;
8
8
  };
@@ -30,11 +30,6 @@ export type ZeroRecoveryDeps = {
30
30
  export declare function makeZeroRecovery(deps: ZeroRecoveryDeps): {
31
31
  onUpdateNeeded(reason: UpdateNeededReason): void;
32
32
  onClientStateNotFound(): void;
33
- onServerAckTimeout(input: {
34
- label: string;
35
- timeoutMs: number;
36
- consecutiveTimeouts: number;
37
- }): void;
38
33
  };
39
34
  export declare function classifyZeroRecoveryLog(level: LogLevel | string, args: readonly unknown[], nowMs?: number): ZeroRecoveryLogClassification | undefined;
40
35
  export declare function composeRecoveryLogSink(deps: ZeroRecoveryDeps, consumerLogSink?: LogSink): LogSink;
@@ -1 +1 @@
1
- {"version":3,"file":"recoverZeroClient.d.ts","sourceRoot":"","sources":["../../src/helpers/recoverZeroClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AACxE,OAAO,KAAK,EAAW,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAuBxD,MAAM,MAAM,6BAA6B,GAAG;IAC1C,SAAS,EAAE,OAAO,CAChB,qBAAqB,EACnB,gBAAgB,GAChB,qBAAqB,GACrB,2BAA2B,GAC3B,wBAAwB,GACxB,oBAAoB,CACvB,CAAA;IACD,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,CAAA;AAM5C,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;IACvC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9C,CAAA;AAKD,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,qBAAqB,CAAA;IAChC,cAAc,EAAE,OAAO,CAAA;IAGvB,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAI7B,gBAAgB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IAExC,UAAU,EAAE,iBAAiB,CAAA;IAG7B,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAIlC,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,qBAAqB,KAAK,IAAI,CAAA;IAGrD,YAAY,CAAC,EAAE,oBAAoB,CAAA;IAEnC,iBAAiB,CAAC,EAAE,SAAS,cAAc,EAAE,CAAA;IAG7C,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,qBAAqB,KAAK,IAAI,CAAA;IAEvD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;CACpB,CAAA;AA4KD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,gBAAgB;2BAE5B,kBAAkB;;8BAqBf;QACxB,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,EAAE,MAAM,CAAA;QACjB,mBAAmB,EAAE,MAAM,CAAA;KAC5B;EASJ;AA+FD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,QAAQ,GAAG,MAAM,EACxB,IAAI,EAAE,SAAS,OAAO,EAAE,EACxB,KAAK,SAAa,GACjB,6BAA6B,GAAG,SAAS,CAqC3C;AAOD,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,gBAAgB,EACtB,eAAe,CAAC,EAAE,OAAO,GACxB,OAAO,CAiBT;AAWD,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAO1E;AAMD,wBAAgB,0BAA0B,SAUzC"}
1
+ {"version":3,"file":"recoverZeroClient.d.ts","sourceRoot":"","sources":["../../src/helpers/recoverZeroClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AACxE,OAAO,KAAK,EAAW,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAuBxD,MAAM,MAAM,6BAA6B,GAAG;IAC1C,SAAS,EAAE,OAAO,CAChB,qBAAqB,EACnB,gBAAgB,GAChB,qBAAqB,GACrB,2BAA2B,GAC3B,wBAAwB,CAC3B,CAAA;IACD,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,CAAA;AAM5C,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;IACvC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9C,CAAA;AAKD,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,qBAAqB,CAAA;IAChC,cAAc,EAAE,OAAO,CAAA;IAGvB,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAI7B,gBAAgB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IAExC,UAAU,EAAE,iBAAiB,CAAA;IAG7B,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAIlC,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,qBAAqB,KAAK,IAAI,CAAA;IAGrD,YAAY,CAAC,EAAE,oBAAoB,CAAA;IAEnC,iBAAiB,CAAC,EAAE,SAAS,cAAc,EAAE,CAAA;IAG7C,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,qBAAqB,KAAK,IAAI,CAAA;IAEvD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;CACpB,CAAA;AA4KD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,gBAAgB;2BAE5B,kBAAkB;;EAsB5C;AA+FD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,QAAQ,GAAG,MAAM,EACxB,IAAI,EAAE,SAAS,OAAO,EAAE,EACxB,KAAK,SAAa,GACjB,6BAA6B,GAAG,SAAS,CAqC3C;AAOD,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,gBAAgB,EACtB,eAAe,CAAC,EAAE,OAAO,GACxB,OAAO,CAiBT;AAWD,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAO1E;AAMD,wBAAgB,0BAA0B,SAUzC"}
package/types/types.d.ts CHANGED
@@ -94,6 +94,14 @@ export type ZeroEvent = {
94
94
  type: 'error';
95
95
  reasonKey: 'connection-error' | 'connection-needs-auth';
96
96
  message: string;
97
+ } | {
98
+ type: 'reconnect';
99
+ status: 'trying' | 'waiting';
100
+ reasonKey: ZeroReconnectReasonKey;
101
+ reason: string;
102
+ } | {
103
+ type: 'reconnect';
104
+ status: 'connected';
97
105
  } | {
98
106
  type: 'recovering';
99
107
  reasonKey: ZeroRecoveryReasonKey;
@@ -113,7 +121,8 @@ export type ZeroEventsEmitter = {
113
121
  listen: (listener: (value: ZeroEvent | null) => void) => () => void;
114
122
  emit: (next: ZeroEvent | null) => void;
115
123
  };
116
- export type ZeroRecoveryReasonKey = 'NewClientGroup' | 'VersionNotSupported' | 'SchemaVersionNotSupported' | 'client-state-not-found' | 'indexeddb-not-found' | 'sqlite-statement-finalized' | 'store-closed-repeat' | 'mutation-desync' | 'connection-cookie-invalid' | 'client-not-found' | 'connection-userid-mismatch' | 'server-ack-timeout';
124
+ export type ZeroRecoveryReasonKey = 'NewClientGroup' | 'VersionNotSupported' | 'SchemaVersionNotSupported' | 'client-state-not-found' | 'indexeddb-not-found' | 'sqlite-statement-finalized' | 'store-closed-repeat' | 'mutation-desync' | 'connection-cookie-invalid' | 'client-not-found' | 'connection-userid-mismatch';
125
+ export type ZeroReconnectReasonKey = 'transport' | 'server-overloaded' | 'server-ack-timeout';
117
126
  /**
118
127
  * Admin role bypass for permissions:
119
128
  * - 'all': admin bypasses both query and mutation permissions (default)
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}