Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Blazor] Update MSBuild targets so they get imported correctly (7.0) #52298

Merged
merged 3 commits into from
Nov 27, 2023

Conversation

javiercn
Copy link
Member

@javiercn javiercn commented Nov 22, 2023

Issue: Microsoft.AspNetCore.Components.WebView.props is not imported by Maui applications

This issue pertains to the non-importation of Microsoft.AspNetCore.Components.WebView.props by Maui applications. The file has been relocated within the package to ensure its correct pickup and importation during the restore/build process.

Fixes #42348.

Description

The inability of Maui applications to rely on JavaScript (JS) initializers, particularly in the case of Fluent UI, is impacted by this issue. The runtime searches for the initializer's definition in a specific location, which is configured in the props file of the package.

Impact on Customers

The malfunction of JS initializers in Blazor Hybrid has significant implications for both library authors and end users.

Library authors may find their libraries' functionality restricted due to this bug. JS initializers, a feature in Blazor, enable library authors to inject scripts onto the page at the start of the app. These scripts can augment functionality, enhance user interfaces, or facilitate third-party service integration. For instance, a library author might employ a JS initializer to inject a script that integrates with a mapping service, thereby providing real-time location updates within a Blazor app. This functionality would be unavailable in Blazor Hybrid apps due to this bug.

End users may be unable to use certain libraries, or those libraries may not function as anticipated in Blazor Hybrid apps. If a user were to use a Blazor Hybrid app that relies on the aforementioned mapping library, they would not receive the real-time location updates that they would in a regular Blazor app. This could result in an inferior user experience, and in some cases, render the app unusable.

Users and library authors are compelled to manually inject the script onto the page, and some functionality (like configuring Blazor before it starts) is not available in this mode.

Regression?

  • Yes
  • No

Risk

  • High
  • Medium
  • Low

The failure to load a file from a NuGet package impacts the build. The change causes the file to load at build time, enabling the rest of the pipeline to function as expected.

Verification

  • Manual (required)
  • Automated

The changes were made locally on the package cache and ensured the file got imported.

Packaging changes reviewed?

  • Yes
  • No
  • N/A

When servicing release/2.1

  • Make necessary changes in eng/PatchConfig.props

@dotnet-issue-labeler dotnet-issue-labeler bot added the area-blazor Includes: Blazor, Razor Components label Nov 22, 2023
@ghost ghost added this to the 7.0.x milestone Nov 22, 2023
@ghost
Copy link

ghost commented Nov 22, 2023

Hi @javiercn. If this is not a tell-mode PR, please make sure to follow the instructions laid out in the servicing process document.
Otherwise, please add tell-mode label.

@javiercn javiercn changed the title [Blazor] Update the MSBuild targets location to make sure that they get imported when the package is referenced. [Blazor] Update MSBuild targets so they get imported correctly (7.0) Nov 22, 2023
@javiercn javiercn marked this pull request as ready for review November 22, 2023 13:33
@javiercn javiercn requested a review from a team as a code owner November 22, 2023 13:33
@javiercn javiercn added the Servicing-consider Shiproom approval is required for the issue label Nov 22, 2023
@ghost
Copy link

ghost commented Nov 22, 2023

Hi @javiercn. Please make sure you've updated the PR description to use the Shiproom Template. Also, make sure this PR is not marked as a draft and is ready-to-merge.

To learn more about how to prepare a servicing PR click here.

@mkArtakMSFT mkArtakMSFT added Servicing-approved Shiproom has approved the issue and removed Servicing-consider Shiproom approval is required for the issue labels Nov 27, 2023
@ghost
Copy link

ghost commented Nov 27, 2023

Hi @javiercn. This PR was just approved to be included in the upcoming servicing release. Somebody from the @dotnet/aspnet-build team will get it merged when the branches are open. Until then, please make sure all the CI checks pass and the PR is reviewed.

@mkArtakMSFT mkArtakMSFT merged commit 94b47e5 into release/7.0 Nov 27, 2023
26 checks passed
@mkArtakMSFT mkArtakMSFT deleted the javiercn/update-msbuild-targets-7.0 branch November 27, 2023 21:48
@ghost ghost modified the milestones: 7.0.x, 7.0.15 Nov 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-blazor Includes: Blazor, Razor Components Servicing-approved Shiproom has approved the issue
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

4 participants