Skip to content

feat: add global search functionality#23

Merged
vishaltps merged 4 commits intomainfrom
feature/search
Feb 6, 2026
Merged

feat: add global search functionality#23
vishaltps merged 4 commits intomainfrom
feature/search

Conversation

@vishaltps
Copy link
Owner

Summary

  • Add unified search feature that allows users to search across all job types from a single search box in the header
  • Search is accessible from any page via the header search box
  • Results are grouped by category (Ready, Scheduled, Failed, In Progress, Completed, Recurring Tasks)

Features

  • Global search box in header - accessible from any page
  • Searches across all job types: Ready, Scheduled, Failed, In Progress, Completed jobs, and Recurring Tasks
  • Searchable fields: class name, queue name, arguments, job ID, error messages, recurring task keys
  • Case-insensitive search with SQL injection protection
  • Results grouped by category with counts
  • Clickable header title links to overview page
  • Search query persists in header search box

New Files

File Purpose
app/services/solid_queue_monitor/search_service.rb Core search logic
app/controllers/solid_queue_monitor/search_controller.rb Handles /search route
app/presenters/solid_queue_monitor/search_results_presenter.rb Renders grouped results

Test Plan

  • All 207 tests pass (53 new tests for search functionality)
  • Manual testing completed - search works for all job types
  • Completed jobs are searchable by job ID and arguments
  • Header search box shows current query on search results page

Add unified search feature that allows users to search across all job
types from a single search box in the header.

Features:
- Search box in header (accessible from any page)
- Searches across Ready, Scheduled, Failed, In Progress, Completed jobs
- Also searches Recurring Tasks
- Searchable fields: class name, queue name, arguments, job ID, error messages
- Case-insensitive search with SQL injection protection
- Results grouped by category with counts
- Clickable header title links to overview page

New files:
- SearchService: Core search logic
- SearchController: Handles /search route
- SearchResultsPresenter: Renders grouped results
- Comprehensive test coverage (53 new tests)
Update context descriptions in spec files to start with
'when', 'with', or 'without' as required by RuboCop RSpec.
@vishaltps vishaltps merged commit 01e20be into main Feb 6, 2026
3 checks passed
@vishaltps vishaltps deleted the feature/search branch February 6, 2026 05:50
@vishaltps vishaltps mentioned this pull request Feb 7, 2026
3 tasks
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