zz-meridian 0.19.0 → 0.19.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": "zz-meridian",
|
|
3
|
-
"version": "0.19.
|
|
3
|
+
"version": "0.19.1",
|
|
4
4
|
"description": "Bring ZZ Meridian, a dashboard design system, into a Next.js project, or start a new dashboard on it. Copies the files in; nothing depends on this package at runtime.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
package/payload/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Every release of ZZ Meridian, newest first. Versions follow semver: a removed or renamed token, prop or card is major; a new card, token or variant is minor; a corrected value is a patch. Each entry says what breaks and what to do instead.
|
|
4
4
|
|
|
5
|
+
## [0.19.1] · 2026-10-19
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- **The presses suite no longer crashes when a press replaces the document late** ([#64](https://github.com/zhixuan312/zz-meridian/issues/64)). A control whose answer reloads the page once a request is accepted, a team switch that has the server draw the new team's chrome, could replace the document after `scripts/interactions.ts` had looked for an answer; its next read of the page then found no helper and stopped the whole suite with `ReferenceError: deepQuery is not defined`. A document replaced after the look is a press that moved the page: the suite opens the route again and presses the next control, and the press is not reported as doing nothing.
|
|
10
|
+
|
|
5
11
|
## [0.19.0] · 2026-10-19
|
|
6
12
|
|
|
7
13
|
### Breaking
|
package/payload/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zz-meridian-template",
|
|
3
|
-
"version": "0.19.
|
|
3
|
+
"version": "0.19.1",
|
|
4
4
|
"private": true,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "ZZ Meridian: a dashboard design system and starter. Six layers, from DTCG tokens through four layers of React components to product workspaces, and a Design Atlas, in a light and a dark theme.",
|
|
@@ -125,7 +125,8 @@ for (const width of WIDTHS) {
|
|
|
125
125
|
if (status >= 400) failures.push(`${route}: link ${href}${path === href ? '' : ` (${path})`} answers ${status}`);
|
|
126
126
|
}
|
|
127
127
|
for (let i = 0; i < controls.length; i++) {
|
|
128
|
-
|
|
128
|
+
// A document replaced since the last read has no helper: that is a page to open again, never a crash (#64).
|
|
129
|
+
let armed = await page.eval<{ x: number; y: number; covered?: string } | null>(ARM(i)).catch(() => null);
|
|
129
130
|
// Something left open or a toast in the way: start the page again and try once more.
|
|
130
131
|
if (!armed || armed.covered) { await fresh(); armed = await page.eval(ARM(i)); }
|
|
131
132
|
// Tagged by this suite a moment ago and gone after a fresh load: say so, never skip it.
|
|
@@ -150,14 +151,15 @@ for (const width of WIDTHS) {
|
|
|
150
151
|
if (!chosen) r = await look().catch(() => ({ changes: 0, moved: true }));
|
|
151
152
|
}
|
|
152
153
|
if (chosen) continue;
|
|
153
|
-
if (
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
}
|
|
154
|
+
if (r.moved) { await fresh(); continue; }
|
|
155
|
+
await page.send('Input.dispatchKeyEvent', { type: 'keyDown', key: 'Escape', code: 'Escape', windowsVirtualKeyCode: 27 });
|
|
156
|
+
await page.send('Input.dispatchKeyEvent', { type: 'keyUp', key: 'Escape', code: 'Escape', windowsVirtualKeyCode: 27 });
|
|
157
|
+
await sleep(200);
|
|
158
|
+
// A document replaced after the look closed (a team switch that reloads once its request is accepted) has lost the
|
|
159
|
+
// helper and the counters: the press moved the page, late, and the route is opened again (#64).
|
|
160
|
+
const after = await page.eval<{ replaced: boolean; open: boolean }>(`typeof deepQuery !== 'function' ? { replaced: true, open: false } : { replaced: location.href !== window.__href, open: !!deepQuery('[role="dialog"],[role="alertdialog"],[role="menu"],[role="listbox"]', document.body) }`).catch(() => ({ replaced: true, open: false }));
|
|
161
|
+
if (!r.changes && !after.replaced) failures.push(`${route} @${width}: "${controls[i]}" does nothing when ${touch ? 'tapped' : 'pressed'}`);
|
|
162
|
+
if (after.replaced || after.open) await fresh();
|
|
161
163
|
}
|
|
162
164
|
if (page.errors.length) failures.push(`${route} @${width}: ${page.errors[0]}`);
|
|
163
165
|
}
|