Date range picker on Incidents and Archive; fix Archive Load more #165

Merged
logan merged 1 commits from feat/date-range into main 2026-09-24 01:04:06 -04:00
Owner
  • From/to date inputs on Incidents (Firestore range query) and Archive (date_from/date_to on /calls/search). Same org_id/started_at index.
  • Fix: /calls/search + /calls/eval-queue cursor was a raw string against a timestamp field, so Load more re-read page 1. Now parsed to datetime.

c2-core pytest: 443 pass (5 new). Frontend not typechecked locally (no Node) — main's Next build is the check.

🤖 Generated with Claude Code

- From/to date inputs on Incidents (Firestore range query) and Archive (`date_from`/`date_to` on `/calls/search`). Same org_id/started_at index. - Fix: `/calls/search` + `/calls/eval-queue` cursor was a raw string against a timestamp field, so Load more re-read page 1. Now parsed to datetime. c2-core pytest: 443 pass (5 new). Frontend not typechecked locally (no Node) — main's Next build is the check. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
logan added 1 commit 2026-09-24 01:03:43 -04:00
Incidents and Archive get a from/to date range (native date inputs,
local-day bounds). Incidents filters in the Firestore query; Archive
passes date_from/date_to to GET /calls/search, which applies them as a
started_at range — both ride the existing org_id/started_at index.

Also fixes /calls/search and /calls/eval-queue paging: the cursor went to
Firestore as a raw ISO string against a timestamp field, which compares
by type rather than time, so "Load more" re-read the first page. Cursor
and range bounds are now parsed to datetimes (400 on garbage).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
logan merged commit 6c0e7a4f8e into main 2026-09-24 01:04:06 -04:00
logan deleted branch feat/date-range 2026-09-24 01:04:06 -04:00
Sign in to join this conversation.