v0.36.10
This commit is contained in:
1 parent
2789991452
commit
e260612ef9
60 files changed
+69
-339
No files matched your search
@@ -47,7 +47,6 @@ for (const icon of ["plus", "save", "check", "trash", "edit", "refresh", "settin
|
||||
assert.ok(new RegExp(`\\b${icon}:`).test(icons), `missing semantic SVG icon definition: ${icon}`);
|
||||
}
|
||||
|
||||
// 0.36.2 semantic review: verbs/explicit ids must win over colliding keywords.
|
||||
const explicitIcons = { "overview-layout-unlock": "unlock", "overview-inline-save": "lock", "overview-layout-open": "layers", "docker-settings-open": "settings", "login-submit": "login", "revoke-sessions": "logout", "about-open": "info" };
|
||||
for (const [id, icon] of Object.entries(explicitIcons)) assert.match(icons, new RegExp(`"${id}": "${icon}"`), `${id} must use ${icon}`);
|
||||
assert.match(icons, /\(\^\|\[\^p\]\)reset/, "preset buttons must not match the reset rule");
|
||||
@@ -71,8 +70,6 @@ assert.match(shellCss, /prefers-reduced-motion: reduce[\s\S]*data-logo-effect/);
|
||||
assert.equal(openapi.components.schemas.AdminPreferences.properties.logo_animation.default, false);
|
||||
assert.ok(pl.translations.logoAnimation && pl.translations.logoAnimationHelp);
|
||||
|
||||
// Mobile/Safari regression: injected icons must never be mistaken for chart SVGs or
|
||||
// stretched by descendant chart rules, and refreshes must not rebuild decorated buttons.
|
||||
const runtimeJs = read("src/admin/web/app/runtime.js");
|
||||
const scalesJs = read("src/admin/web/app/chart-scales.js");
|
||||
const editorsCss = read("src/admin/web/css/40-editors.css");
|
||||
@@ -85,13 +82,11 @@ for (const source of [css, overviewCss, editorsCss]) assert.doesNotMatch(source,
|
||||
assert.match(css, /html\[data-interface-icons="true"\] :is\(button, a, summary\)>svg\.ui-icon/);
|
||||
assert.match(icons, /\.mobile-menu-toggle"\) return null|draft-dock-toggle, \.mobile-menu-toggle/);
|
||||
|
||||
assert.match(editorsCss, /Spacing review \(0\.36\.2\)/);
|
||||
assert.match(editorsCss, /\.vhost-backend-protocol-badge \{[^}]*letter-spacing: 1px;[^}]*\}/);
|
||||
assert.match(editorsCss, /\.tls-pqc-control>a/);
|
||||
|
||||
console.log("Panel SVG icon preference contract: OK");
|
||||
|
||||
// CSS cleanup (0.36.3): the legacy body[data-density] mechanism must not come back.
|
||||
{
|
||||
const cssDir = path.join(__dirname, "..", "src", "admin", "web", "css");
|
||||
for (const name of fs.readdirSync(cssDir).filter((file) => file.endsWith(".css"))) {
|
||||
@@ -99,21 +94,18 @@ console.log("Panel SVG icon preference contract: OK");
|
||||
}
|
||||
}
|
||||
|
||||
// Cache outcomes bar shows percentages inside its segments and hides labels that do not fit.
|
||||
{
|
||||
const rt = fs.readFileSync(path.join(__dirname, "..", "src", "admin", "web", "app", "runtime.js"), "utf8");
|
||||
assert.match(rt, /function fitCacheMixLabels/);
|
||||
assert.match(rt, /segment\.textContent = mix && pct > 0/);
|
||||
}
|
||||
|
||||
// Settings layout (0.36.3): rows pattern for Appearance and horizontal sub-tabs.
|
||||
{
|
||||
const css = fs.readFileSync(path.join(__dirname, "..", "src", "admin", "web", "css", "50-settings.css"), "utf8");
|
||||
assert.match(css, /#settings-page-appearance \.appearance-settings-grid>label \{/);
|
||||
assert.match(css, /#panel-settings \.settings-tabs\.sub-tabs \{\s*display: flex;\s*flex-direction: row;/);
|
||||
}
|
||||
|
||||
// Chart styles (0.36.3): every style id must be wired through Rust validation, OpenAPI, JS, CSS tokens, the selector and the language pack.
|
||||
{
|
||||
const root = path.join(__dirname, "..");
|
||||
const read = (file) => fs.readFileSync(path.join(root, file), "utf8");
|
||||
|
||||
@@ -51,5 +51,5 @@ const events = openapi.paths["/api/events"].get;
|
||||
const logsFlag = (events.parameters || []).find(parameter => parameter.name === "logs");
|
||||
assert.equal(logsFlag?.schema?.type, "boolean");
|
||||
assert.equal(logsFlag?.schema?.default, true);
|
||||
assert.equal(openapi.info.version, "0.36.9");
|
||||
assert.equal(openapi.info.version, "0.36.10");
|
||||
console.log("Panel refresh/API contract checks: OK");
|
||||
Reference in new issue
Block a user