@cosmicdrift/kumiko-renderer-web 0.243.0 → 0.243.1
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cosmicdrift/kumiko-renderer-web",
|
|
3
|
-
"version": "0.243.
|
|
3
|
+
"version": "0.243.1",
|
|
4
4
|
"description": "Web-platform bindings for @cosmicdrift/kumiko-renderer. HTML default-primitives, browser history-based navigation, EventSource-backed live events, and a one-call createKumikoApp that mounts the whole stack via react-dom.",
|
|
5
5
|
"license": "BUSL-1.1",
|
|
6
6
|
"author": "Marc Frost <marc@cosmicdriftgamestudio.com>",
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
"./styles.css": "./src/styles.css"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@cosmicdrift/kumiko-dispatcher-live": "0.243.
|
|
20
|
-
"@cosmicdrift/kumiko-headless": "0.243.
|
|
21
|
-
"@cosmicdrift/kumiko-renderer": "0.243.
|
|
19
|
+
"@cosmicdrift/kumiko-dispatcher-live": "0.243.1",
|
|
20
|
+
"@cosmicdrift/kumiko-headless": "0.243.1",
|
|
21
|
+
"@cosmicdrift/kumiko-renderer": "0.243.1",
|
|
22
22
|
"@radix-ui/react-dialog": "^1.1.15",
|
|
23
23
|
"@radix-ui/react-dropdown-menu": "^2.1.16",
|
|
24
24
|
"@radix-ui/react-label": "^2.1.8",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"@types/react-dom": "^19.2.3",
|
|
65
65
|
"jsdom": "^29.1.1",
|
|
66
66
|
"tailwindcss": "^4.3.0",
|
|
67
|
-
"@cosmicdrift/kumiko-locale-de": "0.243.
|
|
67
|
+
"@cosmicdrift/kumiko-locale-de": "0.243.1"
|
|
68
68
|
},
|
|
69
69
|
"repository": {
|
|
70
70
|
"type": "git",
|
|
@@ -54,7 +54,12 @@ globalThis.IntersectionObserver = class {
|
|
|
54
54
|
disconnect(): void {}
|
|
55
55
|
} as unknown as typeof IntersectionObserver;
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
// Waiting for the row alone races the observer-registering effect; each page
|
|
58
|
+
// registers a fresh observer, so wait for one more than we last fired.
|
|
59
|
+
let firedObservers = 0;
|
|
60
|
+
async function fireIntersect(): Promise<void> {
|
|
61
|
+
await waitFor(() => expect(observers.length).toBeGreaterThan(firedObservers));
|
|
62
|
+
firedObservers = observers.length;
|
|
58
63
|
observers[observers.length - 1]?.([{ isIntersecting: true }]);
|
|
59
64
|
}
|
|
60
65
|
|
|
@@ -118,7 +123,7 @@ describe("InfinityList", () => {
|
|
|
118
123
|
});
|
|
119
124
|
renderWithDispatcher(list("inbox:query:message:list"), dispatcher);
|
|
120
125
|
await waitFor(() => expect(screen.getByText("Erste")).toBeTruthy());
|
|
121
|
-
fireIntersect();
|
|
126
|
+
await fireIntersect();
|
|
122
127
|
await waitFor(() => expect(screen.getByText("Zweite")).toBeTruthy());
|
|
123
128
|
expect(screen.getByText("Erste")).toBeTruthy();
|
|
124
129
|
expect(calls).toBe(2);
|
|
@@ -157,7 +162,7 @@ describe("InfinityList", () => {
|
|
|
157
162
|
});
|
|
158
163
|
renderWithDispatcher(list("inbox:query:message:list"), dispatcher);
|
|
159
164
|
await waitFor(() => expect(screen.getByText("Zweite")).toBeTruthy());
|
|
160
|
-
fireIntersect();
|
|
165
|
+
await fireIntersect();
|
|
161
166
|
await waitFor(() => expect(screen.getByText("Dritte")).toBeTruthy());
|
|
162
167
|
expect(screen.getAllByText("Zweite")).toHaveLength(1);
|
|
163
168
|
});
|
|
@@ -316,7 +321,7 @@ describe("InfinityList", () => {
|
|
|
316
321
|
);
|
|
317
322
|
|
|
318
323
|
await waitFor(() => expect(screen.getByText("Alt-1")).toBeTruthy());
|
|
319
|
-
fireIntersect();
|
|
324
|
+
await fireIntersect();
|
|
320
325
|
await waitFor(() => expect(screen.getByText("Alt-2")).toBeTruthy());
|
|
321
326
|
expect(calls.length).toBe(2);
|
|
322
327
|
|
|
@@ -434,7 +439,7 @@ describe("InfinityList", () => {
|
|
|
434
439
|
);
|
|
435
440
|
|
|
436
441
|
await waitFor(() => expect(screen.getByText("Erste")).toBeTruthy());
|
|
437
|
-
fireIntersect();
|
|
442
|
+
await fireIntersect();
|
|
438
443
|
await waitFor(() => expect(screen.getByText("Zweite")).toBeTruthy());
|
|
439
444
|
expect(calls.length).toBe(2);
|
|
440
445
|
|