feat: search builds by CI build id - #380
Merged
nGervasyuk merged 6 commits intoJul 27, 2026
Merged
Conversation
The build list is paginated, so finding a run meant clicking through pages. Add a debounced search field above the list that passes the query to GET /builds, letting the server filter and paginate the whole history instead of the loaded page.
Every search keystroke pause and every page change replaced the whole list with pulsing skeletons. Show them only when there is nothing to display yet, use a progress bar for subsequent refetches, and clear the list explicitly when the project changes. Also turn off browser autocomplete on the search field.
Use the same outlined, small text field as the Name filter instead of the standard one, whose animated underline and progress bar were the only moving parts in the sidebar. Size the project select to its content so the field sits right below it.
A long query without spaces had nothing to wrap on and spilled over the test run list. Wrap it anywhere, drop the heading-sized font, and cover it with a test that measures the overflow.
…by-ci-build-id # Conflicts: # integration_tests/test/projec.spec.ts
…by-ci-build-id # Conflicts: # integration_tests/pages/components/BuildList.ts # integration_tests/test/projec.spec.ts # integration_tests/utils/mocks.ts # src/components/BuildList/index.tsx
|
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.



What & why
The build list is paginated, so locating a run in a project with a long history means clicking through pages. This adds a search field above the list that filters builds by CI build id.
Depends on Visual-Regression-Tracker/backend#355, which adds the
ciBuildIdquery param toGET /builds. Until that ships, the param is ignored and the list behaves exactly as before.Changes
GET /builds, so the server filters and paginates the whole history rather than the ten loaded builds. Changing the query resets to page 1 and clears the selection, so bulk delete can't act on hidden builds.Namefilter, with browser autocomplete off.requestno longer empties the list; the skeletons now appear only when there is nothing to show yet. A newresetaction clears the list when the project changes, so another project's builds never linger. This also removes the flash that page changes already caused.No builds match "<query>", wraps long queries and no longer uses a heading-sized font.Testing
tsc --noEmit,eslint,prettierandvite buildclean on changed files.project-page-test-run-list.pngsnapshot (the sidebar now has a search field).Screenshots
Screen.Recording.2026-07-27.at.11.11.14.mov