# Mobile Internal Beta Checklist

Use this before opening TestFlight and Play internal testing.

## 1) Environment

* `npm run mobile:install`
* `npm run mobile:sync`
* `npm run mobile:check`

## 2) iOS Build Prep

* Confirm `GoogleService-Info.plist` is present in:
  * `apps/mobile/ios/App/App/GoogleService-Info.plist`
* Confirm App target capabilities:
  * Push Notifications
  * Background Modes -> Remote notifications
* Confirm APNs key is uploaded in Firebase Cloud Messaging.

## 3) Android Build Prep

* Confirm `google-services.json` is present in:
  * `apps/mobile/android/app/google-services.json`
* Confirm package id is `eu.xdbx.axon`.

## 4) Core Behavior Validation

* Launch app while signed out -> opens `/auth/sign-in`.
* Sign in -> redirects to `/app`.
* Push permission request appears once.
* Push registration stores token metadata in `fcmTokens`.
* Notification tap opens route from payload `data.url`.
* App locks on background and prompts biometric unlock on resume.
* Billing page is view-only; checkout actions are blocked.

## 5) Regression Smoke

* App home widgets load correctly for mobile channel.
* No web service worker push prompt is shown in native runtime.
* Logout clears biometric unlock state and push token on device when possible.

## 6) Rollback Triggers

* Push success drops below target for pilot users.
* Auth regressions on cold launch or resume.
* Deep-link navigation failures from notification tap.
* Billing write action exposed in native channel.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://xdbx.gitbook.io/axon/task-guides/mobile-internal-beta-checklist.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
