Skip to content

feat: global job search across all statuses#22

Merged
eclectic-coding merged 4 commits into
mainfrom
feature/global-search
May 19, 2026
Merged

feat: global job search across all statuses#22
eclectic-coding merged 4 commits into
mainfrom
feature/global-search

Conversation

@eclectic-coding
Copy link
Copy Markdown
Owner

Summary

  • Adds GET /jobs/search?q= — queries all five execution models in a single action and groups results by status (ready, scheduled, claimed, blocked, failed)
  • Each status group shows a match count, a "View all →" link to the filtered status page, and a table of up to 25 matches linking to individual job detail pages
  • Native <datalist> populated from all distinct class names in solid_queue_jobs — browser shows matching suggestions as the user types, no JS library required
  • Selecting a class name from the datalist auto-submits the form via the existing search Stimulus controller (change->search#select); no Search button needed
  • "Search" nav link added to the header

Test plan

  • Navigate to Search in the nav — search form renders with no results section
  • Click the input — no datalist shown until typing begins
  • Type a partial class name — matching suggestions appear in the dropdown
  • Select a suggestion — form submits immediately and results appear grouped by status
  • Verify "View all →" links navigate to the correct filtered page for each status
  • Verify job class name links navigate to the job detail page
  • Search for a non-existent class — empty state message appears
  • Clear link resets the form

🤖 Generated with Claude Code

eclectic-coding and others added 4 commits May 19, 2026 13:02
Adds GET /jobs/search?q= which queries all five execution models
(ready, scheduled, claimed, blocked, failed) for jobs whose class name
matches the search term. Results are grouped by status, each with a match
count, a "View all →" link to the filtered status page (or failed jobs page),
and a table of the first 25 matches linking to individual job detail pages.

A "Search" nav link is added to the header. The page shows no results
section when the query is blank.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Queries all distinct class names from solid_queue_jobs and renders them as
a native HTML <datalist> on the search page. The browser filters suggestions
as the user types — no JavaScript required, fully accessible.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… load

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds a select() action to the existing search Stimulus controller that
cancels any pending debounce timer and calls requestSubmit() immediately.
Wired to the change event on the global search input so selecting a job
class from the datalist submits the form without a button click. The
Search button is removed; the Clear link remains.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@codecov
Copy link
Copy Markdown

codecov Bot commented May 19, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (83bbe2d) to head (227d3b0).

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #22   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           12        13    +1     
  Lines          193       206   +13     
=========================================
+ Hits           193       206   +13     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@eclectic-coding eclectic-coding merged commit 3f4f490 into main May 19, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant