Skip to content

Commit

Permalink
Add support for updatedTypes in metadata updates (#55347)
Browse files Browse the repository at this point in the history
* feat: Add support for updatedTypes in metadata updates

* chore: Adjust typescript signatures

Co-authored-by: Mackinnon Buck <mackinnon.buck@gmail.com>

* Fix PublicAPI.*.txt

* Make updatedTypes an optional arg

* Fix PublicAPI.*.txt

---------

Co-authored-by: Mackinnon Buck <mackinnon.buck@gmail.com>
  • Loading branch information
jeromelaban and MackinnonBuck authored Jun 28, 2024
1 parent ecdc518 commit d22349a
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 4 deletions.
4 changes: 2 additions & 2 deletions src/Components/Web.JS/src/Boot.WebAssembly.Common.ts
Original file line number Diff line number Diff line change
Expand Up @@ -97,8 +97,8 @@ async function startCore(components: RootComponentManager<WebAssemblyComponentDe
}
});

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

Blazor._internal.getApplyUpdateCapabilities = () => dispatcher.invokeDotNetStaticMethod('Microsoft.AspNetCore.Components.WebAssembly', 'GetApplyUpdateCapabilities');
Expand Down
2 changes: 1 addition & 1 deletion src/Components/Web.JS/src/GlobalExports.ts
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ export interface IBlazor {
}

// APIs invoked by hot reload
applyHotReload?: (id: string, metadataDelta: string, ilDelta: string, pdbDelta: string | undefined) => void;
applyHotReload?: (id: string, metadataDelta: string, ilDelta: string, pdbDelta: string | undefined, updatedTypes?: number[]) => void;
getApplyUpdateCapabilities?: () => string;
hotReloadApplied?: () => void;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ internal static async Task InitializeAsync()
/// For framework use only.
/// </summary>
[JSInvokable(nameof(ApplyHotReloadDelta))]
public static void ApplyHotReloadDelta(string moduleIdString, byte[] metadataDelta, byte[] ilDelta, byte[] pdbBytes)
public static void ApplyHotReloadDelta(string moduleIdString, byte[] metadataDelta, byte[] ilDelta, byte[] pdbBytes, int[]? updatedTypes)
{
// Analyzer has a bug where it doesn't handle ConditionalAttribute: /~https://github.com/dotnet/roslyn/issues/63464
#pragma warning disable IDE0200 // Remove unnecessary lambda expression
Expand All @@ -56,6 +56,7 @@ public static void ApplyHotReloadDelta(string moduleIdString, byte[] metadataDel
_updateDeltas[0].MetadataDelta = metadataDelta;
_updateDeltas[0].ILDelta = ilDelta;
_updateDeltas[0].PdbBytes = pdbBytes;
_updateDeltas[0].UpdatedTypes = updatedTypes;

_hotReloadAgent.ApplyDeltas(_updateDeltas);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
#nullable enable
*REMOVED*static Microsoft.AspNetCore.Components.WebAssembly.HotReload.WebAssemblyHotReload.ApplyHotReloadDelta(string! moduleIdString, byte[]! metadataDelta, byte[]! ilDelta, byte[]! pdbBytes) -> void
static Microsoft.AspNetCore.Components.WebAssembly.HotReload.WebAssemblyHotReload.ApplyHotReloadDelta(string! moduleIdString, byte[]! metadataDelta, byte[]! ilDelta, byte[]! pdbBytes, int[]? updatedTypes) -> void
static Microsoft.AspNetCore.Components.WebAssembly.Http.WebAssemblyHttpRequestMessageExtensions.SetBrowserRequestStreamingEnabled(this System.Net.Http.HttpRequestMessage! requestMessage, bool streamingEnabled) -> System.Net.Http.HttpRequestMessage!

0 comments on commit d22349a

Please sign in to comment.