Skip to content

feat: time-based period filter on jobs and failed jobs#21

Merged
eclectic-coding merged 3 commits into
mainfrom
feature/period-filter
May 19, 2026
Merged

feat: time-based period filter on jobs and failed jobs#21
eclectic-coding merged 3 commits into
mainfrom
feature/period-filter

Conversation

@eclectic-coding
Copy link
Copy Markdown
Owner

Summary

  • Adds a ?period= param (1h / 24h / 7d) to the jobs and failed jobs indexes, filtering results by the job's enqueued timestamp
  • Period pills render inline with the search bar, right-justified via margin-left: auto
  • Active period is preserved across status tab switches, class name search, queue filter links, Discard All / Retry All bulk actions, and single-row Discard redirects
  • Invalid period values are silently ignored
  • Accessible: role="group", aria-label="Time period" on the container; aria-current="true" on the active link; descriptive aria-label on each pill ("Last 1 hour", etc.)

Test plan

  • Open /jobs/list — period pills appear right-aligned in the search row; "All" is active by default
  • Click "1h" — only jobs enqueued in the last hour appear; pill highlights; status tab links preserve ?period=1h
  • Switch status tab while period is active — period is preserved in the URL
  • Search with an active period — both filters apply together
  • Click "Discard All" with a period active — only discards jobs in that period window; redirects back preserving period
  • Open /jobs/failed_jobs — same filter behavior for failed jobs, including Retry All / Discard All scoping

🤖 Generated with Claude Code

eclectic-coding and others added 3 commits May 19, 2026 12:40
Adds a ?period= param (1h / 24h / 7d) to the jobs and failed jobs indexes
that filters results by the job's enqueued timestamp. The active period is
preserved across status tab switches, class name search, queue filter links,
Discard All / Retry All bulk actions, and single-row Discard redirects.
Invalid period values are silently ignored.

A small pill-style period filter bar appears between the status tabs and
search form on both pages.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Uses margin-left: auto on .sqd-period-filter inside the flex search form
to push the period pills to the far right of the search row.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- role="group" + aria-label="Time period" on the container so screen readers
  announce the group purpose before reading the links
- aria-current="true" on the active period link so AT announces the current
  selection without relying on visual styling alone
- aria-label on each link with natural language descriptions ("Last 1 hour"
  etc.) so terse labels like "1h" are not read literally

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@eclectic-coding eclectic-coding merged commit d8339d8 into main May 19, 2026
5 checks passed
@eclectic-coding eclectic-coding deleted the feature/period-filter branch May 19, 2026 16:50
@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 (fef125c) to head (7f20e9a).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #21   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           12        12           
  Lines          185       193    +8     
=========================================
+ Hits           185       193    +8     

☔ 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.

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