Skip to content

[Integrate-2600] Support notebook kernels offline installation#2702

Open
hengxian-jiang wants to merge 2 commits into
developfrom
hengxian-jiang/offline_support_notebook_kernel
Open

[Integrate-2600] Support notebook kernels offline installation#2702
hengxian-jiang wants to merge 2 commits into
developfrom
hengxian-jiang/offline_support_notebook_kernel

Conversation

@hengxian-jiang

@hengxian-jiang hengxian-jiang commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Merge Checklist

Please cross check this list if additions / modifications needs to be done on top of your core changes and tick them off. Reviewer can as well glance through and help the developer if something is missed out.

  • Automated Tests (Jasmine integration tests, Unit tests, and/or Performance tests)
  • Updated Manual tests / Demo Config
  • Documentation (Application guide, Admin guide, Markdown, Readme and/or Wiki)
  • Verified that local development environment is working with latest changes (integrated with latest develop branch)
  • following best practices in code review doc

Update submodule is required after PR merged

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds build-time preparation and runtime configuration so the WebR notebook can load Pyodide/WebR kernel assets from the app’s own bundled resources (enabling offline/air‑gapped use).

Changes:

  • Adds a Vite build plugin to prepare/copy offline kernel assets into the build output and injects a kernel asset base path at build time.
  • Updates NotebookManager to derive kernel URLs via buildKernelAssetUrls (supporting local/offline origins).
  • Introduces a build-time asset preparation script plus pure helper functions and unit tests.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
plugins/ui/apps/webr-notebook/vite.config.ts Adds build-only offline asset preparation plugin and injects __KERNEL_ASSET_BASE__.
plugins/ui/apps/webr-notebook/src/components/NotebookManager.tsx Switches kernel config to use computed offline/CDN asset URLs.
plugins/ui/apps/webr-notebook/scripts/prepare-offline-assets.mjs New build-time script to stage Pyodide/WebR assets for offline runtime use.
plugins/ui/apps/webr-notebook/scripts/offline-assets-lib.mjs Adds testable helper logic for dependency closure and PACKAGES filtering.
plugins/ui/apps/webr-notebook/scripts/offline-assets-lib.test.mjs Adds node:test coverage for the helper utilities.
plugins/ui/apps/webr-notebook/package.json Adds a script entry to run the offline asset preparation script.

Comment thread plugins/ui/apps/webr-notebook/src/components/NotebookManager.tsx
Comment thread plugins/ui/apps/webr-notebook/scripts/prepare-offline-assets.mjs
Comment thread plugins/ui/apps/webr-notebook/scripts/prepare-offline-assets.mjs
Comment thread plugins/ui/apps/webr-notebook/vite.config.ts
@hengxian-jiang hengxian-jiang linked an issue Jun 15, 2026 that may be closed by this pull request
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.

[Notebook] Support offline installation for notebook kernels

2 participants