-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Low
-
None
-
Affects Version/s: 10.2.4
-
Component/s: Repositories
-
1
-
Severity 3 - Minor
-
1
Issue Summary
When users filter/search repositories on the Project Repositories page (/projects/<PROJECT>/repos), Bitbucket Data Center intermittently fails to display matching repositories, showing the message:
"We couldn't find any matching repositories"
The issue is intermittent and caused by an asynchronous frontend race condition between two concurrently dispatched REST requests with different pagination parameters (start=0 and start=100).
Steps to Reproduce
- Navigate to any Project's Repositories list view: https://<bitbucket-url>/projects/<PROJECT>/repos
- Enter the name of an existing active repository in the Filter repositories input field.
- Observe the network traffic in Browser Developer Tools (Network tab) and the rendered UI.
- Repeat the filter/search action multiple times to observe the intermittent behavior.
Expected Results
- The frontend renders the filtered repository matching the search query.
- A single REST request or properly coordinated paginated requests return and display the matching record.
Actual Results
- The UI intermittently displays: "We couldn't find any matching repositories".
- The user can still access the repository directly via its direct URL (/projects/<PROJECT>/repos/<REPO_SLUG>).
- When typing into the repository filter, the frontend sends two concurrent REST calls:
Request 1: GET /rest/search/latest/projects/<PROJECT>/repos?archived=ACTIVE&filter=<REPO_NAME>&avatarSize=48&start=0&limit=100 (Returns size: 1 with the repository in values)
Request 2: GET /rest/search/latest/projects/<PROJECT>/repos?archived=ACTIVE&filter=<REPO_NAME>&avatarSize=48&start=100&limit=100 (Returns size: 0 with empty values)
This causes a race condition depending on network timing:
- If start=100 completes before start=0, the UI renders the repository correctly.
- If start=0 completes before start=100, the empty response from start=100 overwrites the frontend state, showing "We couldn't find any matching repositories".
Workaround
Currently, there is no known workaround for this behavior.