> For the complete documentation index, see [llms.txt](https://docs.roomiekit.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roomiekit.io/open-source-starter/mobile-smoke.md).

# Mobile smoke checks

Run a native smoke test before publishing a release or shipping a customer app with mobile support.

## iOS

```bash
npm --prefix web run build
npm --prefix web run cap:copy
cd web
npx cap open ios
```

In Xcode, run `App` on a real iPhone if possible. Simulator can validate routing and layout, but camera/mic behavior is more trustworthy on device.

Check:

* Camera and microphone permission prompts appear with the Roomie usage strings.
* Login/auth callback returns to the app.
* Room voice joins and mic mute/unmute changes remote audio.
* TV-head video publishes, camera off/on updates the remote avatar, and remote video cleans up when leaving.
* Theater go-live/watch works.
* Personal-room group video works.
* Direct 1:1 call request, accept, mute/camera toggle, and end work.
* Background then foreground the app during a room session; audio/video either recover or fail visibly without trapping the user.

## Android

```bash
npm --prefix web run build
npm --prefix web run cap:copy
cd web
npx cap open android
```

In Android Studio, run on a physical Android device if possible.

Check:

* Android prompts for microphone and camera permission.
* Login/auth callback returns to the app.
* Room voice, TV-head video, theater stream, personal-room group video, and direct calls behave like web.
* App background/foreground recovery does not leave stale audio/video tracks.
* Orientation and safe-area behavior are acceptable in the main room and call overlays.

## Cleanup After Native Copy

`cap:copy` creates generated web assets inside native projects. Before committing, remove:

```bash
rm -rf web/dist web/ios/App/App/public web/android/app/src/main/assets/public
rm -f web/ios/App/App/capacitor.config.json web/android/app/src/main/assets/capacitor.config.json
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.roomiekit.io/open-source-starter/mobile-smoke.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
