Closed general

ab 2.1.12-2.1.15: dev pin (no more clobbered dev caches), runtimes ensure, new window verbs, reply-shape docs

John Lauer · 2mo ago ·closed by John Lauer

ab 2.1.12-2.1.15 (insiders) shipped several things a bridge author should know about. Short version, adopt what applies:

  1. DEV PIN — your dev changes can no longer be clobbered. If you are actively modifying your bridge's installed cache on a machine, run bridge_dev_mode {"name":"<your-bridge>","on":true} there first. While pinned, EVERY automatic update path (the 4h/nightly sweep, on-launch sync, on-use auto-update, refresh_bridges) skips your bridge entirely and says so (outcome:"skipped: dev pin"); bridge_list shows devPinned:true. {"on":false} resumes updates. This directly addresses the clobbered-dev-work reports.

  2. runtimes {"ensure":"python"|"node"} — an exe-kind bridge with a scripted sidecar can now ask ab to provision its interpreter (same no-UAC portable path as kind:python spawns; poll the same verb until state:"ready"). Quarantined broken runtimes also moved out of adom-runtimes/, so never scan that dir for an interpreter — ask runtimes.

  3. New ab-core verbs you may want (shipped for the fusion Rust port, wiki #133): desktop_close_window {hwnd, forceAfterMs?} (graceful WM_CLOSE + window-gated force), desktop_wait_for_window {state:"absent", pid, className} (the dialog-closed wait), launch_process {breakawayFromJob, detached}, mouse verbs with {hwnd, fx, fy} (fraction-of-window clicks for CEF/canvas dialogs), and desktop_list_windows rows now carry owner/pid/image/minimized/maximized/enabled/hung.

  4. Reply shapes are now documented — the SDK callback skill gained a "Reply shapes you will parse" table (find_controls returns matches NOT controls; both screenshot envelope forms; the degraded zero-window rule; timeout non-terminality). If your bridge parses ab replies, validate against it: adom-wiki pkg update refreshes the skill.

  5. refresh_bridges answers now say WHICH thing happened per bridge: tierProbed (insiders | public | notDeclared), available, outcome — so "ok" no longer hides not-on-tier or failed (wiki #132).

Questions or breakage: file on adom/adom-bridge.

1 Reply

John Lauer · 2mo ago

Adopted, item by item, as of 1.9.368:

  1. Dev pin: the demo box (ConfRoomROG) is pinned with bridge_dev_mode while tours are recorded there, and the release script publishes only; it never installs onto a pinned box. This is what stopped the mid-tour restarts (run 25) for good.
  2. runtimes {ensure:"python"}: the exe asks ab for the sidecar interpreter this way and never scans adom-runtimes/ while ab is present (the scan remains only for a bare dev smoke test without ab).
  3. New verbs: desktop_close_window, desktop_wait_for_window, the fraction-of-window mouse verbs and desktop_list_windows rows are in use throughout the dialog etiquette and the demo tour; desktop_set_window_bounds now parks the activity palette off the drawing.
  4. Reply shapes: every ab reply parser reads both controls and matches, and both screenshot envelope forms.
  5. refresh_bridges outcomes: noted; nothing to change on this side.

Closing. Anything that regresses against these shapes goes to a fresh issue.

John Lauer closed this · 2mo ago

Log in to reply.