@multiplatform.one/frappe 7.86.0 → 7.87.0

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 (40) hide show
  1. package/dist/cjs/core/http.cjs +21 -6
  2. package/dist/cjs/core/http.native.js +21 -6
  3. package/dist/cjs/core/http.native.js.map +1 -1
  4. package/dist/cjs/sync/persistence.cjs +23 -2
  5. package/dist/cjs/sync/persistence.native.js +30 -2
  6. package/dist/cjs/sync/persistence.native.js.map +1 -1
  7. package/dist/cjs/sync/types.native.js.map +1 -1
  8. package/dist/esm/core/http.mjs +21 -8
  9. package/dist/esm/core/http.mjs.map +1 -1
  10. package/dist/esm/core/http.native.js +21 -8
  11. package/dist/esm/core/http.native.js.map +1 -1
  12. package/dist/esm/sync/persistence.mjs +23 -3
  13. package/dist/esm/sync/persistence.mjs.map +1 -1
  14. package/dist/esm/sync/persistence.native.js +30 -3
  15. package/dist/esm/sync/persistence.native.js.map +1 -1
  16. package/dist/esm/sync/types.mjs.map +1 -1
  17. package/dist/esm/sync/types.native.js.map +1 -1
  18. package/dist/jsx/core/http.mjs +21 -8
  19. package/dist/jsx/core/http.mjs.map +1 -1
  20. package/dist/jsx/core/http.native.js +21 -6
  21. package/dist/jsx/core/http.native.js.map +1 -1
  22. package/dist/jsx/sync/persistence.mjs +23 -3
  23. package/dist/jsx/sync/persistence.mjs.map +1 -1
  24. package/dist/jsx/sync/persistence.native.js +30 -2
  25. package/dist/jsx/sync/persistence.native.js.map +1 -1
  26. package/dist/jsx/sync/types.mjs.map +1 -1
  27. package/dist/jsx/sync/types.native.js.map +1 -1
  28. package/package.json +6 -6
  29. package/src/core/http.spec.ts +30 -0
  30. package/src/core/http.ts +27 -7
  31. package/src/core/httpHermes.spec.ts +31 -0
  32. package/src/sync/defaultStorageReady.spec.ts +93 -0
  33. package/src/sync/persistence.ts +37 -3
  34. package/src/sync/types.ts +13 -0
  35. package/types/core/http.d.ts +17 -1
  36. package/types/core/http.d.ts.map +1 -1
  37. package/types/sync/persistence.d.ts +10 -0
  38. package/types/sync/persistence.d.ts.map +1 -1
  39. package/types/sync/types.d.ts +13 -0
  40. package/types/sync/types.d.ts.map +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@multiplatform.one/frappe",
3
- "version": "7.86.0",
3
+ "version": "7.87.0",
4
4
  "description": "frappe client for multiplatform.one ecosystem",
5
5
  "keywords": [
6
6
  "auth",
@@ -60,7 +60,7 @@
60
60
  "access": "public"
61
61
  },
62
62
  "dependencies": {
63
- "@multiplatform.one/store": "^7.86.0",
63
+ "@multiplatform.one/store": "^7.87.0",
64
64
  "@tanstack/db": "0.11.3",
65
65
  "@tanstack/pacer": "0.21.1",
66
66
  "@tanstack/react-db": "0.5.3",
@@ -69,9 +69,9 @@
69
69
  "socket.io-client": "^4.8.4"
70
70
  },
71
71
  "devDependencies": {
72
- "@multiplatform.one/config": "7.86.0",
73
- "@multiplatform.one/platform": "7.86.0",
74
- "@multiplatform.one/test-utils": "7.86.0",
72
+ "@multiplatform.one/config": "7.87.0",
73
+ "@multiplatform.one/platform": "7.87.0",
74
+ "@multiplatform.one/test-utils": "7.87.0",
75
75
  "@tamagui/build": "2.7.6",
76
76
  "@testing-library/jest-dom": "^7.0.1",
77
77
  "@testing-library/react": "^16.3.3",
@@ -84,7 +84,7 @@
84
84
  "vitest": "^4.1.12"
85
85
  },
86
86
  "peerDependencies": {
87
- "@multiplatform.one/platform": "^7.86.0",
87
+ "@multiplatform.one/platform": "^7.87.0",
88
88
  "react": "^19.1.0"
89
89
  },
90
90
  "engines": {
@@ -260,6 +260,36 @@ describe("HttpClient", () => {
260
260
  expect(calledHeaders?.get("Authorization")).toBe(`token ${token}`);
261
261
  });
262
262
 
263
+ it("sends a key:secret pair under the token scheme when no type is named (FZ-8975)", async () => {
264
+ const authClient = new HttpClient(baseURL, { useToken: true, token: "key:secret" });
265
+ global.fetch = vi.fn().mockResolvedValue({
266
+ ok: true,
267
+ headers: new Headers({ "Content-Type": "application/json" }),
268
+ status: 200,
269
+ json: async () => ({ success: true }),
270
+ });
271
+ await authClient.request(HttpMethod.Get, "/test", {});
272
+ const calledHeaders = getMockFetch().mock.calls[0]?.[1]?.headers as Headers | undefined;
273
+ expect(calledHeaders?.get("Authorization")).toBe("token key:secret");
274
+ });
275
+
276
+ it("keeps a named Bearer type even for a token with a colon", async () => {
277
+ const authClient = new HttpClient(baseURL, {
278
+ useToken: true,
279
+ token: "a:b",
280
+ type: AuthType.Bearer,
281
+ });
282
+ global.fetch = vi.fn().mockResolvedValue({
283
+ ok: true,
284
+ headers: new Headers({ "Content-Type": "application/json" }),
285
+ status: 200,
286
+ json: async () => ({ success: true }),
287
+ });
288
+ await authClient.request(HttpMethod.Get, "/test", {});
289
+ const calledHeaders = getMockFetch().mock.calls[0]?.[1]?.headers as Headers | undefined;
290
+ expect(calledHeaders?.get("Authorization")).toBe("Bearer a:b");
291
+ });
292
+
263
293
  it("should support token as function", async () => {
264
294
  const token = "dynamic-token";
265
295
  const authClient = new HttpClient(baseURL, {
package/src/core/http.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { getCookie, setCookie, deleteCookie, isNative } from "@multiplatform.one/platform";
2
2
  import { isBrowser } from "../util";
3
3
  import { readServerMessages } from "./serverMessages";
4
- import { FrappeError, HttpMethod } from "./types";
4
+ import { AuthType, FrappeError, HttpMethod } from "./types";
5
5
  import type { AuthConfig, RequestCredentialsMode, RetryConfig } from "./types";
6
6
 
7
7
  export { getCookie, setCookie, deleteCookie };
@@ -88,6 +88,28 @@ export interface HttpResponse<T> {
88
88
  status: number;
89
89
  }
90
90
 
91
+ /**
92
+ * A base URL's origin and path, read without `URL`: Hermes's URL polyfill
93
+ * (whatwg-url-minimum) throws in parseIPv4Number on an IPv4 host, so a client
94
+ * pointed at http://127.0.0.1:8011 failed every request on native (FZ-8975).
95
+ */
96
+ export function splitBaseURL(baseURL: string): { origin: string; pathname: string } {
97
+ const match = /^([a-z][a-z\d+.-]*:\/\/[^/?#]*)([^?#]*)/i.exec(baseURL.trim());
98
+ if (!match) throw new TypeError(`Invalid base URL: ${baseURL}`);
99
+ return { origin: match[1] as string, pathname: match[2] || "/" };
100
+ }
101
+
102
+ /**
103
+ * Frappe's API key pair is `key:secret` and goes under the `token` scheme;
104
+ * an OAuth bearer token has no colon. A caller that names no `type` gets the
105
+ * scheme its token's shape says, so `{ useToken, token: "key:secret" }` no
106
+ * longer sends `Bearer key:secret`, which Frappe 403s (FZ-8975).
107
+ */
108
+ export function authScheme(type: AuthType | undefined, token: string): AuthType {
109
+ if (type) return type;
110
+ return /^[^:\s]+:[^:\s]+$/.test(token) ? AuthType.Token : AuthType.Bearer;
111
+ }
112
+
91
113
  export function trimTrailingSlashes(value: string): string {
92
114
  let end = value.length;
93
115
  while (end > 0 && value[end - 1] === "/") end -= 1;
@@ -211,10 +233,9 @@ export class HttpClient {
211
233
  */
212
234
  private resolveURL(path: string): string {
213
235
  if (/^[a-z][a-z\d+.-]*:/i.test(path)) return path;
214
- const base = new URL(this.baseURL);
215
- const prefix = trimTrailingSlashes(base.pathname);
216
- if (path.startsWith("/")) return new URL(`${prefix}${path}`, base.origin).toString();
217
- return new URL(path, `${base.origin}${prefix}/`).toString();
236
+ const { origin, pathname } = splitBaseURL(this.baseURL);
237
+ const prefix = trimTrailingSlashes(pathname);
238
+ return `${origin}${prefix}${path.startsWith("/") ? path : `/${path}`}`;
218
239
  }
219
240
 
220
241
  private requestCredentials(): RequestCredentialsMode {
@@ -225,8 +246,7 @@ export class HttpClient {
225
246
  if (!this.auth?.useToken) return {};
226
247
  const raw = typeof this.auth.token === "function" ? await this.auth.token() : this.auth?.token;
227
248
  if (!raw) return {};
228
- const scheme = this.auth?.type === "token" ? "token" : "Bearer";
229
- return { Authorization: `${scheme} ${raw}` };
249
+ return { Authorization: `${authScheme(this.auth?.type, raw)} ${raw}` };
230
250
  }
231
251
 
232
252
  private shouldRetryError(err: unknown, attempt: number): boolean {
@@ -109,6 +109,37 @@ describe("HttpClient on a runtime without ReadableStream, Blob or FormData", ()
109
109
  expect(new Headers(init?.headers).get("Content-Type")).toBe("application/json");
110
110
  });
111
111
 
112
+ it("resolves against an IPv4 base when the URL polyfill throws on it (FZ-8975)", async () => {
113
+ const realURL = globalThis.URL;
114
+ class HermesURL extends realURL {
115
+ constructor(url: string | URL, base?: string | URL) {
116
+ if (/\/\/\d+\.\d+\.\d+\.\d+/.test(`${String(base ?? "")} ${String(url)}`)) {
117
+ throw new TypeError("Cannot read property 'length' of undefined");
118
+ }
119
+ super(url, base);
120
+ }
121
+ }
122
+ globalThis.URL = HermesURL as typeof URL;
123
+ try {
124
+ const client = new HttpClient("http://127.0.0.1:8011/sub/", {
125
+ useToken: true,
126
+ token: "key:secret",
127
+ });
128
+ await expect(client.get("/api/method/frappe.desk.search.search_link")).resolves.toMatchObject(
129
+ {
130
+ status: 200,
131
+ },
132
+ );
133
+ await client.get("api/method/ping");
134
+ expect(fetchMock.mock.calls.map(([url]) => String(url))).toEqual([
135
+ "http://127.0.0.1:8011/sub/api/method/frappe.desk.search.search_link",
136
+ "http://127.0.0.1:8011/sub/api/method/ping",
137
+ ]);
138
+ } finally {
139
+ globalThis.URL = realURL;
140
+ }
141
+ });
142
+
112
143
  it("PUTs a JSON body over native cookie auth after the CSRF bootstrap", async () => {
113
144
  const client = new HttpClient(baseURL);
114
145
 
@@ -0,0 +1,93 @@
1
+ /**
2
+ * persistKey with no `storage` falls back to the platform default
3
+ * (IndexedDBKV, else PlatformStorageKV). When that default never answers its
4
+ * first read, subscribe must still fetch: loading ends in rows or an error,
5
+ * never a silent hang (FZ-8997, LC-84). Both defaults are stubbed here with a
6
+ * read that never settles.
7
+ */
8
+ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
9
+ import { SyncModule } from "./index";
10
+ import type { SubscriptionQuery } from "./types";
11
+
12
+ const hungStores = vi.hoisted(() => [] as Array<{ setItem: ReturnType<typeof vi.fn> }>);
13
+
14
+ vi.mock("./storage", () => {
15
+ function HungKV(this: any) {
16
+ this.getItem = vi.fn(() => new Promise<string | null>(() => {}));
17
+ this.setItem = vi.fn().mockResolvedValue(undefined);
18
+ this.removeItem = vi.fn().mockResolvedValue(undefined);
19
+ hungStores.push(this);
20
+ return this;
21
+ }
22
+ return { IndexedDBKV: vi.fn(HungKV), PlatformStorageKV: vi.fn(HungKV) };
23
+ });
24
+
25
+ const rows = [
26
+ { name: "a1", doctype: "Account", modified: "2026-11-01T10:00:00", account_name: "Cash" },
27
+ { name: "a2", doctype: "Account", modified: "2026-11-01T11:00:00", account_name: "Bank" },
28
+ ];
29
+
30
+ const accountQuery: SubscriptionQuery = { doctype: "Account", fields: ["account_name"] };
31
+
32
+ function createMockDb() {
33
+ return {
34
+ getDoc: vi.fn().mockResolvedValue(rows[0]),
35
+ getDocList: vi.fn().mockResolvedValue(rows),
36
+ createDoc: vi.fn(),
37
+ updateDoc: vi.fn(),
38
+ deleteDoc: vi.fn(),
39
+ backfill: vi.fn().mockResolvedValue({ rows: [], checkpoint: "2026-11-02T00:00:00" }),
40
+ } as any;
41
+ }
42
+
43
+ describe("persistKey without storage when the default storage never settles", () => {
44
+ let modules: SyncModule[];
45
+ let warn: ReturnType<typeof vi.spyOn>;
46
+
47
+ beforeEach(() => {
48
+ vi.useFakeTimers();
49
+ modules = [];
50
+ hungStores.length = 0;
51
+ localStorage.clear();
52
+ warn = vi.spyOn(console, "warn").mockImplementation(() => {});
53
+ });
54
+
55
+ afterEach(async () => {
56
+ for (const sync of modules) await sync.dispose();
57
+ vi.useRealTimers();
58
+ vi.restoreAllMocks();
59
+ });
60
+
61
+ function createSync(db: any) {
62
+ const sync = new SyncModule(db, undefined, { persistKey: "k", catchUpStrategy: "snapshot" });
63
+ modules.push(sync);
64
+ return sync;
65
+ }
66
+
67
+ it("fetches and returns rows instead of waiting forever", async () => {
68
+ const db = createMockDb();
69
+ const sync = createSync(db);
70
+ let settled = false;
71
+ const pending = sync.subscribe(accountQuery).finally(() => {
72
+ settled = true;
73
+ });
74
+
75
+ await vi.advanceTimersByTimeAsync(10_000);
76
+
77
+ expect(settled).toBe(true);
78
+ const result = await pending;
79
+ expect(db.getDocList).toHaveBeenCalledTimes(1);
80
+ expect(result.rows.map((row) => row.name)).toEqual(["a1", "a2"]);
81
+ });
82
+
83
+ it("names the storage that never answered and keeps the session in memory", async () => {
84
+ const sync = createSync(createMockDb());
85
+ const pending = sync.subscribe(accountQuery);
86
+ await vi.advanceTimersByTimeAsync(10_000);
87
+ await pending;
88
+
89
+ expect(warn).toHaveBeenCalledWith(expect.stringMatching(/persistKey "k".*in memory/));
90
+ await vi.advanceTimersByTimeAsync(100);
91
+ for (const store of hungStores) expect(store.setItem).not.toHaveBeenCalled();
92
+ });
93
+ });
@@ -16,6 +16,13 @@ import { IndexedDBKV, PlatformStorageKV } from "./storage";
16
16
  import type { SubscriptionManager } from "./subscriptionManager";
17
17
  import type { SyncOptions, KVStorage, Mutation, TabCoordinationConfig, TabMessage } from "./types";
18
18
 
19
+ /**
20
+ * How long the first snapshot read may take before the session gives up on
21
+ * the storage and syncs in memory (FZ-8997). `SyncOptions.storageReadyTimeout`
22
+ * overrides it.
23
+ */
24
+ export const DEFAULT_STORAGE_READY_TIMEOUT_MS = 3000;
25
+
19
26
  /** Safe access to localStorage (undefined in Node/test envs). */
20
27
  function getLocalStorage(): Storage | undefined {
21
28
  try {
@@ -57,6 +64,9 @@ export class PersistenceManager {
57
64
  * memory. Resolved immediately when persistence is disabled. Never rejects.
58
65
  */
59
66
  private loadPromise: Promise<void> = Promise.resolve();
67
+ /** Set when the first read outlived its bound; a late answer is ignored. */
68
+ private loadAbandoned = false;
69
+ private loadTimer: ReturnType<typeof setTimeout> | undefined;
60
70
  private readonly normalizedCache: NormalizedCache;
61
71
  private readonly mutationJournal: MutationJournal;
62
72
  private readonly subscriptionManager: SubscriptionManager;
@@ -150,8 +160,30 @@ export class PersistenceManager {
150
160
  this.persistenceStorage = new PlatformStorageKV();
151
161
  }
152
162
 
153
- // Load persisted state if available; expose completion via whenReady()
154
- this.loadPromise = this.load();
163
+ // Load persisted state if available; expose completion via whenReady().
164
+ // The read is bounded: a storage that never answers (a stalled IndexedDB
165
+ // open, a store that never initialises) would otherwise park every
166
+ // subscribe behind whenReady() with no fetch and no error.
167
+ this.loadPromise = this.loadWithin(
168
+ this.options.storageReadyTimeout ?? DEFAULT_STORAGE_READY_TIMEOUT_MS,
169
+ );
170
+ }
171
+
172
+ private loadWithin(timeoutMs: number): Promise<void> {
173
+ const storage = this.persistenceStorage;
174
+ const timedOut = new Promise<"timeout">((resolve) => {
175
+ this.loadTimer = setTimeout(() => resolve("timeout"), timeoutMs);
176
+ });
177
+ return Promise.race([this.load().then(() => "loaded" as const), timedOut]).then((outcome) => {
178
+ clearTimeout(this.loadTimer);
179
+ this.loadTimer = undefined;
180
+ if (outcome !== "timeout" || this.persistenceStorage !== storage) return;
181
+ this.loadAbandoned = true;
182
+ this.persistenceStorage = undefined;
183
+ console.warn(
184
+ `[frappe-sync] the storage for persistKey "${this.options.persistKey}" did not answer its first read within ${timeoutMs} ms; this session syncs in memory and persists nothing.`,
185
+ );
186
+ });
155
187
  }
156
188
 
157
189
  /**
@@ -355,7 +387,7 @@ export class PersistenceManager {
355
387
  if (!this.options.persistKey || !this.persistenceStorage) return;
356
388
  try {
357
389
  const raw = await this.persistenceStorage.getItem(this.options.persistKey);
358
- if (!raw) return;
390
+ if (!raw || this.loadAbandoned) return;
359
391
  const snap = JSON.parse(raw);
360
392
 
361
393
  // Restore cache first so reads have data once subs are reinstated.
@@ -846,6 +878,8 @@ export class PersistenceManager {
846
878
 
847
879
  // Cancel pending save
848
880
  this.saveDebouncer.cancel();
881
+ clearTimeout(this.loadTimer);
882
+ this.loadTimer = undefined;
849
883
 
850
884
  // Clear leader check interval
851
885
  if (this.leaderCheckInterval) {
package/src/sync/types.ts CHANGED
@@ -214,7 +214,20 @@ export interface SyncOptions {
214
214
  onConflict?: (info: { doctype: string; name?: string }) => void;
215
215
  onRetry?: (info: { id: string; operation: Operation }) => void;
216
216
  onBackfill?: (info: { doctype: string; fetched: number; checkpoint?: string }) => void;
217
+ /**
218
+ * Where `persistKey` snapshots live. Omitted, the platform default is used:
219
+ * IndexedDB where it exists, else the store package's KV (MMKV on native,
220
+ * localStorage on web, memory on GJS). Whichever is used, a first read that
221
+ * takes longer than `storageReadyTimeout` is abandoned: the session warns,
222
+ * syncs in memory and persists nothing, so subscriptions still fetch.
223
+ */
217
224
  storage?: KVStorage;
225
+ /**
226
+ * How long, in milliseconds, the first snapshot read may take before the
227
+ * session gives up on `storage` and syncs in memory (default 3000). Only
228
+ * relevant when `persistKey` is set.
229
+ */
230
+ storageReadyTimeout?: number;
218
231
  versionField?: string;
219
232
  versionFields?: Record<string, string>;
220
233
  /**
@@ -1,5 +1,5 @@
1
1
  import { getCookie, setCookie, deleteCookie } from "@multiplatform.one/platform";
2
- import { HttpMethod } from "./types";
2
+ import { AuthType, HttpMethod } from "./types";
3
3
  import type { AuthConfig, RetryConfig } from "./types";
4
4
  export { getCookie, setCookie, deleteCookie };
5
5
  /**
@@ -20,6 +20,22 @@ export interface HttpResponse<T> {
20
20
  payload: T;
21
21
  status: number;
22
22
  }
23
+ /**
24
+ * A base URL's origin and path, read without `URL`: Hermes's URL polyfill
25
+ * (whatwg-url-minimum) throws in parseIPv4Number on an IPv4 host, so a client
26
+ * pointed at http://127.0.0.1:8011 failed every request on native (FZ-8975).
27
+ */
28
+ export declare function splitBaseURL(baseURL: string): {
29
+ origin: string;
30
+ pathname: string;
31
+ };
32
+ /**
33
+ * Frappe's API key pair is `key:secret` and goes under the `token` scheme;
34
+ * an OAuth bearer token has no colon. A caller that names no `type` gets the
35
+ * scheme its token's shape says, so `{ useToken, token: "key:secret" }` no
36
+ * longer sends `Bearer key:secret`, which Frappe 403s (FZ-8975).
37
+ */
38
+ export declare function authScheme(type: AuthType | undefined, token: string): AuthType;
23
39
  export declare function trimTrailingSlashes(value: string): string;
24
40
  export declare class HttpClient {
25
41
  private readonly retryConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/core/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAY,MAAM,6BAA6B,CAAC;AAG3F,OAAO,EAAe,UAAU,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAA0B,WAAW,EAAE,MAAM,SAAS,CAAC;AAE/E,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;AAqC9C;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CA2BpF;AACD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,eAAe,CAAC;AAE3F,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIzD;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAE1C,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,+FAA+F;IAC/F,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,yFAAyF;IACzF,OAAO,CAAC,iBAAiB,CAAS;IAClC,6EAA6E;IAC7E,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,IAAI,CAAC,CAAa;gBAEd,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,WAAW;IAMzE,0EAA0E;IAC1E,WAAW,CAAC,IAAI,EAAE,MAAM;IAIxB,4DAA4D;IAC5D,WAAW,IAAI,MAAM,GAAG,SAAS;IAMjC,6EAA6E;IACvE,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlE;;;;;;;;;;;;;;;;;;;;;OAqBG;YACW,qBAAqB;YAgBrB,oBAAoB;IAyBlC,OAAO,CAAC,yBAAyB;IAKjC;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,kBAAkB;YAIZ,cAAc;IAQ5B,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,aAAa;IAQf,OAAO,CAAC,CAAC,EACb,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;QACP,IAAI,CAAC,EAAE,WAAW,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,gEAAgE;QAChE,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GACA,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAkJ3B,GAAG,CAAC,CAAC,EACH,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,MAAM,CAAC,EAAE,WAAW;IAMtB,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAI1E,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIzE,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAI5E,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAKrF,aAAa,IAAI,UAAU;IAI3B,UAAU,CAAC,IAAI,EAAE,UAAU;CAM5B;AAeD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAsBpE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAAG"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/core/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAY,MAAM,6BAA6B,CAAC;AAG3F,OAAO,EAAE,QAAQ,EAAe,UAAU,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAA0B,WAAW,EAAE,MAAM,SAAS,CAAC;AAE/E,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;AAqC9C;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CA2BpF;AACD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,eAAe,CAAC;AAE3F,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAIlF;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAG9E;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIzD;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAE1C,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,+FAA+F;IAC/F,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,yFAAyF;IACzF,OAAO,CAAC,iBAAiB,CAAS;IAClC,6EAA6E;IAC7E,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,IAAI,CAAC,CAAa;gBAEd,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,WAAW;IAMzE,0EAA0E;IAC1E,WAAW,CAAC,IAAI,EAAE,MAAM;IAIxB,4DAA4D;IAC5D,WAAW,IAAI,MAAM,GAAG,SAAS;IAMjC,6EAA6E;IACvE,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlE;;;;;;;;;;;;;;;;;;;;;OAqBG;YACW,qBAAqB;YAgBrB,oBAAoB;IAyBlC,OAAO,CAAC,yBAAyB;IAKjC;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,kBAAkB;YAIZ,cAAc;IAO5B,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,aAAa;IAQf,OAAO,CAAC,CAAC,EACb,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;QACP,IAAI,CAAC,EAAE,WAAW,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,gEAAgE;QAChE,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GACA,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAkJ3B,GAAG,CAAC,CAAC,EACH,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,MAAM,CAAC,EAAE,WAAW;IAMtB,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAI1E,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIzE,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAI5E,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAKrF,aAAa,IAAI,UAAU;IAI3B,UAAU,CAAC,IAAI,EAAE,UAAU;CAM5B;AAeD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAsBpE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAAG"}
@@ -10,6 +10,12 @@ import type { MutationJournal } from "./mutationJournal";
10
10
  import type { NormalizedCache } from "./normalizedCache";
11
11
  import type { SubscriptionManager } from "./subscriptionManager";
12
12
  import type { SyncOptions, Mutation } from "./types";
13
+ /**
14
+ * How long the first snapshot read may take before the session gives up on
15
+ * the storage and syncs in memory (FZ-8997). `SyncOptions.storageReadyTimeout`
16
+ * overrides it.
17
+ */
18
+ export declare const DEFAULT_STORAGE_READY_TIMEOUT_MS = 3000;
13
19
  /**
14
20
  * Manages persistence of sync state across sessions with active tab priority leadership.
15
21
  */
@@ -38,6 +44,9 @@ export declare class PersistenceManager {
38
44
  * memory. Resolved immediately when persistence is disabled. Never rejects.
39
45
  */
40
46
  private loadPromise;
47
+ /** Set when the first read outlived its bound; a late answer is ignored. */
48
+ private loadAbandoned;
49
+ private loadTimer;
41
50
  private readonly normalizedCache;
42
51
  private readonly mutationJournal;
43
52
  private readonly subscriptionManager;
@@ -54,6 +63,7 @@ export declare class PersistenceManager {
54
63
  * Sets up persistence storage based on environment and options.
55
64
  */
56
65
  private setupPersistence;
66
+ private loadWithin;
57
67
  /**
58
68
  * Sets up BroadcastChannel for cross-tab coordination.
59
69
  * Handles both simple string messages and structured TabMessage types.
@@ -1 +1 @@
1
- {"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../src/sync/persistence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../src/sync/persistence.ts"],"names":[],"mappings":"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"}
@@ -210,7 +210,20 @@ export interface SyncOptions {
210
210
  fetched: number;
211
211
  checkpoint?: string;
212
212
  }) => void;
213
+ /**
214
+ * Where `persistKey` snapshots live. Omitted, the platform default is used:
215
+ * IndexedDB where it exists, else the store package's KV (MMKV on native,
216
+ * localStorage on web, memory on GJS). Whichever is used, a first read that
217
+ * takes longer than `storageReadyTimeout` is abandoned: the session warns,
218
+ * syncs in memory and persists nothing, so subscriptions still fetch.
219
+ */
213
220
  storage?: KVStorage;
221
+ /**
222
+ * How long, in milliseconds, the first snapshot read may take before the
223
+ * session gives up on `storage` and syncs in memory (default 3000). Only
224
+ * relevant when `persistKey` is set.
225
+ */
226
+ storageReadyTimeout?: number;
214
227
  versionField?: string;
215
228
  versionFields?: Record<string, string>;
216
229
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sync/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sync/types.ts"],"names":[],"mappings":"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"}