Q2 2026 Roadmap: QR Login & Multi-Profile
main (commits pending screens)
Sign in with your phone — no typing on the remote. 10 acceptance criteria, 7 phases, 7 new files + 2 modified.
Family profile selection, creation, editing, content filtering per profile. 11 AC, 11 phases, 26 new files + 8 modified.
code-device-id:{device_id} maps device → code payload, TTL 5 mincode:{code} maps code → device payload, TTL 5 minverifyCode(), backend emits via Socket.io and deletes both keyscode-result:{device_id} with short TTL after phone verificationPOST /auth/check-code-status returns pending, expired, or login payloadActions.Login() success pathPOST /auth/check-code-status — accepts { device_id }, returns { status: "pending" }, { user, token }, or { expired: true }
| Concern | Other platforms | Roku |
|---|---|---|
| Profile Grid | Flexbox / native grid | MarkupGrid + ProfileCard |
| State | Redux Persist / local storage | RegistryUtils (registryWriteJson) |
| Header | HTTP interceptor | RequestUtils.addGlobalHeaders() |
| Form Input | Native inputs | roKeyboardScreen dialog |
| Avatar loading | Native image cache | Poster node + fallback placeholder |
m.global.multiProfileEnabled (boolean, toggled via registry/env mode) — guests skip profile selection entirely
All phases pending — state, headers, API tasks, screens, navigation, testing
POST /auth/check-code-status endpointPOST /auth/check-code-status endpoint
/auth/check-code-status be available for QR login?