[release/10.0] [Blazor] Increment MaxItemCount when OverscanCount > MaxItemCount #63767
+114
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Ensure
Virtualize
renders at leastOverscanCount
items whenOverscanCount > MaxItemCount
Description
Issue #63651 reports incorrect behavior when
OverscanCount
exceedsMaxItemCount
: the component could under‑render (large blank area, late loads) because the effective maximum item window was clamped too low, causing excessive “unused capacity” and spacer translation anomalies.CalculateItemDistribution
) to elevate the effectiveMaxItemCount
to at leastOverscanCount
after applying the (legacy) AppContext override and theMaxItemCount
parameter.VirtualizationLargeOverscan.razor
(inBasicTestApp
) exercisingOverscanCount="200"
withMaxItemCount="5"
.CanElevateEffectiveMaxItemCount_WhenOverscanExceedsMax
in VirtualizationTest.cs verifying:No public API surface changes; only internal logic and test assets updated.
Fixes #63651
Customer Impact
Addresses an issue with the Aspire dashboard.
Without the fix, apps that (intentionally or accidentally) configure a small
MaxItemCount
together with a largeOverscanCount
can observe:After the fix,
Virtualize
behaves predictably: it always renders enough items to satisfy the overscan window while still honoring the safeguard intent ofMaxItemCount
for realistic configurations.Regression?
From 8.x for the aspire case. We don't believe this issue is common outside of the very specific usage Aspire does.
Risk
Justification:
maxItemCount = OverscanCount
when smaller).MaxItemCount >= OverscanCount
, behavior unchanged).Verification
Packaging changes reviewed?