-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Labels
area:runtime-pyodideArea: Pyodide runtime bridgeArea: Pyodide runtime bridgebugSomething isn't workingSomething isn't workingpriority:p3Priority P3 (low)Priority P3 (low)
Milestone
Description
Summary
PyodideBridge.dispose() sets this.py to undefined but leaves initPromise intact. Subsequent init() calls return the resolved promise without reinitializing, leaving py undefined and causing failures.
Failure mode
- Create bridge →
init()→dispose()→init()again. ensureReady()returns the existinginitPromiseand does not re-run initialization.call/instantiatefail with "Pyodide not initialized".
Evidence
src/runtime/pyodide.tsdispose()andensureReady().
Proposed fix
- Clear
initPromiseindispose(). - Consider resetting any other state that blocks re-init.
Acceptance criteria
- After
dispose(), a newinit()reinitializes pyodide successfully. - Add a test covering dispose → re-init flow.
Metadata
Metadata
Assignees
Labels
area:runtime-pyodideArea: Pyodide runtime bridgeArea: Pyodide runtime bridgebugSomething isn't workingSomething isn't workingpriority:p3Priority P3 (low)Priority P3 (low)