Skip to content

Commit d22349a

Browse files
Add support for updatedTypes in metadata updates (#55347)
* feat: Add support for updatedTypes in metadata updates * chore: Adjust typescript signatures Co-authored-by: Mackinnon Buck <[email protected]> * Fix PublicAPI.*.txt * Make updatedTypes an optional arg * Fix PublicAPI.*.txt --------- Co-authored-by: Mackinnon Buck <[email protected]>
1 parent ecdc518 commit d22349a

File tree

4 files changed

+7
-4
lines changed

4 files changed

+7
-4
lines changed

src/Components/Web.JS/src/Boot.WebAssembly.Common.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,8 @@ async function startCore(components: RootComponentManager<WebAssemblyComponentDe
9797
}
9898
});
9999

100-
Blazor._internal.applyHotReload = (id: string, metadataDelta: string, ilDelta: string, pdbDelta: string | undefined) => {
101-
dispatcher.invokeDotNetStaticMethod('Microsoft.AspNetCore.Components.WebAssembly', 'ApplyHotReloadDelta', id, metadataDelta, ilDelta, pdbDelta);
100+
Blazor._internal.applyHotReload = (id: string, metadataDelta: string, ilDelta: string, pdbDelta: string | undefined, updatedTypes?: number[]) => {
101+
dispatcher.invokeDotNetStaticMethod('Microsoft.AspNetCore.Components.WebAssembly', 'ApplyHotReloadDelta', id, metadataDelta, ilDelta, pdbDelta, updatedTypes ?? null);
102102
};
103103

104104
Blazor._internal.getApplyUpdateCapabilities = () => dispatcher.invokeDotNetStaticMethod('Microsoft.AspNetCore.Components.WebAssembly', 'GetApplyUpdateCapabilities');

src/Components/Web.JS/src/GlobalExports.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ export interface IBlazor {
8989
}
9090

9191
// APIs invoked by hot reload
92-
applyHotReload?: (id: string, metadataDelta: string, ilDelta: string, pdbDelta: string | undefined) => void;
92+
applyHotReload?: (id: string, metadataDelta: string, ilDelta: string, pdbDelta: string | undefined, updatedTypes?: number[]) => void;
9393
getApplyUpdateCapabilities?: () => string;
9494
hotReloadApplied?: () => void;
9595
}

src/Components/WebAssembly/WebAssembly/src/HotReload/WebAssemblyHotReload.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ internal static async Task InitializeAsync()
4343
/// For framework use only.
4444
/// </summary>
4545
[JSInvokable(nameof(ApplyHotReloadDelta))]
46-
public static void ApplyHotReloadDelta(string moduleIdString, byte[] metadataDelta, byte[] ilDelta, byte[] pdbBytes)
46+
public static void ApplyHotReloadDelta(string moduleIdString, byte[] metadataDelta, byte[] ilDelta, byte[] pdbBytes, int[]? updatedTypes)
4747
{
4848
// Analyzer has a bug where it doesn't handle ConditionalAttribute: https://github.com/dotnet/roslyn/issues/63464
4949
#pragma warning disable IDE0200 // Remove unnecessary lambda expression
@@ -56,6 +56,7 @@ public static void ApplyHotReloadDelta(string moduleIdString, byte[] metadataDel
5656
_updateDeltas[0].MetadataDelta = metadataDelta;
5757
_updateDeltas[0].ILDelta = ilDelta;
5858
_updateDeltas[0].PdbBytes = pdbBytes;
59+
_updateDeltas[0].UpdatedTypes = updatedTypes;
5960

6061
_hotReloadAgent.ApplyDeltas(_updateDeltas);
6162
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
#nullable enable
2+
*REMOVED*static Microsoft.AspNetCore.Components.WebAssembly.HotReload.WebAssemblyHotReload.ApplyHotReloadDelta(string! moduleIdString, byte[]! metadataDelta, byte[]! ilDelta, byte[]! pdbBytes) -> void
3+
static Microsoft.AspNetCore.Components.WebAssembly.HotReload.WebAssemblyHotReload.ApplyHotReloadDelta(string! moduleIdString, byte[]! metadataDelta, byte[]! ilDelta, byte[]! pdbBytes, int[]? updatedTypes) -> void
24
static Microsoft.AspNetCore.Components.WebAssembly.Http.WebAssemblyHttpRequestMessageExtensions.SetBrowserRequestStreamingEnabled(this System.Net.Http.HttpRequestMessage! requestMessage, bool streamingEnabled) -> System.Net.Http.HttpRequestMessage!

0 commit comments

Comments
 (0)