ABLESET switch (Restart page): hold to stop AbleSet being watched and opened

The user has an AbleSet bug and needs auto-open off for now. A bypass key can now hold off fixes
(bypass.fixes): their checks stay green and nothing runs them. The status page is full, so a Restart
page key with toggle shows the switch and its hold flips it. Switched off live 2026-10-25 07:18.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-25 07:19:51 -04:00
co-authored by Claude Opus 5.5
parent 0f3471bf51
commit 0ecec5f112
7 changed files with 93 additions and 15 deletions
+12 -5
View File
@@ -150,17 +150,22 @@ def restart_key(key, cfg):
names, opts = cfg["variables"], settings(cfg)
hold_ms, secs = opts["hold_ms"], "%g" % (opts["hold_ms"] / 1000.0)
stale_text = "'%s\\n?'" % key["label"]
if key.get("toggle"): # a switch kept on this page (ABLESET): its hold flips it
verb, note = "restart %s $(internal:time_unix)" % key["toggle"], (
"SWITCH key '%s' - hold %s s: switch %s off or back on (status_panel.py on %s)." % (key["id"], secs, key["label"], opts["ingest"]))
else:
verb, note = "force %s $(internal:time_unix)" % key["id"], (
"RESTART key '%s' - hold %s s: restart it even when the status page says it is fine "
"(status_panel.py on %s runs fix '%s')." % (key["id"], secs, opts["ingest"], key["fix"]))
return {
"type": "button-layered",
"style": {"layers": layers(key["id"], key, names, stale_text, opts)},
"options": {"stepProgression": "auto", "stepExpression": "", "rotaryActions": False,
"canModifyStyleInApis": True,
"notes": "RESTART key '%s' - hold %s s: restart it even when the status page says it is fine "
"(status_panel.py on %s runs fix '%s')." % (key["id"], secs, opts["ingest"], key["fix"])},
"notes": note},
"feedbacks": [],
"steps": {"0": {"action_sets": {"down": [], "up": [],
str(hold_ms): [command_action(key["id"], "hold", names["command"],
"force %s $(internal:time_unix)" % key["id"])]},
str(hold_ms): [command_action(key["id"], "hold", names["command"], verb)]},
"options": {"runWhileHeld": [hold_ms]}}},
"localVariables": [],
}
@@ -214,7 +219,9 @@ def button(tid, tile, cfg):
stale_text = "'%s\\n?'" % label
press, hold = "ack " + tid, "restart " + tid
b = tile.get("bypass") or {}
note = ("Hold %s s: hand %s to an operator - its MIDI links (%s) are taken out%s and the panel stops putting them "
held = ", ".join((cfg.get("fixes", {}).get(f) or {}).get("short", f) for f in b.get("fixes") or [])
note = ("Hold %s s: switch off %s - its checks stay green and nothing opens or fixes it. Hold again: back on." % (secs, held)
if held and not b.get("peers") else None) or ("Hold %s s: hand %s to an operator - its MIDI links (%s) are taken out%s and the panel stops putting them "
"back. Hold again: everything is put back." % (secs, label, ", ".join(b.get("peers") or []),
" and Companion's %s switched off" % ", ".join(b["conns"]) if b.get("conns") else ""))
else: