Skip to content

Zero Expo Parity Checklist

This checklist freezes feature behavior before and during the migration from Expo to React Native CLI.

Auth and Session

  • [ ] Welcome screen renders and routes to Register/Login.
  • [ ] Email/password register flow creates Last1 auth user and RadioCheck profile.
  • [ ] Email/password login works and hydrates session/user store.
  • [ ] Forgot/reset password flow works from app deep link.
  • [ ] Google OAuth sign-in works end-to-end.
  • [ ] Apple Sign-In works on iOS.
  • [ ] Sign out clears session and returns to auth flow.

Onboarding

  • [ ] Setup callsign flow completes and persists user profile fields.
  • [ ] Phone capture and invite/linking behavior works.
  • [ ] Post-onboarding redirect enters HQ tab.

HQ and Check-ins

  • [ ] HQ toggles correctly between pending check-in and squad board states.
  • [ ] All four check-in actions function (all_good, need_help, going_dark, custom message).
  • [ ] Check-in detail screen opens and submit path works.
  • [ ] Streak/rank values render correctly.

Squad and Unit

  • [ ] Unit screen shows twilio number/invite code and share actions.
  • [ ] Squad roster status rows render and update.
  • [ ] Nudge/reach-out triggers push/send function call.
  • [ ] Unit create/join flows still work.

Profile and Settings

  • [ ] Profile renders call sign/rank/streak and 30-day calendar data.
  • [ ] Frequency settings save correctly.
  • [ ] Last1 ID connect/disconnect behavior unchanged.

Admin and Hidden Routes

  • [ ] Admin screens remain permission gated.
  • [ ] Organizations/opportunities/challenges/achievements/dog redirects preserve existing behavior.

Notifications and Background

  • [ ] Push token registration and persistence works.
  • [ ] Foreground and tapped notification handling routes correctly.
  • [ ] Daily summary scheduling behavior preserved.

Platform and Build

  • [ ] iOS Debug builds and runs from Xcode with no Expo CLI runtime requirement.
  • [ ] Android Debug builds and runs from Android Studio/Gradle (npm run android).
  • [ ] Android FCM token registers and persists as fcm:<token>.
  • [ ] Android notification action buttons and widget one-tap check-in work.
  • [ ] Release builds succeed for both platforms.