Skip to content

Resolve "GitHub import does not show all available namespaces"

What does this MR do?

Related issue: #322459 (closed)

This MR fixes issues when inifinite scrolling pagination stucks, if all repositories on "page" were imported The root cause of the problem is that we can't distinguish between "hey, last page we've loaded returned 0 available repositories because provider (i.e. GitHub) returned 0 and "we've returned 0 available repositories because all were imported"

To fix this we use pretty straightforward approach - move "duplicates removal" from backend to frontend part

Screenshots or Screencasts (strongly suggested)

(recorded with PAGE_LENGTH = 2, see below) New_Project___GitLab__4_

How to setup and validate locally (strongly suggested)

  1. Enable new github importer (this is easiest to test changes)
    Feature.enable(:remove_legacy_github_client)
  2. Create github personal access token
  3. Change PAGE_LENGTH = 25 in github_controller.rb to PAGE_LENGTH = 2 (this is required so you won't need to import first 25 repositories for test
  4. Import first 2 repositories (initiating import is sufficient, no need to wait while it completes)
  5. Refresh page, page should continue load remaining repositories via infinite scrolling

-->

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Edited by Illya Klymov

Merge request reports