Missing tags in compare page
Summary
I'm missing the last few tags in the compare page:
If I manually enter the tag through the URL (like: .../compare/0.21.3...master
) I can compare as expected.
This happens with a url like: .../compare?from=master&to=master
.
However, when I:
- Select an older tag
- Compare
- (I'm redirected to
.../compare/0.21.0...master
Now when I search, the tags do show up:
Steps to reproduce
This just started happening in one of our projects. Possibly related to large amount of tags? But I don't have a clear way to reproduce this.
- Have more than 100 tags
- Go to compare page (
.../compare?from=master&to=master
) - Open refs dropdown
- Type in part of a recent tag
Expected: You see all relevant tags
Actual: You miss the most recent tags
Example Project
This is happening on our self hosted Gitlab instance.
What is the current bug behavior?
You can't find the most recent tags in the dropdowns on the compare page.
What is the expected correct behavior?
You can find all tags in the dropdowns on the compare page.
Output of checks
Results of GitLab environment info
Expand for output related to GitLab environment info
Components: GitLab 13.9.3 () GitLab Shell 13.17.0 GitLab Workhorse v8.63.2 GitLab API v4 Ruby 2.7.2p137 Rails 6.0.3.4 PostgreSQL 12.6 Redis
Possible fixes
The refs request (.../refs
)'s Tags
array has precisely 100 items, which makes me think it's limited / capped at 100. I'd expect if this list was limited, when you search for a tag it would need to do a new search like request, but it only seems to rely on what was already retrieved?
When I go to a url with the valid compare (e.g. /compare/0.21.3...master
) it does perform search requests and I do get the full list.
So for some reason it doesn't do server side searches when on for example .../compare?from=master&to=master
?