The shared release workflow installs trunk, but EffectCraft's web build
runs the wasm-bindgen CLI directly (cargo xtask web), so the Web job
fails with "wasm-bindgen CLI not found". In CI, package.sh now installs
the CLI at xtask's WASM_BINDGEN version, as the per-app release.yml did
before the move to craft-common-actions.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- #174: the file names are fixed (effectcraft_web.js, effectcraft_web_bg.wasm, worker.js,
sw.js…), not content-hashed, so the guide's year-long immutable caching kept returning
visitors on the old release after an in-place upgrade. The guide, nginx example, _headers
and .htaccess now revalidate (no-cache) the .wasm, .js and index.html, and suggest a
versioned path for longer caching. The file table lists the real files.
- #180: the .wasm is about 58 MB (17 MB gzip, 10 MB Brotli) for v0.3.1, not 13 MB / 5 MB;
docs/web.md's 38 MB figure is updated too.
- #165: preferences live in the origin's browser storage (OPFS, IndexedDB or memory), not
localStorage.
- #164: relative URLs come from the page itself (and package.sh's check), not a Trunk.toml
that doesn't exist.
The iframe example's title no longer says image editor.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- effectcraft-cli: support --version/-V/version (the packaging smoke tests call it).
- Linux release job installs libasound2-dev for alsa-sys; deb/rpm depend on
libasound2/alsa-lib; Flatpak gets --socket=pulseaudio.
- packaging/web/package.sh builds with `cargo xtask web` (wasm-bindgen) and zips
<target>/web/dist; the release job installs wasm-bindgen-cli 0.2.129.
- xtask: version.rs (ported from PhotoCraft) called helpers that don't exist here,
so xtask didn't compile; use the local run() and wire up `cargo xtask version`.
Co-Authored-By: Claude Opus 5.5 <[email protected]>