Skip to content

In-page execution broken: JupyterLite kernel never connects after quantecon-theme v2.0.0 upgrade #46

Description

@mmcky

Summary

After the quantecon-theme v2.0.0 + mystmd 1.9.1 upgrade (#45), clicking the in-page execution ⏻ power button hangs indefinitely at:

⚡ Connecting to JupyterLite ⚡
[client] Connecting…

The kernel never becomes ready, so no executable cell can run on any lecture. In-page execution is effectively broken site-wide.

Reproduction

  1. Open a lecture built with the v2.0.0 toolchain, e.g. https://pr-45--beautiful-dodol-cb9543.netlify.app/inflation-history/
  2. Click the ⏻ power button (top-right of the content).
  3. The "Connecting to JupyterLite… [client] Connecting…" banner appears and never completes.

Scope — what this is NOT

When it started

Introduced with #45 (v2.0.0 upgrade: mystmd 1.9.1 + Node 20 + the unpinned quantecon-theme bundle). Before the upgrade the kernel connected — see #42, where connect succeeded and only the %pip install step emitted a 404.

Suspected cause (unconfirmed)

The CI install line pins mystmd but leaves the thebe runtime deps unpinned:

npm install -g mystmd@1.9.1 thebe-core thebe thebe-lite

This is the same "unpinned dependency vs. theme bundle" mismatch that broke output-node rendering until mystmd was pinned. If the thebe-lite runtime is out of sync with what the v2.0.0 theme client (@myst-theme 1.x) expects, the kernel handshake may never complete. Two candidate fix locations:

  1. lecture-wasm build config — pin thebe-core / thebe / thebe-lite to versions compatible with quantecon-theme v2.0.0 (fix here).
  2. Theme bundle — the v2.0.0 @myst-theme thebe-lite integration is itself broken (fix upstream in QuantEcon/quantecon-theme-src).

Next diagnostic step

Capture DevTools Network + Console while clicking power:

  • Which request goes red / stays pending (thebe-lite worker, pyodide, *-kernel*.js, .whl/.data)?
  • Any red console errors?

This disambiguates (1) vs (2) above.

Refs

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions