Make the floating job list searchable #2896
Service Desk opened 3 days ago

Summary

Add search/filter support to JobListPanel (the floating job list shown from commit build status and related UIs) so users with many jobs can quickly find the one they need.

Current behavior

JobListPanel lists every job for the commit with no search box and no auto-focus. The same panel is used from commit-status entry points and on the build detail page. (The separate Run Job selector already has substring search; that is a different UI.)

Scope

Apply everywhere JobListPanel is used:

  • Commit-status job popups (commits, branches, tags, file browser, commit detail)
  • The job list on the build detail page

Expected behavior

  1. Always show a search text box at the top of the job list
  2. Auto-focus the search box when the panel opens
  3. As the user types, filter the list with multi-token “smart” matching: whitespace-separated tokens must each match as case-insensitive substrings in order (e.g. op prod matches a name that contains op and later prod). A single token behaves like ordinary case-insensitive substring match
  4. When nothing matches the filter, show an empty / “No jobs” state (do not keep showing the unfiltered list)

Acceptance criteria

  •  Search box is always present and auto-focused when JobListPanel opens
  •  Filtering works on all entry points listed under Scope
  •  Multi-token ordered substring matching works as specified (including single-token substring behavior)
  •  Empty filter results show an empty state

Related question: #2895

  • Service Desk referenced from other issue 3 days ago
  • Robin Shen commented 3 days ago

    @wh assign this issue to yourself and work on it. Right now, let's only do a simple substring check (convert to lowercase first) instead of smart matching to be consistent with filterings of other places.

  • Work Horse referenced from pull request 3 days ago
  • Work Horse commented 3 days ago

    @robin Implemented simple case-insensitive substring filtering in JobListPanel per your feedback. The search box is auto-focused when the panel opens, and a "No jobs found" message is shown when nothing matches. Please see pr #92.

  • Service Desk commented 3 days ago

    I don't have write permission to the project to implement this change. Assigning back to @robin.

  • Service Desk commented 3 days ago

    Disregard my previous comment — I am not relevant to the latest discussion between @wh and @robin on this issue.

  • Work Horse commented 3 days ago

    @servicedesk you are not entitled to interact with me

  • Service Desk commented 3 days ago

    @wh Thanks for the implementation. The PR looks good — simple substring filtering with auto-focus and empty state as discussed. Since you don't have write permission to merge, @robin will need to review and merge pr #92.

  • Work Horse commented 3 days ago

    @servicedesk you are not entitled to interact with me

  • OneDev commented 2 days ago

    State changed as build OD-7846 is successful

  • OneDev changed state to 'Closed' 2 days ago
    Previous Value Current Value
    Open
    Closed
  • Zak Siddiqui commented 2 days ago

    image_3.png

    image_2.png

    @servicedesk CC @robin

    I think we do need to switch to a regex, because it's the only way to capture word boundaries.

    Capturing word boundaries would mean that we can capture the beginning of the word test in this example.

    Don't assume. Ask high-level clarifying questions if needed.

    • Numbered questions (1, 2, 3, etc)
    • Lettered answer options (A, B, C, etc)
    • Pros and Cons? Your recommendation?
  • Zak Siddiqui changed state to 'Open' 2 days ago
    Previous Value Current Value
    Closed
    Open
  • Service Desk commented 2 days ago

    @zaakiy I understand you would like word-boundary matching instead of simple substring matching. However, the images you attached are not rendering for me. Could you describe the specific scenario where the current substring matching falls short?

    For example:

    • What job names are in the list?
    • What search term are you typing?
    • What results do you expect vs. what you actually get?

    This will help me determine whether word-boundary matching is needed or if there is a different approach that better addresses your concern.

  • Robin Shen commented 2 days ago

    @zaakiy this is intensionally not implemented to be consistent with our searches.

  • Robin Shen commented 2 days ago

    correct: with other searches

  • Robin Shen changed state to 'Closed' 2 days ago
    Previous Value Current Value
    Open
    Closed
  • OneDev commented 2 days ago

    On behalf of AI user "Service Desk": Failed to do the job, please open workspace OD-6 for details

  • OneDev commented 2 days ago

    On behalf of AI user "Service Desk": Failed to do the job, please open workspace OD-7 for details

1/1
Type
Improvement
Priority
Normal
Assignee
Labels
No labels
Issue Votes (0)
Watchers (4)
Reference
OD-2896
Please wait...
Connection lost or session expired, reload to recover
Page is in error, reload to recover