miroir/crates/miroir-proxy/static/search
jedarden 92a36612e0 feat(search-ui): add Idempotency-Key header for query coalescing (plan §13.10, §13.21)
- Add canonicalJson() helper to sort object keys recursively
- Add generateIdempotencyKey() to create per-query idempotency keys
  from index + canonicalized request body (hash-based)
- Send Idempotency-Key header on search requests for server-side coalescing
- Add unit test (test_idempotency_key.js) verifying:
  - Same parameters produce same key
  - Different parameters produce different keys
  - Key format is correct (search-{hex})
  - Canonical JSON ensures consistency across key orderings

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 11:51:21 -04:00
..
index.html feat(proxy): implement SPA with instant-search, facets, URL state, keyboard nav, i18n (P5.21.d, §13.21) 2026-05-24 05:31:06 -04:00
search.css feat(search-ui): add embeddable modes and custom templates (P5.21.e) 2026-05-24 14:37:00 -04:00
search.js feat(search-ui): add Idempotency-Key header for query coalescing (plan §13.10, §13.21) 2026-05-31 11:51:21 -04:00
test_idempotency_key.js feat(search-ui): add Idempotency-Key header for query coalescing (plan §13.10, §13.21) 2026-05-31 11:51:21 -04:00