# Copy to .env and fill in. Expo inlines EXPO_PUBLIC_* at build time — never # put a secret behind this prefix, it ends up in the compiled app bundle. # Same Clerk instance as the web app — copy the value of # NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY from the repo root's .env.local. EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY="pk_test_xxxxxxxxxxxxxxxxxxxx" # The Next.js backend's public origin (same Docker deployment the web app # uses — see docker/SCALING-ROADMAP.md). No CORS/proxy changes are needed: # CORS is a browser-only mechanism and doesn't apply to a native app's fetch # calls; the existing /api/trpc route and Clerk bearer-token auth already # work from a native client. # # - Physical Android device on the same LAN as the dev machine, hitting the # `npm run dev` server directly: use the machine's LAN IP, e.g. # http://192.168.1.50:3000 # - Android emulator talking to a dev server on the host machine: use # http://10.0.2.2:3000 (the emulator's alias for the host's localhost) # - Pointing at the real deployment: https://pawfeed.org EXPO_PUBLIC_API_URL="https://pawfeed.org" # Same Supabase project the web app uses for public media URLs — copy the # value of NEXT_PUBLIC_SUPABASE_URL from the repo root's .env.local. Safe to # embed client-side (it's the public storage origin, not a service key). EXPO_PUBLIC_SUPABASE_URL="https://xxxxxxxxxxxx.supabase.co" # Self-hosted GlitchTip (Sentry-protocol-compatible) DSN — use a separate # GlitchTip project from the web app's so mobile crashes/breadcrumbs don't # mix into the same event stream. A DSN is safe to ship client-side (it only # lets a client send events, not read them). Optional: error reporting is a # no-op if unset, it doesn't block the app from running. EXPO_PUBLIC_SENTRY_DSN=""