Skip to content

Conversation

tmat
Copy link
Member

@tmat tmat commented Sep 6, 2025

Microsoft Reviewers: Open in CodeFlow

Replaces the use of default DeltaApplier implemented in WebTools with one from dotnet-watch (DefaultHotReloadClient type shared via Microsoft.DotNet.HotReload.Client source package).
The Hot Reload client is wrapped in DeltaApplier type that implements the existing IDeltaApplier interface.

Adds a new interface IProjectHotReloadSessionWebAssemblyCallback for Web Project to implement. Once implemented the Hot Reload session implementation will switch to using dotnet-watch WebAssemblyHotReloadClient as the underlying implementation of the DeltaApplier for WASM app.

Adds AbstractBrowserRefreshServerAccessor that exposes Browser Refresh server implementation from Microsoft.DotNet.HotReload.Client source package to WebTools, so that we can replace the implementation in WebTools.

Adds Browser Refresh middleware (package Microsoft.DotNet.HotReload.Web.Middleware published by dotnet/sdk) to Managed Project System VSIX to distribute with VS. Once we switch WebTools to AbstractBrowserRefreshServerAccessor it will stop using the middleware from the SDK and switch to the middleware included in Project System VSIX. This will allow us to version the client (IDE) and the middleware together instead of having to support all combinations of VS and SDK versions.

Contributes to
https://devdiv.visualstudio.com/DevDiv/_workitems/edit/2398434
https://devdiv.visualstudio.com/DevDiv/_workitems/edit/2398433
https://devdiv.visualstudio.com/DevDiv/_workitems/edit/2398432

@tmat tmat force-pushed the DeltaApplier branch 5 times, most recently from ad8a1af to 9f0b5ec Compare September 16, 2025 19:08
@tmat tmat changed the title Delta applier Switch to dotnet-watch delta appliers Sep 16, 2025
@tmat tmat marked this pull request as ready for review September 16, 2025 19:30
@tmat tmat requested a review from a team as a code owner September 16, 2025 19:30
@tmat
Copy link
Member Author

tmat commented Sep 16, 2025

@LittleLittleCloud @drewnoakes ptal

@drewnoakes
Copy link
Member

LGTM though will defer to @LittleLittleCloud for final sign off.

@LittleLittleCloud LittleLittleCloud merged commit 1d06808 into dotnet:main Sep 17, 2025
5 checks passed
@dotnet-policy-service dotnet-policy-service bot added this to the 18.0 milestone Sep 17, 2025
@tmat tmat deleted the DeltaApplier branch September 17, 2025 17:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants