Skip to content

Apply event_name and date-range filters on the deliveries dashboard page - #217

Merged
morcen merged 1 commit into
mainfrom
fix/issue-81-dashboard-delivery-filters
Sep 7, 2026
Merged

Apply event_name and date-range filters on the deliveries dashboard page#217
morcen merged 1 commit into
mainfrom
fix/issue-81-dashboard-delivery-filters

Conversation

@morcen

@morcen morcen commented Sep 6, 2026

Copy link
Copy Markdown
Owner

What was broken

The Deliveries dashboard page (resources/js/Pages/Deliveries/Index.vue) collects five filters from the user: status, endpoint_id, event_name, from_date, and to_date. DashboardController::deliveries() only ever applied status and endpoint_id (and event_id, used only by the "view this event's deliveries" link) — event_name, from_date, and to_date were silently ignored server-side.

A user typing an event name or picking a date range in the UI got back the full, unfiltered result set with no indication the filter had no effect, even though the empty-state copy suggests "Try adjusting your filters." This is especially misleading for a webhook platform, where filtering deliveries by event/date range is a normal part of investigating a delivery issue.

What changed

  • app/Http/Controllers/DashboardController.php: apply event_name (partial match against the related event's name) and from_date/to_date (inclusive range against created_at) filters, following the same pattern already used by the API's DeliveryController::index().
  • Include event_name, from_date, and to_date in the filters prop returned to the page, so the UI reflects what's actually active.
  • Added tests/Feature/DashboardDeliveriesFilterTest.php covering:
    • event_name narrows results to matching events.
    • from_date/to_date narrows results to the date range.
    • event_name cannot be used to see another user's deliveries.

Testing

  • vendor/bin/pint --dirty — clean
  • composer test — full suite passes (219 passed, 7 pre-existing skips)

Fixes #81

…ard page

The Deliveries index page collects event_name, from_date, and to_date
filters in the UI, but DashboardController::deliveries() never read
them, so results silently ignored those filters while still showing
the empty-state copy suggesting the user adjust their filters.

Apply the missing filters server-side (matching the convention
already used by the API's DeliveryController::index()) and include
them in the filters prop returned to the page so the UI reflects
what's actually active.

Fixes #81
@morcen
morcen merged commit e05b362 into main Sep 7, 2026
2 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.

Delivery filters for event name and date range are collected by the frontend but silently ignored server-side

1 participant