• 
      

    Fix loading commits in the New Review Request page on tall monitors.

    Review Request #11673 — Created June 24, 2021 and submitted

    Information

    Review Board
    release-4.0.x

    Reviewers

    The New Review Request page's commit list loads an initial page of
    commits and then only loads new pages of commits when scrolling to the
    end of the list. However, if the window is tall enough, that initial
    list of commits won't be enough to trigger a scrollbar, preventing any
    more commits from loading.

    We now progressively load pages of commits until we know we've filled up
    the visible list and triggered a scrollbar. The logic is the same as the
    one we used for determining when to load a new page of commits when
    scrolling, but is now called on initial page load and can repeatedly
    call itself until the visible list is full.

    As part of this, RB.RepositoryCommits.fetchNext() now takes options
    for notifying on success or error, which is used by
    RB.CommitsListView both for the progressive loading and for error
    reporting if progressive loading fails (which we didn't notify about
    before).

    Unit tests passed.

    Tested by shrinking the font to an ultra-tiny size with a full-screen
    window. Without the patch, the commits wouldn't fill up the available
    space, and I had no way of loading new commits. After the patch, the
    commits filled up the entire available width, and I could scroll to
    load more.

    Summary ID
    Fix loading commits in the New Review Request page on tall monitors.
    The New Review Request page's commit list loads an initial page of commits and then only loads new pages of commits when scrolling to the end of the list. However, if the window is tall enough, that initial list of commits won't be enough to trigger a scrollbar, preventing any more commits from loading. We now progressively load pages of commits until we know we've filled up the visible list and triggered a scrollbar. The logic is the same as the one we used for determining when to load a new page of commits when scrolling, but is now called on initial page load and can repeatedly call itself until the visible list is full. As part of this, `RB.RepositoryCommits.fetchNext()` now takes options for notifying on success or error, which is used by `RB.CommitsListView` both for the progressive loading and for error reporting if progressive loading fails (which we didn't notify about before).
    8d5a14f3ec34b6f61ed6377f20c3fae77512b11c
    Description From Last Updated

    , optional

    daviddavid
    david
    chipx86
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to release-4.0.x (646058c)