Skip to content

fix(build): prefetch IIFE wasm in prefetch-cache.js - #16

Merged
vshengbro merged 2 commits into
masterfrom
fix/iife-wasm-fetch
Sep 21, 2026
Merged

vshengbro merged 2 commits into
masterfrom
fix/iife-wasm-fetch

Conversation

@vshengbro

Copy link
Copy Markdown
Collaborator

Problem

euv PR #250 replaced the external pkg/<name>.js module script with an inline IIFE that hardcodes the wasm URL as var __euv_wasm_url = \"pkg/<name>_bg.wasm\".

The build-time prefetch script previously only looked at <script src>, <link href>, <img src>, and ES module imports. In the IIFE format there are no external script/link tags, so the wasm binary was never downloaded into bundled-cache/ and the APK shipped with no wasm.

Fix

Add the same __euv_wasm_url regex extraction to extractResourcePaths() so the build-time prefetch also picks up the wasm binary.

Fixes the white-screen regression introduced by euv-dev/euv#250.

eastspire added 2 commits September 21, 2026 12:24
euv PR #250 replaced the external pkg/<name>.js module script with an
inline IIFE that hardcodes the wasm URL as
`var __euv_wasm_url = "pkg/<name>_bg.wasm"`.

The cache fetcher previously only looked at <script src>, <link href>,
<img src>, and ES module imports to discover resources.  In the IIFE
format there are no external script/link tags, so the wasm binary was
never downloaded into the cache directory.  The webview then 404'd on
pkg/<name>_bg.wasm and rendered a blank white screen.

Add extract_iife_wasm_url() which scans the HTML for the
__euv_wasm_url marker and appends the quoted .wasm path to the
resource list.  Call it from both fetch_full_snapshot() (for
verification) and fetch_linked_resources() (for the actual download).

Fixes the white-screen regression introduced by euv-dev/euv#250.
euv PR #250 replaced the external pkg/<name>.js module script with an
inline IIFE that hardcodes the wasm URL as
`var __euv_wasm_url = "pkg/<name>_bg.wasm"`.

The build-time prefetch script previously only looked at <script src>,
<link href>, <img src>, and ES module imports.  In the IIFE format
there are no external script/link tags, so the wasm binary was never
downloaded into bundled-cache/ and the APK shipped with no wasm.

Add the same __euv_wasm_url regex extraction to extractResourcePaths()
so the build-time prefetch also picks up the wasm binary.

Fixes the white-screen regression introduced by euv-dev/euv#250.
@vshengbro
vshengbro merged commit d26ff2e into master Sep 21, 2026
1 check 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