← Commit history

Publish 0.2.36

John Lauer ·0c19fa18cd ·1mo ago ·parent 3149c16
2 files changed +11−1
page.json+1−1
@@ -4,7 +4,7 @@   "type": "app",   "title": "Altium - the Altium Bridge",   "brief": "Adom Bridge for Altium Designer: a resident DelphiScript agent gives the AI eval, the 1,100-command process launcher, all 8 EDA surfaces with screenshots, compile/ERC, DRC, OutJob outputs, native SchLib/PcbLib authoring with STEP 3D bodies, and dialog handling by PID.",-  "version": "0.2.35",+  "version": "0.2.36",   "hero": {     "type": "image",     "path": "screenshots/hero.png"
skills/altium-licensing/SKILL.md+10
@@ -47,6 +47,16 @@ whole fix, and nothing else worked. `altium_close {force:true}` now refuses unless you also pass `acceptSeatLoss:true`, precisely so this cannot be reached for casually. +**When the Altium holding the seat answers nothing at all** — `altium_close` times out, `altium_agent_start`+says `no_heartbeat`, and every request comes back as *"There is another instance of running, but it is busy+at the moment"* — it is wedged inside a modal loop whose dialog is gone. `altium_check_dialogs` shows+nothing because there is nothing left to answer, and no keystroke, menu or hand-off can reach it. Both+`altium_close` and `altium_agent_recover` report this as `errorCode: altium_modal_orphan` (0.2.35). The fix+is `altium_close {discardChanges:true}`: the bridge ends that instance the way Altium's own Exit does+(a posted `WM_QUIT`), so the seat is RELEASED rather than stranded. Unsaved work in that instance is gone+either way — the app accepts no Save — so if a document might be the user's, ask before you do it.+Do NOT reach for `force:true`: killing the process is what strands the seat.+ ## The three status and recovery verbs  - `altium_license_status`: read-only. `running`, `licensed`, `licenceState` (from the window