From 1d33f3ed4e341ff5585677c5f3cadfbc8fc8de22 Mon Sep 17 00:00:00 2001 From: Siavash Sameni Date: Mon, 30 Mar 2026 16:12:35 +0400 Subject: [PATCH] fix: WASM import path respects __WZP_BASE_URL for cross-origin loading When variant JS is loaded from featherChat (different origin), WASM imports need to resolve via the /audio/ Caddy path, not root /. All 4 variant files now use: (window.__WZP_BASE_URL || '') + '/wasm/...' Co-Authored-By: Claude Opus 4.6 (1M context) --- crates/wzp-web/static/js/wzp-full.js | 2 +- crates/wzp-web/static/js/wzp-hybrid.js | 2 +- crates/wzp-web/static/js/wzp-ws-fec.js | 2 +- crates/wzp-web/static/js/wzp-ws-full.js | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/crates/wzp-web/static/js/wzp-full.js b/crates/wzp-web/static/js/wzp-full.js index c301d60..43a917e 100644 --- a/crates/wzp-web/static/js/wzp-full.js +++ b/crates/wzp-web/static/js/wzp-full.js @@ -15,7 +15,7 @@ 'use strict'; -const WZP_WASM_PATH = '/wasm/wzp_wasm.js'; +const WZP_WASM_PATH = (window.__WZP_BASE_URL || '') + '/wasm/wzp_wasm.js'; // 12-byte MediaHeader size (matches wzp-proto MediaHeader::WIRE_SIZE). const MEDIA_HEADER_SIZE = 12; diff --git a/crates/wzp-web/static/js/wzp-hybrid.js b/crates/wzp-web/static/js/wzp-hybrid.js index a5527f1..1e42614 100644 --- a/crates/wzp-web/static/js/wzp-hybrid.js +++ b/crates/wzp-web/static/js/wzp-hybrid.js @@ -10,7 +10,7 @@ 'use strict'; // WASM module path (served from /wasm/ by the wzp-web bridge). -const WZP_WASM_PATH = '/wasm/wzp_wasm.js'; +const WZP_WASM_PATH = (window.__WZP_BASE_URL || '') + '/wasm/wzp_wasm.js'; class WZPHybridClient { /** diff --git a/crates/wzp-web/static/js/wzp-ws-fec.js b/crates/wzp-web/static/js/wzp-ws-fec.js index 919d697..aea7f57 100644 --- a/crates/wzp-web/static/js/wzp-ws-fec.js +++ b/crates/wzp-web/static/js/wzp-ws-fec.js @@ -7,7 +7,7 @@ 'use strict'; // WASM module path (served from /wasm/ by the wzp-web bridge). -const WZP_WS_FEC_WASM_PATH = '/wasm/wzp_wasm.js'; +const WZP_WS_FEC_WASM_PATH = (window.__WZP_BASE_URL || '') + '/wasm/wzp_wasm.js'; // 12-byte MediaHeader size (matches wzp-proto MediaHeader::WIRE_SIZE). const WZP_WS_FEC_HEADER_SIZE = 12; diff --git a/crates/wzp-web/static/js/wzp-ws-full.js b/crates/wzp-web/static/js/wzp-ws-full.js index f188b9d..ceb69d1 100644 --- a/crates/wzp-web/static/js/wzp-ws-full.js +++ b/crates/wzp-web/static/js/wzp-ws-full.js @@ -7,7 +7,7 @@ 'use strict'; // WASM module path (served from /wasm/ by the wzp-web bridge). -const WZP_WS_FULL_WASM_PATH = '/wasm/wzp_wasm.js'; +const WZP_WS_FULL_WASM_PATH = (window.__WZP_BASE_URL || '') + '/wasm/wzp_wasm.js'; // 12-byte MediaHeader size (matches wzp-proto MediaHeader::WIRE_SIZE). const WZP_WS_FULL_HEADER_SIZE = 12;