Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Blazor] Updated Blazor Server reconnect UI (#55723)
# Updated Blazor Server reconnect UI Improves the default Blazor Server reconnect experience according to common customer feedback. ## Description Makes the following improvements to the Blazor Server reconnect UI: * Rather than waiting three seconds before attempting reconnection, then waiting an additional default of 20 seconds between successive attempts, the new default settings use a configurable exponential backoff strategy: * Retry as quickly as possible for the first 10 attempts * Retry every 5 seconds for the next 10 attempts * Retry every 30 seconds until reaching the user-configured max retry count * **Note**: Customers can configure their own retry interval calculation function to override the default behavior * When the user navigates back to the disconnected app from another app or browser tab, a reconnect attempt is immediately made * If the server can be reached, but reconnection fails because server disposed the circuit, a refresh occurs automatically * The default reconnect UI shows the number of seconds until the next reconnect attempt instead of the number of attempts remaining * The styling of the default reconnect UI has been modernized Fixes #55721 ## Customer Impact Customers of apps built using Blazor Server often complain about the reconnection experience, which has motivated Blazor developers to open issues like #32113 suggesting improvements to reduce the amount of time the customer spends looking at the reconnect UI. This PR addresses many of those common concerns by performing reconnection attempts more aggressively. Unless apps have overridden the default reconnection options, they will automatically get thew new reconnect behavior by upgrading to .NET 9. In addition, the default reconnect UI styling has been updated. Styling changes will not affect apps that have overridden the default reconnect UI. ## Regression? - [ ] Yes - [X] No ## Risk - [ ] High - [ ] Medium - [X] Low This change only affects the reconnection experience when using Blazor Server or Server interactivity in a Blazor Web App. We have existing automated tests verifying core reconnect functionality. It's possible that some customers may have been relying on the previous defaults, but they'll still be able to override the new defaults if desired. ## Verification - [X] Manual (required) - [X] Automated ## Packaging changes reviewed? - [ ] Yes - [ ] No - [X] N/A
- Loading branch information