tia/src
Mannu a3a0ddf3c9 Proxy R2 images through /api/img to fix 503 from Cloudflare Bot Management
pub-xxx.r2.dev returns 503 for cross-origin sub-resource requests (img tags,
fetch) due to Cloudflare Bot Management on the r2.dev dev domain. Direct
browser navigation works but programmatic loading fails, so all uploaded
images appeared as placeholders after upload.

Fix: route all image display through a same-origin /api/img?key=... proxy that
fetches from R2 via the S3 API server-side. API responses (profile, children,
memories) now return proxy URLs. After upload, UI state is updated with proxy
URLs directly rather than raw R2 URLs.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 21:35:25 +05:30
..
__tests__ feat(quota): storage quota + family-member limits for free tier 2026-05-27 23:21:11 +05:30
app Proxy R2 images through /api/img to fix 503 from Cloudflare Bot Management 2026-05-28 21:35:25 +05:30
components Add step-by-step upload progress UI across all three upload points 2026-05-28 11:17:01 +05:30
db feat(settings): add Pediatrician Name field alongside phone 2026-05-28 00:49:05 +05:30
hooks feat(g5-g6): age-aware UX + mama affiliate page 2026-05-18 00:59:17 +05:30
lib Proxy R2 images through /api/img to fix 503 from Cloudflare Bot Management 2026-05-28 21:35:25 +05:30
scripts Security hardening: auth, bcrypt, rate-limiting, RLS, audit 2026-05-16 23:11:01 +05:30
types Circle feature: C0–C9 multi-tenant social groups (Sprint 9 + 10) 2026-05-24 01:04:50 +05:30
auth.ts Fix db imports: use dbUnscoped 2026-05-16 23:12:33 +05:30
middleware.ts Fix PWA always opening marketing page instead of app home 2026-05-28 10:28:31 +05:30