mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-28 19:01:34 +00:00
Witness synchronous warm confirmation refusal
Полные бенчмарки производительности / Бенчмарки рендера и геометрии (blend) (push) Failing after 1m40s
Полные бенчмарки производительности / Бенчмарки рендера и геометрии (interaction) (push) Failing after 1m54s
Полные бенчмарки производительности / Бенчмарки рендера и геометрии (large-house) (push) Failing after 2m2s
Полные бенчмарки производительности / Бенчмарки рендера и геометрии (isometric) (push) Failing after 2m6s
Полные бенчмарки производительности / Бенчмарки рендера и геометрии (overlay) (push) Failing after 1m44s
Полные бенчмарки производительности / Бенчмарки рендера и геометрии (plan-snap) (push) Failing after 1m34s
Полные бенчмарки производительности / Бенчмарки рендера и геометрии (space-default) (push) Failing after 1m55s
Проверка (CI) / Классификация изменённых файлов (push) Successful in 39s
Полные бенчмарки производительности / Бенчмарки рендера и геометрии (space-glow) (push) Failing after 2m0s
Проверка (CI) / HACS: валидация репозитория (push) Skipped
Проверка (CI) / Hassfest: манифест интеграции (push) Skipped
Проверка (CI) / Фронтенд: типы, юниты, мутанты, синхрон бандла (push) Skipped
Проверка (CI) / Переиспользование: это дерево уже проверено (push) Successful in 56s
Проверка (CI) / Смоки в браузере (шард 1 из 3) (push) Skipped
Проверка (CI) / Смоки в браузере (шард 2 из 3) (push) Skipped
Проверка (CI) / Смоки в браузере (шард 3 из 3) (push) Skipped
Проверка (CI) / Смоки: все шарды зелёные (push) Skipped
Проверка (CI) / Golden-кадры против принятых эталонов (push) Skipped
Проверка (CI) / Перф-смок: бюджет времени кадра (push) Skipped
Проверка (CI) / Бэкенд: pytest в Home Assistant (push) Skipped
Проверка (CI) / Предполётные проверки: документация, провенанс, процесс (push) Failing after 8m55s
Полные бенчмарки производительности / Бенчмарки рендера и геометрии (blend) (push) Failing after 1m40s
Полные бенчмарки производительности / Бенчмарки рендера и геометрии (interaction) (push) Failing after 1m54s
Полные бенчмарки производительности / Бенчмарки рендера и геометрии (large-house) (push) Failing after 2m2s
Полные бенчмарки производительности / Бенчмарки рендера и геометрии (isometric) (push) Failing after 2m6s
Полные бенчмарки производительности / Бенчмарки рендера и геометрии (overlay) (push) Failing after 1m44s
Полные бенчмарки производительности / Бенчмарки рендера и геометрии (plan-snap) (push) Failing after 1m34s
Полные бенчмарки производительности / Бенчмарки рендера и геометрии (space-default) (push) Failing after 1m55s
Проверка (CI) / Классификация изменённых файлов (push) Successful in 39s
Полные бенчмарки производительности / Бенчмарки рендера и геометрии (space-glow) (push) Failing after 2m0s
Проверка (CI) / HACS: валидация репозитория (push) Skipped
Проверка (CI) / Hassfest: манифест интеграции (push) Skipped
Проверка (CI) / Фронтенд: типы, юниты, мутанты, синхрон бандла (push) Skipped
Проверка (CI) / Переиспользование: это дерево уже проверено (push) Successful in 56s
Проверка (CI) / Смоки в браузере (шард 1 из 3) (push) Skipped
Проверка (CI) / Смоки в браузере (шард 2 из 3) (push) Skipped
Проверка (CI) / Смоки в браузере (шард 3 из 3) (push) Skipped
Проверка (CI) / Смоки: все шарды зелёные (push) Skipped
Проверка (CI) / Golden-кадры против принятых эталонов (push) Skipped
Проверка (CI) / Перф-смок: бюджет времени кадра (push) Skipped
Проверка (CI) / Бэкенд: pytest в Home Assistant (push) Skipped
Проверка (CI) / Предполётные проверки: документация, провенанс, процесс (push) Failing after 8m55s
Issue: #470 User-Visible: no
This commit is contained in:
@@ -65,15 +65,20 @@ const warmGate = await page.evaluate(async () => {
|
||||
new Promise((resolve) => setTimeout(() => resolve('timeout'), 100)),
|
||||
]);
|
||||
await settle();
|
||||
const warmDecision = card._confirmDanger({
|
||||
key: 'warm-language-gate',
|
||||
kind: 'destructive',
|
||||
title: 'Delete?',
|
||||
message: 'The plan and all its rooms will be deleted.',
|
||||
confirmLabel: 'Delete',
|
||||
cancelLabel: 'Cancel',
|
||||
});
|
||||
// Refusal is a synchronous registration barrier, not eventual cleanup by
|
||||
// the next warm render. A briefly pending request has no decision surface.
|
||||
const warmRequestWasNeverRegistered = card._dangerConfirm === null
|
||||
&& card._dangerConfirmController.state === null;
|
||||
const decision = await Promise.race([
|
||||
card._confirmDanger({
|
||||
key: 'warm-language-gate',
|
||||
kind: 'destructive',
|
||||
title: 'Delete?',
|
||||
message: 'The plan and all its rooms will be deleted.',
|
||||
confirmLabel: 'Delete',
|
||||
cancelLabel: 'Cancel',
|
||||
}),
|
||||
warmDecision,
|
||||
new Promise((resolve) => setTimeout(() => resolve('timeout'), 100)),
|
||||
]);
|
||||
const result = {
|
||||
@@ -81,6 +86,7 @@ const warmGate = await page.evaluate(async () => {
|
||||
readyConfirmationOpenedBeforeWarm: openedWhileReady,
|
||||
readyToWarmCancelsOpenConfirmation: cancelledOnTransition === false,
|
||||
readyToWarmKeepsCommittedBody: root().querySelector('ha-card')?.outerHTML === committedBody,
|
||||
warmLanguageGateNeverRegisters: warmRequestWasNeverRegistered,
|
||||
warmLanguageGateRefusesImmediately: decision === false,
|
||||
warmLanguageGateKeepsControllerEmpty: card._dangerConfirm === null
|
||||
&& card._dangerConfirmController.state === null,
|
||||
|
||||
@@ -1623,8 +1623,8 @@ const MUTANT_DEFINITIONS = [
|
||||
{
|
||||
id: 'danger-confirm-warm-language-guard-removed',
|
||||
guard: 'node demo/smoke_danger_confirm_branches.mjs',
|
||||
because: 'the warm language branch returns Lit noChange, so a newly registered '
|
||||
+ 'confirmation has no rendered decision source and hangs (#417 AC2)',
|
||||
because: 'a request made while the language gate is already warm must be rejected '
|
||||
+ 'synchronously without ever entering the confirmation controller (#417 AC2/AC3)',
|
||||
patches: [{
|
||||
file: 'src/houseplan-card.ts',
|
||||
find: " if (this._syncDangerConfirmLocaleGate() === 'warm') return Promise.resolve(false);",
|
||||
|
||||
Reference in New Issue
Block a user