ReviewOS

zig-utils/zig-js

ABI: broadcast hot-reload readiness to every inspector connection

#392
Closed chris opened this 9 days ago ·
9 days ago

Parent: #140 Profiles: #163, #164 Roadmap: #134 Inspector foundation: #139

Implement the shared pinned BunDebugger__willHotReload boundary as a real process-wide inspector broadcast.

Acceptance:

  • Export the exact no-argument C ABI for both pinned Home and Bun profiles.
  • Deliver exactly {"method":"Bun.canReload"} to every live inspector connection across all context groups/VMs.
  • Do nothing when no inspector connection exists.
  • Make broadcast iteration safe when a frontend callback releases itself, releases another session, or reenters the broadcast.
  • Never deliver to detached/release-requested sessions, and preserve deterministic per-state session order.
  • Add direct, multi-session, multi-VM, detach/reentrancy, and no-session tests with zero leaks.
  • Add compiled Home/Bun consumer evidence in Debug and ReleaseSafe.
  • Refresh both exact inventories, #140/#163/#164, and concise ABI documentation.

Backward compatibility is intentionally out of scope; implement the clean exact pinned behavior.

Completion evidence:

  • Implementation and exact unit coverage: 1d26c6cc
  • Inventories and concise documentation: 6427d1ca
  • Focused hot-reload unit slice: 3/3, zero failures/leaks
  • Existing inspector detach regression: 3/3, zero failures/leaks
  • Exact Home and Bun consumer fixtures: Debug and ReleaseSafe
  • Inventories: Home 409/471 (62 pending), Bun 401/461 (60 pending), zero unclassified
  • CI gate: test-private-hot-reload is part of private-abi-boundary
9 days ago

Completed on main in 1d26c6c and 6427d1c with exact multi-VM, detach/reentrancy, Debug, ReleaseSafe, inventory, documentation, and CI-gate evidence.

Sign in to comment on this issue.