(#1048) Replace Pagination With Infinite Scroll - #1152
Draft
TheRealDeLorian wants to merge 2 commits into
Draft
Conversation
Previously remote package results used First/Back/Next/Last paging, so users had to step through pages to find software. Replace page navigation with a continuous list that loads more packages as the user scrolls, prefetching ahead so later batches are ready before the bottom of the list is reached.
Previously the initial remote package load waited on NuGet Search()/$count (ListCount) and the outdated-package check before dismissing the loading dialog. Against community.chocolatey.org the count request can hang, leaving the UI stuck on Fetching packages. Skip the total-count query during browse, close the loading dialog as soon as packages are shown, and ignore stale or negative totals so All Versions and normal browse stay responsive.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description Of Changes
Replace remote-source First/Back/Next/Last pagination with infinite scrolling.
loaded / totalstatus in place of the old page indicator.Local "This PC" packages were already unpaged and are unchanged.
Motivation and Context
Previously remote package results used First/Back/Next/Last paging, so users had to step through pages to find software.
Issue #1048 originally asked for a configurable page size. Discussion on that issue preferred dropping pagination entirely in favor of infinite scrolling, which matches how most app stores and package manager UIs work.
This change replaces page navigation with a continuous list that loads more packages as the user scrolls, prefetching ahead so later batches are ready before the bottom of the list is reached.
Related: #1090
Testing
RemoteSourceViewModelTests(7 passing), covering prefetch of two additional pages, append without clearing, short last batch / no further fetch, and reset after append.Operating Systems Testing
Change Types Made
Change Checklist
Related Issue
Fixes #1048