Device QA runbook (walkthrough 2026-06-09) β
Use this alongside DEVICE_QA_CHECKLIST.md. Check off items on a TestFlight / Play Internal build (1.0.0+10053 or newer).
Prerequisites β
- Staff account with WhatsApp + mailbox permissions
- Hostinger passwords for the four mailbox accounts (not stored in repo)
- Dedicated nonproduction Supabase project and environment-supplied test OTP in
env/mobile-e2e-staging.json(integration_test/README.md)
Patrol commands (local dev build) β
powershell
cd C:\Users\aalde\aldilaijankhobara-app
dart pub global activate patrol_cli
# Tier 1 β smoke (not skipped)
dart run patrol_cli test --target integration_test/journey_01_smoke_test.dart `
--release --device <device_id> `
--dart-define-from-file=env/mobile-e2e-staging.json
# Tier 2 β auth (protected staging OTP; Tier 2.1β2.2 enabled)
dart run patrol_cli test --target integration_test/journey_02_auth_test.dart `
--release --device <device_id> `
--dart-define-from-file=env/mobile-e2e-staging.json
# Tier 3 β CRM (Tier 3.1β3.2 enabled; write flows still manual)
dart run patrol_cli test --target integration_test/journey_03_crm_test.dart `
--release --device <device_id> `
--dart-define-from-file=env/mobile-e2e-staging.json
# Tier 4 β cold boot after deep-link matrix (unit tests cover URLs)
dart run patrol_cli test --target integration_test/journey_04_deep_link_test.dart `
--release --device <device_id> `
--dart-define-from-file=env/mobile-e2e-staging.jsonDeep-link spot checks (manual) β
After receiving a push or opening a notification, confirm navigation succeeds (no GoException):
- WhatsApp reliability:
/comms/whatsapp?tab=reliability&incident=β¦&entity=aldilaijan - WhatsApp thread:
/comms/whatsapp?conversation=<uuid> - Financial report alias:
/brokerage/reports/financialβ reports screen - Valuation detail:
/valuation/valuations/<uuid>
Automated coverage: test/core/navigation/notification_link_normalization_test.dart.
Record results β
Mark DEVICE_QA_CHECKLIST.md checkboxes or append defects to SHORTFALLS.md with repro steps.
