diff --git a/.planning/phases/06-ux-polish/06-UAT.md b/.planning/phases/06-ux-polish/06-UAT.md new file mode 100644 index 0000000..f95a360 --- /dev/null +++ b/.planning/phases/06-ux-polish/06-UAT.md @@ -0,0 +1,40 @@ +--- +status: testing +phase: 06-ux-polish +source: [06-VERIFICATION.md, 06-VALIDATION.md] +started: 2026-06-10 +updated: 2026-06-10 +--- + +## Current Test + +number: 1 +name: PushPermissionPrompt spinner animates in an installed iOS/standalone PWA +expected: | + After the redundant local `@keyframes spin` block was removed from + PushPermissionPrompt.tsx (06-04), the Loader2 "enabling" spinner must still + rotate — resolving the global `@keyframes spin` in tokens.css. The push + permission prompt only mounts in a Home-Screen-installed (standalone) PWA, so + this cannot be driven by desktop playwright-cli. +awaiting: user response + +## Tests + +### 1. PushPermissionPrompt spinner animates (installed iOS PWA) — CP-04.3 +expected: Add the PWA to the iOS Home Screen, open it standalone, reach the push-permission prompt, tap to enable, and confirm the spinner visibly rotates (no static icon). Equivalent desktop spinners (SyncStateToast, EventForm) were confirmed `animationName === 'spin'` via playwright-cli; this verifies the same global keyframe in the standalone-only component. +result: [pending] + +### 2. Authelia iOS-Safari standalone cold-load + redirect (D-10/D-11) +expected: On a real iOS device, Add to Home Screen and cold-load with no session. Confirm the FIRST painted frame is the neutral "Signing you in" splash (not the calendar/skeleton/alert), then it redirects to Authelia cleanly in standalone mode (no drop to a Safari browser tab). Trigger a session expiry and confirm the "Session expired / Signing you back in…" interstitial redirects without hanging. Desktop-Chromium equivalents passed via playwright-cli; standalone redirect behavior is the documented manual-only exception (06-VALIDATION.md). +result: [pending] + +## Summary + +total: 2 +passed: 0 +issues: 0 +pending: 2 +skipped: 0 +blocked: 0 + +## Gaps