Highest-risk, highest-value, mostly there. Reconnect on drop, session resume, network handover, 5001 recovery.
Chat reconnect, character-switch history UX, send-button stall recovery.
In-scope per the Open Testing commitment. FCM plumbing β permission prompt β text/waitlist push β deep-link tap-through. universal links.
Confirmed launch requirement. In-app gate (GET /waitlist/status β app-or-waitlist-screen) + waitlist entry screen + Statsig waitlist_auto_approve for early-adopter admission + Google Play tracks (closed β open β production) so external testers can install. Reuses iOS waitlist infra end-to-end.
Framework, shell, carousel, Search card all done. Finish card content + post-call rendering.
Final polish: verify waitlist_joined / waitlist_approved events fire on Android, webβapp funnel from sesame.com/beta, Rudderstack + Bitdrift sinks. Mostly-built framework needs Android wiring + verification.
Plan items that don't reference a Linear ticket β confirm whether each needs to be tracked, is already covered by an existing issue, or can be dropped.
GET /waitlist/status handling + entry-screen UI need their own ticket(s).