From be44a6bd8ef7a4f480a126aba055f1cdc61c617a Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Thu, 16 Apr 2026 23:43:34 +0200 Subject: [PATCH 1/5] fix config processing --- .../libs/Common/JavaScript/loader/assets.ts | 4 +- .../libs/Common/JavaScript/loader/config.ts | 64 ++++++++++--------- .../libs/Common/JavaScript/types/internal.ts | 1 - 3 files changed, 35 insertions(+), 34 deletions(-) diff --git a/src/native/libs/Common/JavaScript/loader/assets.ts b/src/native/libs/Common/JavaScript/loader/assets.ts index 651f541368333e..0701a26e30ac20 100644 --- a/src/native/libs/Common/JavaScript/loader/assets.ts +++ b/src/native/libs/Common/JavaScript/loader/assets.ts @@ -43,7 +43,7 @@ export async function loadJSModule(asset: JsAsset): Promise { if (typeof loadBootResourceCallback === "function") { const blazorType = behaviorToBlazorAssetTypeMap[assetInternal.behavior]; dotnetAssert.check(blazorType, `Unsupported asset behavior: ${assetInternal.behavior}`); - const customLoadResult = loadBootResourceCallback(blazorType, assetInternal.name, asset.resolvedUrl!, assetInternal.integrity!, assetInternal.behavior); + const customLoadResult = loadBootResourceCallback(blazorType, assetInternal.name, asset.resolvedUrl!, assetInternal.hash!, assetInternal.behavior); dotnetAssert.check(typeof customLoadResult === "string", "loadBootResourceCallback for JS modules must return string URL"); asset.resolvedUrl = makeURLAbsoluteWithApplicationBase(customLoadResult); } @@ -479,7 +479,7 @@ async function loadResourceFetch(asset: AssetEntryInternal): Promise { if (typeof loadBootResourceCallback === "function") { const blazorType = behaviorToBlazorAssetTypeMap[asset.behavior]; dotnetAssert.check(blazorType, `Unsupported asset behavior: ${asset.behavior}`); - const customLoadResult = loadBootResourceCallback(blazorType, asset.name, asset.resolvedUrl!, asset.integrity!, asset.behavior); + const customLoadResult = loadBootResourceCallback(blazorType, asset.name, asset.resolvedUrl!, asset.hash!, asset.behavior); if (typeof customLoadResult === "string") { asset.resolvedUrl = makeURLAbsoluteWithApplicationBase(customLoadResult); } else if (typeof customLoadResult === "object") { diff --git a/src/native/libs/Common/JavaScript/loader/config.ts b/src/native/libs/Common/JavaScript/loader/config.ts index 5684ac77844fee..7ab54c2174415b 100644 --- a/src/native/libs/Common/JavaScript/loader/config.ts +++ b/src/native/libs/Common/JavaScript/loader/config.ts @@ -30,18 +30,17 @@ function mergeConfigs(target: LoaderConfigInternal, source: Partial Date: Fri, 17 Apr 2026 00:06:44 +0200 Subject: [PATCH 2/5] more --- .../libs/Common/JavaScript/loader/assets.ts | 4 ++-- .../libs/Common/JavaScript/loader/config.ts | 21 ++++++++++++------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/native/libs/Common/JavaScript/loader/assets.ts b/src/native/libs/Common/JavaScript/loader/assets.ts index 0701a26e30ac20..aeb5c8d7244759 100644 --- a/src/native/libs/Common/JavaScript/loader/assets.ts +++ b/src/native/libs/Common/JavaScript/loader/assets.ts @@ -43,7 +43,7 @@ export async function loadJSModule(asset: JsAsset): Promise { if (typeof loadBootResourceCallback === "function") { const blazorType = behaviorToBlazorAssetTypeMap[assetInternal.behavior]; dotnetAssert.check(blazorType, `Unsupported asset behavior: ${assetInternal.behavior}`); - const customLoadResult = loadBootResourceCallback(blazorType, assetInternal.name, asset.resolvedUrl!, assetInternal.hash!, assetInternal.behavior); + const customLoadResult = loadBootResourceCallback(blazorType, assetInternal.name, asset.resolvedUrl!, assetInternal.hash ?? "", assetInternal.behavior); dotnetAssert.check(typeof customLoadResult === "string", "loadBootResourceCallback for JS modules must return string URL"); asset.resolvedUrl = makeURLAbsoluteWithApplicationBase(customLoadResult); } @@ -479,7 +479,7 @@ async function loadResourceFetch(asset: AssetEntryInternal): Promise { if (typeof loadBootResourceCallback === "function") { const blazorType = behaviorToBlazorAssetTypeMap[asset.behavior]; dotnetAssert.check(blazorType, `Unsupported asset behavior: ${asset.behavior}`); - const customLoadResult = loadBootResourceCallback(blazorType, asset.name, asset.resolvedUrl!, asset.hash!, asset.behavior); + const customLoadResult = loadBootResourceCallback(blazorType, asset.name, asset.resolvedUrl!, asset.hash ?? "", asset.behavior); if (typeof customLoadResult === "string") { asset.resolvedUrl = makeURLAbsoluteWithApplicationBase(customLoadResult); } else if (typeof customLoadResult === "object") { diff --git a/src/native/libs/Common/JavaScript/loader/config.ts b/src/native/libs/Common/JavaScript/loader/config.ts index 7ab54c2174415b..8a7ec35dcd2481 100644 --- a/src/native/libs/Common/JavaScript/loader/config.ts +++ b/src/native/libs/Common/JavaScript/loader/config.ts @@ -30,6 +30,19 @@ function mergeConfigs(target: LoaderConfigInternal, source: Partial Date: Fri, 17 Apr 2026 00:11:47 +0200 Subject: [PATCH 3/5] more --- .../libs/Common/JavaScript/loader/config.ts | 47 +++++++++---------- 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/src/native/libs/Common/JavaScript/loader/config.ts b/src/native/libs/Common/JavaScript/loader/config.ts index 8a7ec35dcd2481..cb860d3d191d6f 100644 --- a/src/native/libs/Common/JavaScript/loader/config.ts +++ b/src/native/libs/Common/JavaScript/loader/config.ts @@ -29,11 +29,10 @@ function mergeConfigs(target: LoaderConfigInternal, source: Partial Date: Fri, 17 Apr 2026 01:23:42 +0200 Subject: [PATCH 4/5] more --- .../libs/Common/JavaScript/loader/config.ts | 40 ++++++++++--------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/src/native/libs/Common/JavaScript/loader/config.ts b/src/native/libs/Common/JavaScript/loader/config.ts index cb860d3d191d6f..41e4a489503415 100644 --- a/src/native/libs/Common/JavaScript/loader/config.ts +++ b/src/native/libs/Common/JavaScript/loader/config.ts @@ -29,27 +29,29 @@ function mergeConfigs(target: LoaderConfigInternal, source: Partial Date: Fri, 17 Apr 2026 01:31:42 +0200 Subject: [PATCH 5/5] more --- src/native/libs/Common/JavaScript/loader/config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/native/libs/Common/JavaScript/loader/config.ts b/src/native/libs/Common/JavaScript/loader/config.ts index 41e4a489503415..061c6ea9102759 100644 --- a/src/native/libs/Common/JavaScript/loader/config.ts +++ b/src/native/libs/Common/JavaScript/loader/config.ts @@ -59,7 +59,7 @@ function mergeResources(target: Assets, source: Assets): Assets { // no need to merge the same object if (target === source || source === undefined || source === null) return target; - target.hash = source.hash ?? target.hash ?? ""; + target.hash = source.hash ?? target.hash; target.coreAssembly = [...target.coreAssembly!, ...source.coreAssembly || []]; target.assembly = [...target.assembly!, ...source.assembly || []]; target.lazyAssembly = [...target.lazyAssembly!, ...source.lazyAssembly || []];