Skip to content

fix(docs): pin jupyterlite-pyodide-kernel==0.6.1, matching RTB and bdsim - #72

Merged
petercorke merged 1 commit into
mainfrom
fix/pin-jupyterlite-pyodide-kernel
Aug 12, 2026
Merged

fix(docs): pin jupyterlite-pyodide-kernel==0.6.1, matching RTB and bdsim#72
petercorke merged 1 commit into
mainfrom
fix/pin-jupyterlite-pyodide-kernel

Conversation

@petercorke

Copy link
Copy Markdown
Owner

Summary

  • Pins jupyterlite-pyodide-kernel==0.6.1 in docs.yml's "Build JupyterLite site" step. Newer releases bundle a Pyodide runtime (>=0.27.7) that turns WebAssembly JSPI ("stack switching") on by default, which either crashes the kernel or silently races on browsers without JSPI support (Safari as of 2026-08; Firefox only behind a flag).
  • Confirmed live: hit this exact failure in a real browser — RuntimeError: WebAssembly stack switching not supported in this JavaScript runtime.
  • RTB and bdsim already independently hit and fixed this same class of bug with the same pin (see bdsim#49 for the full incident writeup). Bringing MVTB in line — MVTB is otherwise ahead of both siblings here (neither has notebook CI testing or the generated-bootstrap-cell mechanism), just behind on this specific pin.
  • Re-pins docs/lite/wasm_check's pyodide npm dependency from 314.0.3 to the matching 0.27.6 — these two pins move together, or the check silently stops representing what the real deployed site runs.

Test plan

  • jupyterlite-pyodide-kernel==0.6.1 installs cleanly alongside jupyterlite-core
  • wasm_check passes against the new pin
  • wasm_check still fails clearly against a deliberately-broken case (tqdm removed from seed list) with the new pin
  • Built and served the real site locally with the pin (jupyter lite build + jupyter lite serve)
  • Confirmed live in the same real browser that originally hit the JSPI error — now succeeds: Running in browser using MVTB v2.2.0 with OpenCV 4.11.0

🤖 Generated with Claude Code

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 complexity · 0 duplication

Metric Results
Complexity 0
Duplication 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

Newer jupyterlite-pyodide-kernel releases bundle Pyodide >=0.27.7, which
turned WebAssembly JSPI ("stack switching") on by default. Browsers
without JSPI support (Safari as of 2026-08; Firefox only behind a flag)
either hard-crash the kernel or silently race on cell execution --
confirmed live: the deployed site failed in a browser lacking JSPI
support with "RuntimeError: WebAssembly stack switching not supported".

RTB and bdsim already independently hit and fixed this exact class of
bug by pinning jupyterlite-pyodide-kernel==0.6.1 (Pyodide 0.27.6,
predating the JSPI mechanism entirely). Bringing MVTB in line.

Also re-pins docs/lite/wasm_check's pyodide npm dependency from 314.0.3
to the matching 0.27.6 -- these two pins have to move together, or the
check silently stops representing what the real site actually runs.

Verified: wasm_check passes against the new pin (and still fails
clearly against a deliberately-broken case); built and served the real
site locally with the pin and confirmed live in the same browser that
originally hit the JSPI error -- now reports
"Running in browser using MVTB v2.2.0 with OpenCV 4.11.0" successfully.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@petercorke
petercorke force-pushed the fix/pin-jupyterlite-pyodide-kernel branch from b113f89 to 76bd7e1 Compare August 12, 2026 22:33
@petercorke
petercorke merged commit 4e3e32e into main Aug 12, 2026
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant