Skip to content

Conversation

@captainsafia
Copy link
Member

@captainsafia captainsafia commented Sep 24, 2020

Description

This PR reverts a change that was introduced in #23224 to ensure that circuits are not disconnected when protocol-based links (e.g. mailto: and tel:) are clicked or a download is programmatically triggered. This PR also:

  • Adds E2E tests for newly-identified customer scenarios
  • Adds an JavaScript API to give customers the flexibility to disconnect Blazor circuits whenever they want

Customer Impact

This change was made in response to customer feedback that a recent bug fix broke important scenarios for users. Without this change, customer applications that use protocol-based links or programmatic downloads would break.

Regression

This is a regression from Blazor Server 3.1.

Risk

The risk of this change is low:

  • New end-to-end tests were added for the discovered scenarios
  • Behavior was reverted to what we shipped in 3.1 which is understood by users
  • API was provided for users who want control over when disconnect call is made

@ghost ghost added the area-blazor Includes: Blazor, Razor Components label Sep 24, 2020
@mkArtakMSFT mkArtakMSFT added this to the 5.0.0-rc2 milestone Sep 24, 2020
@mkArtakMSFT mkArtakMSFT added the Servicing-consider Shiproom approval is required for the issue label Sep 24, 2020
@ghost
Copy link

ghost commented Sep 24, 2020

Hello human! Please make sure you've included the Shiproom Template in a comment or (preferably) the PR description. Also, make sure this PR is not marked as a draft and is ready-to-merge.

@mkArtakMSFT
Copy link
Contributor

@captainsafia can you please link the customer reported issue this PR resolved?

@mkArtakMSFT mkArtakMSFT added Servicing-approved Shiproom has approved the issue and removed Servicing-consider Shiproom approval is required for the issue labels Sep 25, 2020
@mkArtakMSFT
Copy link
Contributor

Found it: #25724

@mkArtakMSFT mkArtakMSFT linked an issue Sep 25, 2020 that may be closed by this pull request
@mkArtakMSFT
Copy link
Contributor

This has been approved by tactics. @captainsafia let me know when this is ready to merge.

Copy link
Member

@SteveSandersonMS SteveSandersonMS left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great!

@pos777
Copy link

pos777 commented Oct 14, 2020

Hello!
Does the .NET Core 3.1.9 update contain the fix?

captainsafia added a commit that referenced this pull request Oct 14, 2020
* Add tests for failing disconnect scenarios

* Remove beforeunload call and add public API

* Add additional test case

* Update src/Components/test/testassets/BasicTestApp/GracefulTermination.razor

Co-authored-by: Steve Sanderson <[email protected]>

Co-authored-by: Steve Sanderson <[email protected]>
@captainsafia
Copy link
Member Author

@pos777 Nope. This fix will be included in the November release.

captainsafia added a commit that referenced this pull request Oct 15, 2020
* Add tests for failing disconnect scenarios

* Remove beforeunload call and add public API

* Add additional test case

* Update src/Components/test/testassets/BasicTestApp/GracefulTermination.razor

Co-authored-by: Steve Sanderson <[email protected]>

Co-authored-by: Steve Sanderson <[email protected]>

Co-authored-by: Steve Sanderson <[email protected]>
@svrebelo001
Copy link

Any updates?

Thanks in advance

@captainsafia
Copy link
Member Author

@svrebelo001 The fix is released as part of 3.0.10.

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

None yet

Development

Successfully merging this pull request may close these issues.

Blazor - href="mailto:.." crash

9 participants