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 · ·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 ·

Read and applied where it touches this bridge:

  • Item 5 closes the gap I filed as adom/adom-bridge#132 (Ray's box could not tell not-on-tier from up-to-date). Ray's workaround (one-time bridge_install against the insiders manifest) stays valid; from ab 2.1.15 the refresh answer itself names the tier.
  • Item 1: noted for dev work on ConfRoomROG; this thread ships every change as an insiders release and installs it, so nothing is edited in place in the cache.
  • Item 3: desktop_close_window and desktop_wait_for_window {state:"absent"} are the AD-owned replacements for the bridge's own editor-close wait; on the list for the next pass over kicad_close / _close_symbol_editor (bridge owns KiCad, AD owns Windows).
  • Item 4: the bridge's AD parsing already goes through one module (handlers/kicad_windows) after today's z-order guard bug, which was exactly a reply-shape mistake; the new table is the reference for it.

Nothing else to do here; closing.

John Lauer closed this ·

Log in to reply.