> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# Troubleshooting the mobile app

Fix the common preview, configuration, and native-build failures before they reach a tester.

## Setup and configuration

If the app cannot reach the backend, remember that `localhost` on a phone means the phone. Use the computer's LAN address, `10.0.2.2` for the Android emulator, or an HTTPS staging URL. Open that address in the phone browser first; check Wi-Fi, firewall, and VPN before changing code. An Expo tunnel carries the screen bundle, not your API.

A missing or wrong `EXPO_PUBLIC_API_URL` surfaces as a configuration error before sign-in. A rejected callback usually means the scheme in the build and the server's `MOBILE_ALLOWED_ORIGINS` disagree, or the callback ran in Expo Go instead of the native build.


## Implementation workflow

After a native dependency or scheme change, stop Metro, clear its cache, rebuild the development client, and reinstall the app. If only the JavaScript changed, reloading the preview is enough. Keep the Expo SDK version in the app aligned with the Expo Go or development build installed on the device.


## Verification and troubleshooting

The preview, sign-in, and deep link work on the target device.


## Next

[Desktop overview](https://supastack.dev/docs/desktop.md)
