Problem
The events page at events.tsx:146-197 has status and repo filters, but no time range selector. The dashboard shows a "last 24h" stat, but there is no way to actually filter the events list by time period.
Operators investigating an incident need to quickly narrow down events to a specific time window (e.g., "last hour", "last 6 hours", "today", or a custom date range).
Affected File
apps/server/src/client/pages/events.tsx:146-197 — filter bar area
Expected Fix
- Add a time range filter alongside the existing status and repo filters
- Preset options: Last hour, Last 6 hours, Last 24 hours, Last 7 days, All time
- Optionally add a custom date range picker for precise windows
- Sync the selected time range to URL search params (e.g.,
?timeRange=24h or ?from=...&to=...)
- The API may need to accept
from/to query parameters — check if the backend already supports this, or add the filtering server-side
Design Guidance
- Use a
<Select> dropdown with preset options (consistent with the page-size selector pattern)
- Place it in the filter bar after the repo search
- The custom date range (if implemented) could use a popover with two date inputs
- Keep the
text-xs sizing consistent with other filter controls
Impact
Low — The current all-time flat list works for small event volumes, but becomes unwieldy as events accumulate. Time filtering is a standard expectation for any event/log viewer.
Problem
The events page at
events.tsx:146-197has status and repo filters, but no time range selector. The dashboard shows a "last 24h" stat, but there is no way to actually filter the events list by time period.Operators investigating an incident need to quickly narrow down events to a specific time window (e.g., "last hour", "last 6 hours", "today", or a custom date range).
Affected File
apps/server/src/client/pages/events.tsx:146-197— filter bar areaExpected Fix
?timeRange=24hor?from=...&to=...)from/toquery parameters — check if the backend already supports this, or add the filtering server-sideDesign Guidance
<Select>dropdown with preset options (consistent with the page-size selector pattern)text-xssizing consistent with other filter controlsImpact
Low — The current all-time flat list works for small event volumes, but becomes unwieldy as events accumulate. Time filtering is a standard expectation for any event/log viewer.