on-zero 0.16.19 → 0.16.20
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/dist/cjs/createUseQuery.cjs +2 -1
- package/dist/cjs/createUseQuery.native.js +2 -1
- package/dist/cjs/createUseQuery.native.js.map +1 -1
- package/dist/cjs/createUseQueryDirect.cjs +2 -1
- package/dist/cjs/createUseQueryDirect.native.js +2 -1
- package/dist/cjs/createUseQueryDirect.native.js.map +1 -1
- package/dist/cjs/createZeroClient.cjs +75 -9
- package/dist/cjs/createZeroClient.native.js +151 -81
- package/dist/cjs/createZeroClient.native.js.map +1 -1
- package/dist/cjs/createZeroClient.recovery.test.cjs +351 -10
- package/dist/cjs/createZeroClient.recovery.test.native.js +412 -12
- package/dist/cjs/createZeroClient.recovery.test.native.js.map +1 -1
- package/dist/cjs/generate.cjs +16 -11
- package/dist/cjs/generate.native.js +16 -11
- package/dist/cjs/generate.native.js.map +1 -1
- package/dist/cjs/generate.test.cjs +22 -0
- package/dist/cjs/generate.test.native.js +22 -0
- package/dist/cjs/generate.test.native.js.map +1 -1
- package/dist/cjs/helpers/recoverZeroClient.cjs +542 -52
- package/dist/cjs/helpers/recoverZeroClient.native.js +721 -59
- package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -1
- package/dist/cjs/helpers/recoverZeroClient.test.cjs +318 -0
- package/dist/cjs/helpers/recoverZeroClient.test.native.js +361 -0
- package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -1
- package/dist/cjs/kvStore.cjs +30 -0
- package/dist/cjs/kvStore.native.js +34 -0
- package/dist/cjs/kvStore.native.js.map +1 -0
- package/dist/cjs/queryJson.cjs +58 -0
- package/dist/cjs/queryJson.native.js +86 -0
- package/dist/cjs/queryJson.native.js.map +1 -0
- package/dist/cjs/resolveQuery.cjs +2 -0
- package/dist/cjs/resolveQuery.native.js +2 -0
- package/dist/cjs/resolveQuery.native.js.map +1 -1
- package/dist/cjs/useQuery.empty.test.cjs +11 -1
- package/dist/cjs/useQuery.empty.test.native.js +23 -1
- package/dist/cjs/useQuery.empty.test.native.js.map +1 -1
- package/dist/cjs/useQuery.ssr.test.cjs +22 -1
- package/dist/cjs/useQuery.ssr.test.native.js +30 -1
- package/dist/cjs/useQuery.ssr.test.native.js.map +1 -1
- package/dist/esm/createUseQuery.mjs +2 -1
- package/dist/esm/createUseQuery.mjs.map +1 -1
- package/dist/esm/createUseQuery.native.js +2 -1
- package/dist/esm/createUseQuery.native.js.map +1 -1
- package/dist/esm/createUseQueryDirect.mjs +2 -1
- package/dist/esm/createUseQueryDirect.mjs.map +1 -1
- package/dist/esm/createUseQueryDirect.native.js +2 -1
- package/dist/esm/createUseQueryDirect.native.js.map +1 -1
- package/dist/esm/createZeroClient.mjs +76 -10
- package/dist/esm/createZeroClient.mjs.map +1 -1
- package/dist/esm/createZeroClient.native.js +152 -82
- package/dist/esm/createZeroClient.native.js.map +1 -1
- package/dist/esm/createZeroClient.recovery.test.mjs +352 -11
- package/dist/esm/createZeroClient.recovery.test.mjs.map +1 -1
- package/dist/esm/createZeroClient.recovery.test.native.js +413 -13
- package/dist/esm/createZeroClient.recovery.test.native.js.map +1 -1
- package/dist/esm/generate.mjs +16 -11
- package/dist/esm/generate.mjs.map +1 -1
- package/dist/esm/generate.native.js +16 -11
- package/dist/esm/generate.native.js.map +1 -1
- package/dist/esm/generate.test.mjs +22 -0
- package/dist/esm/generate.test.mjs.map +1 -1
- package/dist/esm/generate.test.native.js +22 -0
- package/dist/esm/generate.test.native.js.map +1 -1
- package/dist/esm/helpers/recoverZeroClient.mjs +542 -54
- package/dist/esm/helpers/recoverZeroClient.mjs.map +1 -1
- package/dist/esm/helpers/recoverZeroClient.native.js +721 -61
- package/dist/esm/helpers/recoverZeroClient.native.js.map +1 -1
- package/dist/esm/helpers/recoverZeroClient.test.mjs +319 -1
- package/dist/esm/helpers/recoverZeroClient.test.mjs.map +1 -1
- package/dist/esm/helpers/recoverZeroClient.test.native.js +362 -1
- package/dist/esm/helpers/recoverZeroClient.test.native.js.map +1 -1
- package/dist/esm/kvStore.mjs +5 -0
- package/dist/esm/kvStore.mjs.map +1 -0
- package/dist/esm/kvStore.native.js +6 -0
- package/dist/esm/kvStore.native.js.map +1 -0
- package/dist/esm/queryJson.mjs +32 -0
- package/dist/esm/queryJson.mjs.map +1 -0
- package/dist/esm/queryJson.native.js +57 -0
- package/dist/esm/queryJson.native.js.map +1 -0
- package/dist/esm/resolveQuery.mjs +2 -0
- package/dist/esm/resolveQuery.mjs.map +1 -1
- package/dist/esm/resolveQuery.native.js +2 -0
- package/dist/esm/resolveQuery.native.js.map +1 -1
- package/dist/esm/useQuery.empty.test.mjs +12 -2
- package/dist/esm/useQuery.empty.test.mjs.map +1 -1
- package/dist/esm/useQuery.empty.test.native.js +24 -2
- package/dist/esm/useQuery.empty.test.native.js.map +1 -1
- package/dist/esm/useQuery.ssr.test.mjs +23 -2
- package/dist/esm/useQuery.ssr.test.mjs.map +1 -1
- package/dist/esm/useQuery.ssr.test.native.js +31 -2
- package/dist/esm/useQuery.ssr.test.native.js.map +1 -1
- package/package.json +11 -3
- package/src/createUseQuery.tsx +2 -1
- package/src/createUseQueryDirect.tsx +2 -1
- package/src/createZeroClient.recovery.test.tsx +370 -7
- package/src/createZeroClient.tsx +100 -10
- package/src/generate.test.ts +31 -0
- package/src/generate.ts +22 -10
- package/src/helpers/recoverZeroClient.test.ts +323 -0
- package/src/helpers/recoverZeroClient.ts +896 -78
- package/src/kvStore.native.ts +7 -0
- package/src/kvStore.ts +7 -0
- package/src/queryJson.ts +46 -0
- package/src/resolveQuery.ts +2 -0
- package/src/useQuery.empty.test.tsx +16 -2
- package/src/useQuery.ssr.test.ts +23 -2
- package/types/createUseQuery.d.ts.map +1 -1
- package/types/createUseQueryDirect.d.ts.map +1 -1
- package/types/createZeroClient.d.ts.map +1 -1
- package/types/createZeroClient.recovery.test.d.ts.map +1 -1
- package/types/generate.d.ts.map +1 -1
- package/types/helpers/recoverZeroClient.d.ts +6 -0
- package/types/helpers/recoverZeroClient.d.ts.map +1 -1
- package/types/kvStore.d.ts +2 -0
- package/types/kvStore.d.ts.map +1 -0
- package/types/kvStore.native.d.ts +3 -0
- package/types/kvStore.native.d.ts.map +1 -0
- package/types/queryJson.d.ts +3 -0
- package/types/queryJson.d.ts.map +1 -0
- package/types/resolveQuery.d.ts.map +1 -1
|
@@ -3,38 +3,66 @@ import { act, Suspense, useLayoutEffect } from "react";
|
|
|
3
3
|
import { createRoot } from "react-dom/client";
|
|
4
4
|
import { afterEach, beforeEach, expect, test, vi } from "vitest";
|
|
5
5
|
import { createZeroClient } from "./createZeroClient.mjs";
|
|
6
|
-
import { resetRecoveryStateForTests } from "./helpers/recoverZeroClient.mjs";
|
|
6
|
+
import { isGroupTransitionOpen, resetRecoveryStateForTests } from "./helpers/recoverZeroClient.mjs";
|
|
7
7
|
import { jsx } from "react/jsx-runtime";
|
|
8
8
|
const fakeZero = vi.hoisted(() => {
|
|
9
|
+
const group = {
|
|
10
|
+
current: "g1"
|
|
11
|
+
};
|
|
9
12
|
class FakeZero {
|
|
10
13
|
constructor(options) {
|
|
11
14
|
this.options = options;
|
|
12
15
|
instances.push(this);
|
|
16
|
+
this.clientGroupID = Promise.resolve(group.current);
|
|
17
|
+
const listeners = /* @__PURE__ */new Set();
|
|
18
|
+
this.connection = {
|
|
19
|
+
state: {
|
|
20
|
+
current: {
|
|
21
|
+
name: "closed"
|
|
22
|
+
},
|
|
23
|
+
subscribe: listener => {
|
|
24
|
+
listeners.add(listener);
|
|
25
|
+
return () => {
|
|
26
|
+
listeners.delete(listener);
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
connect: vi.fn()
|
|
31
|
+
};
|
|
32
|
+
this.__connectionListeners = listeners;
|
|
13
33
|
}
|
|
14
34
|
context = {};
|
|
15
|
-
connection
|
|
16
|
-
state: {
|
|
17
|
-
current: {
|
|
18
|
-
name: "closed"
|
|
19
|
-
},
|
|
20
|
-
subscribe: () => () => {}
|
|
21
|
-
},
|
|
22
|
-
connect: vi.fn()
|
|
23
|
-
};
|
|
35
|
+
connection;
|
|
24
36
|
delete = vi.fn(async () => ({
|
|
25
37
|
errors: []
|
|
26
38
|
}));
|
|
27
39
|
close = vi.fn();
|
|
28
40
|
run = vi.fn(async () => []);
|
|
41
|
+
mutate = {
|
|
42
|
+
note: {
|
|
43
|
+
insert: vi.fn(() => ({
|
|
44
|
+
client: Promise.resolve({}),
|
|
45
|
+
server: Promise.resolve({})
|
|
46
|
+
}))
|
|
47
|
+
}
|
|
48
|
+
};
|
|
29
49
|
preload = vi.fn(() => ({
|
|
30
50
|
cleanup: () => {},
|
|
31
51
|
complete: Promise.resolve()
|
|
32
52
|
}));
|
|
53
|
+
clientGroupID;
|
|
33
54
|
}
|
|
34
55
|
const instances = [];
|
|
56
|
+
function setConnectionState(instance, name) {
|
|
57
|
+
instance.connection.state.current.name = name;
|
|
58
|
+
const listeners = instance.__connectionListeners;
|
|
59
|
+
for (const listener of [...listeners]) listener();
|
|
60
|
+
}
|
|
35
61
|
return {
|
|
36
62
|
FakeZero,
|
|
37
|
-
instances
|
|
63
|
+
instances,
|
|
64
|
+
group,
|
|
65
|
+
setConnectionState
|
|
38
66
|
};
|
|
39
67
|
});
|
|
40
68
|
vi.mock("@rocicorp/zero", async importOriginal => {
|
|
@@ -64,6 +92,7 @@ beforeEach(() => {
|
|
|
64
92
|
window.sessionStorage.clear();
|
|
65
93
|
resetRecoveryStateForTests();
|
|
66
94
|
fakeZero.instances.length = 0;
|
|
95
|
+
fakeZero.group.current = "g1";
|
|
67
96
|
container = document.createElement("div");
|
|
68
97
|
root = null;
|
|
69
98
|
});
|
|
@@ -422,4 +451,316 @@ test("headless NewClientGroup recovery reconstructs its client without a provide
|
|
|
422
451
|
expect(first.close).toHaveBeenCalledOnce();
|
|
423
452
|
await connection.close();
|
|
424
453
|
});
|
|
454
|
+
function makeTransitionClient(instanceName) {
|
|
455
|
+
return createZeroClient({
|
|
456
|
+
schema,
|
|
457
|
+
models: {},
|
|
458
|
+
groupedQueries: {},
|
|
459
|
+
instanceName
|
|
460
|
+
});
|
|
461
|
+
}
|
|
462
|
+
function collectClientEvents(client2) {
|
|
463
|
+
const events = [];
|
|
464
|
+
const off = client2.zeroEvents.listen(event => {
|
|
465
|
+
if (event) events.push(event);
|
|
466
|
+
});
|
|
467
|
+
return {
|
|
468
|
+
events,
|
|
469
|
+
off
|
|
470
|
+
};
|
|
471
|
+
}
|
|
472
|
+
async function mountTransitionClient(client2, userID) {
|
|
473
|
+
const el = document.createElement("div");
|
|
474
|
+
const mountedRoot = createRoot(el);
|
|
475
|
+
await act(async () => {
|
|
476
|
+
mountedRoot.render(/* @__PURE__ */jsx(client2.ProvideZero, {
|
|
477
|
+
cacheURL: "http://127.0.0.1:7777/zero",
|
|
478
|
+
userID,
|
|
479
|
+
children: /* @__PURE__ */jsx("span", {
|
|
480
|
+
children: "ok"
|
|
481
|
+
})
|
|
482
|
+
}));
|
|
483
|
+
await Promise.resolve();
|
|
484
|
+
});
|
|
485
|
+
return {
|
|
486
|
+
el,
|
|
487
|
+
root: mountedRoot,
|
|
488
|
+
instance: fakeZero.instances.at(-1)
|
|
489
|
+
};
|
|
490
|
+
}
|
|
491
|
+
async function unmountTransitionClient(mounted) {
|
|
492
|
+
await act(async () => {
|
|
493
|
+
mounted.root.unmount();
|
|
494
|
+
});
|
|
495
|
+
}
|
|
496
|
+
function withoutPageReload() {
|
|
497
|
+
const originalLocation = globalThis.location;
|
|
498
|
+
Object.defineProperty(globalThis, "location", {
|
|
499
|
+
configurable: true,
|
|
500
|
+
value: void 0
|
|
501
|
+
});
|
|
502
|
+
return () => {
|
|
503
|
+
Object.defineProperty(globalThis, "location", {
|
|
504
|
+
configurable: true,
|
|
505
|
+
value: originalLocation
|
|
506
|
+
});
|
|
507
|
+
};
|
|
508
|
+
}
|
|
509
|
+
test("two providers ride one group transition and keep querying and mutating", async () => {
|
|
510
|
+
const restoreLocation = withoutPageReload();
|
|
511
|
+
const clientA = makeTransitionClient("transition-two-a");
|
|
512
|
+
const clientB = makeTransitionClient("transition-two-b");
|
|
513
|
+
const collectedA = collectClientEvents(clientA);
|
|
514
|
+
const collectedB = collectClientEvents(clientB);
|
|
515
|
+
const mountedA = await mountTransitionClient(clientA, "transition-user");
|
|
516
|
+
const mountedB = await mountTransitionClient(clientB, "transition-user");
|
|
517
|
+
const firstA = mountedA.instance;
|
|
518
|
+
const firstB = mountedB.instance;
|
|
519
|
+
const countBefore = fakeZero.instances.length;
|
|
520
|
+
try {
|
|
521
|
+
firstA.options.onUpdateNeeded({
|
|
522
|
+
type: "NewClientGroup"
|
|
523
|
+
});
|
|
524
|
+
firstB.options.onUpdateNeeded({
|
|
525
|
+
type: "NewClientGroup"
|
|
526
|
+
});
|
|
527
|
+
await act(async () => {
|
|
528
|
+
await new Promise(resolve => setTimeout(resolve, 0));
|
|
529
|
+
});
|
|
530
|
+
expect(fakeZero.instances).toHaveLength(countBefore + 2);
|
|
531
|
+
const secondA = fakeZero.instances[countBefore];
|
|
532
|
+
const secondB = fakeZero.instances[countBefore + 1];
|
|
533
|
+
expect(secondA).not.toBe(firstA);
|
|
534
|
+
expect(secondB).not.toBe(firstB);
|
|
535
|
+
expect(firstA.close).toHaveBeenCalledTimes(1);
|
|
536
|
+
expect(firstB.close).toHaveBeenCalledTimes(1);
|
|
537
|
+
expect(isGroupTransitionOpen()).toBe(true);
|
|
538
|
+
await act(async () => {
|
|
539
|
+
fakeZero.setConnectionState(secondA, "connected");
|
|
540
|
+
fakeZero.setConnectionState(secondB, "connected");
|
|
541
|
+
await Promise.resolve();
|
|
542
|
+
});
|
|
543
|
+
await vi.waitFor(() => expect(isGroupTransitionOpen()).toBe(false));
|
|
544
|
+
const allEvents = [...collectedA.events, ...collectedB.events];
|
|
545
|
+
expect(allEvents.filter(event => event.type === "recovering")).toHaveLength(1);
|
|
546
|
+
expect(allEvents.filter(event => event.type === "fatal")).toHaveLength(0);
|
|
547
|
+
expect(firstA.delete).not.toHaveBeenCalled();
|
|
548
|
+
expect(firstB.delete).not.toHaveBeenCalled();
|
|
549
|
+
await clientA.zero.run({});
|
|
550
|
+
await clientB.zero.run({});
|
|
551
|
+
expect(secondA.run).toHaveBeenCalled();
|
|
552
|
+
expect(secondB.run).toHaveBeenCalled();
|
|
553
|
+
clientA.zero.mutate.note.insert({
|
|
554
|
+
id: "a1"
|
|
555
|
+
});
|
|
556
|
+
clientB.zero.mutate.note.insert({
|
|
557
|
+
id: "b1"
|
|
558
|
+
});
|
|
559
|
+
expect(secondA.mutate.note.insert).toHaveBeenCalledTimes(1);
|
|
560
|
+
expect(secondB.mutate.note.insert).toHaveBeenCalledTimes(1);
|
|
561
|
+
} finally {
|
|
562
|
+
collectedA.off();
|
|
563
|
+
collectedB.off();
|
|
564
|
+
await unmountTransitionClient(mountedA);
|
|
565
|
+
await unmountTransitionClient(mountedB);
|
|
566
|
+
restoreLocation();
|
|
567
|
+
}
|
|
568
|
+
});
|
|
569
|
+
test("a second registry change after recovery remints again without fatal", async () => {
|
|
570
|
+
const restoreLocation = withoutPageReload();
|
|
571
|
+
const clientA = makeTransitionClient("transition-second-a");
|
|
572
|
+
const clientB = makeTransitionClient("transition-second-b");
|
|
573
|
+
const collectedA = collectClientEvents(clientA);
|
|
574
|
+
const collectedB = collectClientEvents(clientB);
|
|
575
|
+
const mountedA = await mountTransitionClient(clientA, "transition-second-user");
|
|
576
|
+
const mountedB = await mountTransitionClient(clientB, "transition-second-user");
|
|
577
|
+
try {
|
|
578
|
+
const fireBoth = instances => {
|
|
579
|
+
instances[0].options.onUpdateNeeded({
|
|
580
|
+
type: "NewClientGroup"
|
|
581
|
+
});
|
|
582
|
+
instances[1].options.onUpdateNeeded({
|
|
583
|
+
type: "NewClientGroup"
|
|
584
|
+
});
|
|
585
|
+
};
|
|
586
|
+
const settleRemints = async countBefore2 => {
|
|
587
|
+
await act(async () => {
|
|
588
|
+
await new Promise(resolve => setTimeout(resolve, 0));
|
|
589
|
+
});
|
|
590
|
+
expect(fakeZero.instances).toHaveLength(countBefore2 + 2);
|
|
591
|
+
const next = fakeZero.instances.slice(countBefore2);
|
|
592
|
+
await act(async () => {
|
|
593
|
+
for (const instance of next) fakeZero.setConnectionState(instance, "connected");
|
|
594
|
+
await Promise.resolve();
|
|
595
|
+
});
|
|
596
|
+
await vi.waitFor(() => expect(isGroupTransitionOpen()).toBe(false));
|
|
597
|
+
return next;
|
|
598
|
+
};
|
|
599
|
+
const countBeforeFirst = fakeZero.instances.length;
|
|
600
|
+
fireBoth(fakeZero.instances.slice(-2));
|
|
601
|
+
await settleRemints(countBeforeFirst);
|
|
602
|
+
fakeZero.group.current = "g2";
|
|
603
|
+
const countBefore = fakeZero.instances.length;
|
|
604
|
+
fireBoth(fakeZero.instances.slice(-2));
|
|
605
|
+
const third = await settleRemints(countBefore);
|
|
606
|
+
const allEvents = [...collectedA.events, ...collectedB.events];
|
|
607
|
+
expect(allEvents.filter(event => event.type === "recovering")).toHaveLength(2);
|
|
608
|
+
expect(allEvents.filter(event => event.type === "fatal")).toHaveLength(0);
|
|
609
|
+
await clientA.zero.run({});
|
|
610
|
+
await clientB.zero.run({});
|
|
611
|
+
expect(third[0].run).toHaveBeenCalled();
|
|
612
|
+
expect(third[1].run).toHaveBeenCalled();
|
|
613
|
+
} finally {
|
|
614
|
+
collectedA.off();
|
|
615
|
+
collectedB.off();
|
|
616
|
+
await unmountTransitionClient(mountedA);
|
|
617
|
+
await unmountTransitionClient(mountedB);
|
|
618
|
+
restoreLocation();
|
|
619
|
+
}
|
|
620
|
+
});
|
|
621
|
+
test("negative control: an incompatible schema emits exactly one terminal error, never a loop", async () => {
|
|
622
|
+
const restoreLocation = withoutPageReload();
|
|
623
|
+
const consoleError = vi.spyOn(console, "error").mockImplementation(() => {});
|
|
624
|
+
const clientA = makeTransitionClient("transition-negative-a");
|
|
625
|
+
const clientB = makeTransitionClient("transition-negative-b");
|
|
626
|
+
const collectedA = collectClientEvents(clientA);
|
|
627
|
+
const collectedB = collectClientEvents(clientB);
|
|
628
|
+
const mountedA = await mountTransitionClient(clientA, "transition-negative-user");
|
|
629
|
+
const mountedB = await mountTransitionClient(clientB, "transition-negative-user");
|
|
630
|
+
const firstA = mountedA.instance;
|
|
631
|
+
const firstB = mountedB.instance;
|
|
632
|
+
const countBefore = fakeZero.instances.length;
|
|
633
|
+
try {
|
|
634
|
+
firstA.options.onUpdateNeeded({
|
|
635
|
+
type: "SchemaVersionNotSupported"
|
|
636
|
+
});
|
|
637
|
+
firstB.options.onUpdateNeeded({
|
|
638
|
+
type: "SchemaVersionNotSupported"
|
|
639
|
+
});
|
|
640
|
+
await act(async () => {
|
|
641
|
+
await new Promise(resolve => setTimeout(resolve, 0));
|
|
642
|
+
});
|
|
643
|
+
expect(firstA.delete).toHaveBeenCalledTimes(1);
|
|
644
|
+
expect(firstB.delete).toHaveBeenCalledTimes(1);
|
|
645
|
+
expect(fakeZero.instances).toHaveLength(countBefore + 2);
|
|
646
|
+
const secondA = fakeZero.instances[countBefore];
|
|
647
|
+
const secondB = fakeZero.instances[countBefore + 1];
|
|
648
|
+
expect(isGroupTransitionOpen()).toBe(true);
|
|
649
|
+
secondA.options.onUpdateNeeded({
|
|
650
|
+
type: "SchemaVersionNotSupported"
|
|
651
|
+
});
|
|
652
|
+
await act(async () => {
|
|
653
|
+
await new Promise(resolve => setTimeout(resolve, 0));
|
|
654
|
+
});
|
|
655
|
+
const allEvents = () => [...collectedA.events, ...collectedB.events];
|
|
656
|
+
expect(allEvents().filter(event => event.type === "fatal")).toHaveLength(1);
|
|
657
|
+
const [fatal] = allEvents().filter(event => event.type === "fatal");
|
|
658
|
+
expect(fatal).toMatchObject({
|
|
659
|
+
reasonKey: "SchemaVersionNotSupported",
|
|
660
|
+
reason: expect.stringContaining("g1")
|
|
661
|
+
});
|
|
662
|
+
expect(consoleError).toHaveBeenCalledTimes(1);
|
|
663
|
+
expect(consoleError.mock.calls[0][0]).toContain("g1");
|
|
664
|
+
secondB.options.onUpdateNeeded({
|
|
665
|
+
type: "SchemaVersionNotSupported"
|
|
666
|
+
});
|
|
667
|
+
secondA.options.onUpdateNeeded({
|
|
668
|
+
type: "SchemaVersionNotSupported"
|
|
669
|
+
});
|
|
670
|
+
await act(async () => {
|
|
671
|
+
await new Promise(resolve => setTimeout(resolve, 0));
|
|
672
|
+
});
|
|
673
|
+
expect(allEvents().filter(event => event.type === "fatal")).toHaveLength(1);
|
|
674
|
+
expect(consoleError).toHaveBeenCalledTimes(1);
|
|
675
|
+
expect(fakeZero.instances).toHaveLength(countBefore + 2);
|
|
676
|
+
} finally {
|
|
677
|
+
collectedA.off();
|
|
678
|
+
collectedB.off();
|
|
679
|
+
await unmountTransitionClient(mountedA);
|
|
680
|
+
await unmountTransitionClient(mountedB);
|
|
681
|
+
restoreLocation();
|
|
682
|
+
consoleError.mockRestore();
|
|
683
|
+
}
|
|
684
|
+
});
|
|
685
|
+
test("concurrent update signals across providers schedule a single reload", async () => {
|
|
686
|
+
const reloadPage = vi.fn();
|
|
687
|
+
const originalLocation = globalThis.location;
|
|
688
|
+
Object.defineProperty(globalThis, "location", {
|
|
689
|
+
configurable: true,
|
|
690
|
+
value: {
|
|
691
|
+
href: "http://localhost/reload-test",
|
|
692
|
+
reload: reloadPage
|
|
693
|
+
}
|
|
694
|
+
});
|
|
695
|
+
const scheduleA = vi.fn();
|
|
696
|
+
const scheduleB = vi.fn();
|
|
697
|
+
const clientA = makeTransitionClient("transition-reload-a");
|
|
698
|
+
const clientB = makeTransitionClient("transition-reload-b");
|
|
699
|
+
const collectedA = collectClientEvents(clientA);
|
|
700
|
+
const collectedB = collectClientEvents(clientB);
|
|
701
|
+
const elA = document.createElement("div");
|
|
702
|
+
const elB = document.createElement("div");
|
|
703
|
+
const rootA = createRoot(elA);
|
|
704
|
+
const rootB = createRoot(elB);
|
|
705
|
+
try {
|
|
706
|
+
await act(async () => {
|
|
707
|
+
rootA.render(/* @__PURE__ */jsx(clientA.ProvideZero, {
|
|
708
|
+
cacheURL: "http://127.0.0.1:7777/zero",
|
|
709
|
+
userID: "transition-reload-user",
|
|
710
|
+
scheduleReload: scheduleA,
|
|
711
|
+
children: /* @__PURE__ */jsx("span", {
|
|
712
|
+
children: "ok"
|
|
713
|
+
})
|
|
714
|
+
}));
|
|
715
|
+
await Promise.resolve();
|
|
716
|
+
});
|
|
717
|
+
await act(async () => {
|
|
718
|
+
rootB.render(/* @__PURE__ */jsx(clientB.ProvideZero, {
|
|
719
|
+
cacheURL: "http://127.0.0.1:7777/zero",
|
|
720
|
+
userID: "transition-reload-user",
|
|
721
|
+
scheduleReload: scheduleB,
|
|
722
|
+
children: /* @__PURE__ */jsx("span", {
|
|
723
|
+
children: "ok"
|
|
724
|
+
})
|
|
725
|
+
}));
|
|
726
|
+
await Promise.resolve();
|
|
727
|
+
});
|
|
728
|
+
const firstA = fakeZero.instances.at(-2);
|
|
729
|
+
const firstB = fakeZero.instances.at(-1);
|
|
730
|
+
firstA.options.onUpdateNeeded({
|
|
731
|
+
type: "NewClientGroup"
|
|
732
|
+
});
|
|
733
|
+
firstB.options.onUpdateNeeded({
|
|
734
|
+
type: "NewClientGroup"
|
|
735
|
+
});
|
|
736
|
+
await act(async () => {
|
|
737
|
+
await new Promise(resolve => setTimeout(resolve, 0));
|
|
738
|
+
});
|
|
739
|
+
expect(scheduleA.mock.calls.length + scheduleB.mock.calls.length).toBe(1);
|
|
740
|
+
expect(reloadPage).not.toHaveBeenCalled();
|
|
741
|
+
const allEvents = [...collectedA.events, ...collectedB.events];
|
|
742
|
+
expect(allEvents.filter(event => event.type === "fatal")).toHaveLength(0);
|
|
743
|
+
const ctx = (scheduleA.mock.calls[0] ?? scheduleB.mock.calls[0])[0];
|
|
744
|
+
await act(async () => {
|
|
745
|
+
await ctx.performReload();
|
|
746
|
+
});
|
|
747
|
+
expect(reloadPage).toHaveBeenCalledTimes(1);
|
|
748
|
+
expect(isGroupTransitionOpen()).toBe(false);
|
|
749
|
+
const marker = window.sessionStorage.getItem("on-zero-recover-http://localhost/reload-test-NewClientGroup");
|
|
750
|
+
expect(marker).toContain("g1");
|
|
751
|
+
} finally {
|
|
752
|
+
collectedA.off();
|
|
753
|
+
collectedB.off();
|
|
754
|
+
await act(async () => {
|
|
755
|
+
rootA.unmount();
|
|
756
|
+
});
|
|
757
|
+
await act(async () => {
|
|
758
|
+
rootB.unmount();
|
|
759
|
+
});
|
|
760
|
+
Object.defineProperty(globalThis, "location", {
|
|
761
|
+
configurable: true,
|
|
762
|
+
value: originalLocation
|
|
763
|
+
});
|
|
764
|
+
}
|
|
765
|
+
});
|
|
425
766
|
//# sourceMappingURL=createZeroClient.recovery.test.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createSchema","string","table","UpdateNeededReasonType","act","Suspense","useLayoutEffect","createRoot","afterEach","beforeEach","expect","test","vi","createZeroClient","resetRecoveryStateForTests","jsx","fakeZero","hoisted","FakeZero","constructor","options","instances","push","context","connection","state","current","name","subscribe","connect","fn","delete","errors","close","run","preload","cleanup","complete","Promise","resolve","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","noteTable","columns","id","body","primaryKey","schema","tables","client","models","groupedQueries","instanceName","container","root","window","sessionStorage","clear","length","document","createElement","unmount","mount","render","ProvideZero","cacheURL","userID","children","first","toBeDefined","deleteZero","zero","toHaveBeenCalledTimes","toHaveLength","not","toBe","at","countBefore","result","remint","isolated","connectHeadless","kvStore","storageKey","instance","consoleError","spyOn","console","mockImplementation","onUpdateNeeded","type","NewClientGroup","setTimeout","toHaveBeenCalledWith","mockRestore","generationClient","generations","GenerationProbe","generation","useZeroProviderGeneration","firstGeneration","isCurrent","dropLocalState","hidden","hiddenUntil","MaybeHidden","App","fallback","settleServer","server","settled","acknowledgement","awaitMutationServer","finally","textContent","toContain","resolves","useFakeTimers","scheduleReload","events","off","zeroEvents","listen","event","timeout","label","timedOut","rejects","toMatchObject","phase","advanceTimersByTimeAsync","toEqual","toContainEqual","status","reasonKey","reason","toHaveBeenCalled","useRealTimers","install","transport","logClassifications","benign","benignLogPatterns","logSink","log","toHaveBeenCalledOnce","retire","second","waitFor","waitForZero"],"sources":["../../src/createZeroClient.recovery.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createSchema","string","table","UpdateNeededReasonType","act","Suspense","useLayoutEffect","createRoot","afterEach","beforeEach","expect","test","vi","createZeroClient","isGroupTransitionOpen","resetRecoveryStateForTests","jsx","fakeZero","hoisted","group","current","FakeZero","constructor","options","instances","push","clientGroupID","Promise","resolve","listeners","Set","connection","state","name","subscribe","listener","add","delete","connect","fn","__connectionListeners","context","errors","close","run","mutate","note","insert","client","server","preload","cleanup","complete","setConnectionState","instance","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","noteTable","columns","id","body","primaryKey","schema","tables","models","groupedQueries","instanceName","container","root","window","sessionStorage","clear","length","document","createElement","unmount","mount","render","ProvideZero","cacheURL","userID","children","first","toBeDefined","deleteZero","zero","toHaveBeenCalledTimes","toHaveLength","not","toBe","at","countBefore","result","remint","isolated","connectHeadless","kvStore","storageKey","consoleError","spyOn","console","mockImplementation","onUpdateNeeded","type","NewClientGroup","setTimeout","toHaveBeenCalledWith","mockRestore","generationClient","generations","GenerationProbe","generation","useZeroProviderGeneration","firstGeneration","isCurrent","dropLocalState","hidden","hiddenUntil","MaybeHidden","App","fallback","settleServer","settled","acknowledgement","awaitMutationServer","finally","textContent","toContain","resolves","useFakeTimers","scheduleReload","events","off","zeroEvents","listen","event","timeout","label","timedOut","rejects","toMatchObject","phase","advanceTimersByTimeAsync","toEqual","toContainEqual","status","reasonKey","reason","toHaveBeenCalled","useRealTimers","install","transport","logClassifications","benign","benignLogPatterns","logSink","log","toHaveBeenCalledOnce","retire","second","waitFor","waitForZero","makeTransitionClient","collectClientEvents","mountTransitionClient","client2","el","mountedRoot","unmountTransitionClient","mounted","withoutPageReload","originalLocation","location","Object","defineProperty","configurable","value","restoreLocation","clientA","clientB","collectedA","collectedB","mountedA","mountedB","firstA","firstB","secondA","secondB","allEvents","filter","fireBoth","settleRemints","next","slice","countBeforeFirst","third","fatal","stringContaining","calls","reloadPage","href","reload","scheduleA","scheduleB","elA","elB","rootA","rootB","ctx","performReload","marker","getItem"],"sources":["../../src/createZeroClient.recovery.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|