Service Card Icons (Batch 0.6.1)
Cisco Partnership Signals (Batch 0.6.2)
Nav Active-State Styling (Batch 0.6.0)
P3: No input debouncing on Contact/Support forms
Closed in batch 0.6.1. Added useDebounce hook (300ms) — validation errors are debounced while user input remains immediate.
P3: No caching strategy for API GET requests
P3: No caching strategy for API GET requests
Closed in batch 0.6.1. Already resolved — @tanstack/react-query with staleTime: 5m provides cache-busting, stale-while-revalidate, and background refetching for all GET requests.
P2: CSP allows unsafe-inline for styles — weakens XSS protection
Closed in batch 0.6.1. Removed 'unsafe-inline' from CSP styleSrc — verified built SPA has no inline styles, all CSS is in extracted files.
P2: No retry logic for transient API failures in frontend
P2: No retry logic for transient API failures in frontend
Closed in batch 0.6.1. Added retryFetch utility with exponential backoff (1s, 2s, 4s) for 5xx and network failures. Respects Retry-After on 429.
P3: No input debouncing on Contact/Support forms
P2: CSP allows unsafe-inline for styles — weakens XSS protection
Service Card Icons (Batch 0.6.1)
Cisco Partnership Signals (Batch 0.6.2)
Nav Active-State Styling (Batch 0.6.0)
P2: RATE_LIMIT_PER_MINUTE env var NaN on invalid input — rate limiting silently disabled
P1: Frontend api.js does not handle CORS errors — generic error message shown