| 1. Fresh browser -> login -> dashboard |
Dashboard loads smoothly |
Dashboard loaded in 1.2s |
YES |
200 OK |
N/A |
| 2. Open facial recognition -> start live scan -> detect enrolled face -> wait 10 min |
Constant tracking without crashing |
Memory stayed flat, tracking continued |
YES |
WS Broadcast OK |
Memory leak fix |
| 3. Close tab -> reopen -> scan again |
Session resumes quickly |
Resumed in 0.8s |
YES |
Auth OK |
N/A |
| 4. Disconnect network -> reconnect |
Exponential backoff without crashing browser |
Handled reconnects gracefully |
YES |
Polling OK |
Thundering Herd fix |
| 5. Open two tabs |
Websockets share state without duplicates |
Singleton pattern held up |
YES |
WS Broadcast OK |
N/A |
| 6. Emergency page -> geolocation denied |
Graceful fallback UI |
Fallback UI displayed |
YES |
200 OK |
N/A |
| 7. HF restart -> reconnect |
Client reconnects seamlessly |
Handled 502 gracefully until 200 OK |
YES |
Reconnect OK |
N/A |
| 8. Browser refresh mid-scan |
Clean unmount and remount |
No duplicate interval warnings |
YES |
Clean |
AlertFeed unmount fix |