Skip to content

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Aug 6, 2025

Backport of #10740 to release/9.4

/cc @JamesNK

Customer Impact

Fixes #10841

There are a couple of issues in large grid scrolling:

  • The dashboard's default grid behavior is scrolling to the bottom when new content arrives. Automatically scrolling to the bottom is disabled if you've scrolled up and are no longer at the bottom of the grid. This matches what OS consoles do as content is written to them. However, sometimes this behavior breaks, and the grid stops scrolling down.

    The problem is new content arriving and the grid scrolling both trigger the onscroll event. Races can cause the existing calculation to break:

    • new data has arrived, but the grid hasn't scrolled down yet
    • scroll event sees you're not at the bottom of the content
    • grid disables auto scrolling

    The fix is to skip calculation when new data is added to the grid. We can tell new data has been added because the total scroll height of the grid changes.

  • There is bad scrolling behavior with the mouse wheel in large grids of data. This is a regression introduced by FluentUI changing how data grids are rendered.

    The problem occurs with virtualized grids, large amount of data, and using the scroll wheel. Scrolling will jump around erratically. It's unusable.

    The fix in this PR is to increase the virtualize overscan amount (how much extra data is rendered that is out-of-site). There is a small perf hit because the client is doing extra work to render rows that aren't visible, but we're only adding up to 200 extra rows, so the impact is small. Note that this significantly improves the user experience most of the time, but it isn't a perfect fix. If you scroll aggressively then it will still jump around. But further improvements will require larger changes and have to wait for 9.5.

Testing

Manual. Can't automate this client-side behavior.

Risk

Low

Regression?

Yes. (I'm not sure what version it regressed in. 9.3?)

@JamesNK JamesNK changed the title [release/9.4] Fix automatic scrolling to the bottom of main page content [release/9.4] Fix grid scrolling bugs Aug 6, 2025
@JamesNK JamesNK added this to the 9.4.1 milestone Aug 6, 2025
@joperezr
Copy link
Member

joperezr commented Aug 7, 2025

Low Risk + regression. Approved for 9.4.1

@joperezr joperezr added the Servicing-approved Approved for servicing release label Aug 7, 2025
@davidfowl davidfowl merged commit 9ee918c into release/9.4 Aug 8, 2025
255 checks passed
@davidfowl davidfowl deleted the backport/pr-10740-to-release/9.4 branch August 8, 2025 18:36
@dotnet-policy-service dotnet-policy-service bot modified the milestone: 9.4.1 Aug 8, 2025
WeihanLi pushed a commit to WeihanLi/aspire that referenced this pull request Aug 13, 2025
* Fix continious scroll to prevent jumping to the top

* Overscan counts

* Update

* Update

* Continious scroll is re-enabled when there is no scrollbar

* Remove page logging

---------

Co-authored-by: James Newton-King <[email protected]>
This was referenced Aug 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants