MAINT-11 round 2: disable the cycle buttons that cannot work
checks / unit (pull_request) Successful in 38m43s
infra-pin / fresh (pull_request) Successful in 1s

Stop cycle is disabled on a battery that is not cycling. Start cycle is
disabled while any battery cycles and on a switched-off battery. Page only;
the add-on still refuses each of these. DECISIONS notes the one-battery case.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bdqr7PiaHcBnzPituu2yTC
This commit is contained in:
glenn schrooyen
2026-10-13 23:18:21 +02:00
co-authored by Claude
parent fd059126cb
commit 5ee1061398
3 changed files with 21 additions and 2 deletions
+9
View File
@@ -365,6 +365,15 @@ check("both buttons post the battery's name and ask first",
check("a refusal is shown in the page's language, by its code",
'const own = j.code && t("batteries.cycle." + j.code);' in JS
and 'toast(own ? say(own.description' in JS)
check("Stop is disabled on a battery that is not cycling",
'abort: cycling(b) };' in JS and "disabled: !can.abort" in JS)
check("Start is disabled while any battery cycles",
"start: !S.batteries.some(cycling) && " in JS
and "disabled: !can.start" in JS)
check("Start is disabled on a switched-off battery (use false, modes on)",
"&& b.use !== false, abort" in JS)
check("a battery counts as cycling when its phase is not idle",
'cycling = (x) => x.maintenance !== "idle"' in JS)
check("the old header buttons still post a bare request",
'ask("maint_start", () => simple("maint_start"))' in JS
and "body: JSON.stringify({ action: what }) });" in JS)