Troubleshooting
| Symptom | Likely cause |
|---|---|
| Upload button stays disabled | Missing date recorded, or /api/upload/context missing name/EDC (open via portal link) |
| Works in desktop DevTools, fails on iPhone | Use real device testing; ensure mobile file input path; empty MIME handling |
| Graph / SPO license errors | Receiving account lacks OneDrive/SharePoint capability |
DomainNotLinked email error | Sender domain not connected to the ACS resource used by the connection string |
| OneDrive reconnect keeps old account | Clear token cache path / Blob; use Change receiving OneDrive flow |
| HMR blocked from phone IP | Add host to allowedDevOrigins in next.config.ts |
Smoke-test checklist (production)
- Admin can sign in at
/setup - Receiving OneDrive shows connected
- Child names load from Excel
- Generate link → open on phone Safari → upload small video
- File appears in OneDrive with expected name
- Notification email arrives with working link
- Same link cannot upload again
Known hardening notes
GET/DELETE /api/links— consider requiring admin auth before wide public deployment.GET /api/config— public; exposes limits and allowlisted admin emails.lib/server.tssize — split Graph, Redis links, and OAuth when making large changes.- Default admin email in code defaults — prefer env/Settings as source of truth.
- Portal required for naming — uploads without a portal link token cannot resolve the GMA filename.
- Email is best-effort — monitor server logs for ACS errors.
- Secrets — never commit
.env.local; rotate ACS keys and Azure client secrets if exposed.
Last updated on