Summary
PyodideBridge caches initPromise; if initialization or loadPackage fails once, subsequent calls keep failing without a retry path.
Failure mode
- Network error or missing package during init permanently bricks the bridge instance.
Repro (adversarial)
- Configure
PyodideBridge with a bad indexURL or missing package.
- Call
init() and verify failure.
- Fix config and call
init() again; it should succeed after retry.
Acceptance criteria
- Failed init clears
initPromise so the bridge can retry.
- Errors surface with actionable messages (missing package vs network).
- Tests cover retry behavior after a failing init.
Summary
PyodideBridgecachesinitPromise; if initialization orloadPackagefails once, subsequent calls keep failing without a retry path.Failure mode
Repro (adversarial)
PyodideBridgewith a badindexURLor missing package.init()and verify failure.init()again; it should succeed after retry.Acceptance criteria
initPromiseso the bridge can retry.