Fix Android emulator dev server: use 10.0.2.2 instead of localhost

Android emulator has its own network stack — localhost refers to the
emulator, not the host. Use 10.0.2.2 (host loopback alias) on Android.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ullrich Schäfer 2026-04-15 01:22:50 +02:00
parent b2514f48be
commit 6c55de9d65
No known key found for this signature in database
GPG key ID: A32FF691A0F752D9
2 changed files with 7 additions and 3 deletions

View file

@ -1,5 +1,5 @@
import { useState } from "react";
import { View, Text, TextInput, TouchableOpacity, StyleSheet, ActivityIndicator } from "react-native";
import { View, Text, TextInput, TouchableOpacity, StyleSheet, ActivityIndicator, Platform } from "react-native";
import { router } from "expo-router";
import {
setServerUrl,
@ -9,9 +9,11 @@ import {
} from "../lib/server-config";
import { login } from "../lib/auth";
const DEV_HOST = Platform.OS === "android" ? "10.0.2.2" : "localhost";
export default function LoginScreen() {
const [serverUrl, setServerUrlState] = useState(
__DEV__ ? "http://localhost:3000" : "https://trails.cool",
__DEV__ ? `http://${DEV_HOST}:3000` : "https://trails.cool",
);
const [showCustomServer, setShowCustomServer] = useState(false);
const [loading, setLoading] = useState(false);

View file

@ -1,8 +1,10 @@
import { Platform } from "react-native";
import * as SecureStore from "expo-secure-store";
import { API_VERSION } from "@trails-cool/api";
const STORE_KEY_SERVER_URL = "server_url";
const DEFAULT_SERVER_URL = __DEV__ ? "http://localhost:3000" : "https://trails.cool";
const DEV_HOST = Platform.OS === "android" ? "10.0.2.2" : "localhost";
const DEFAULT_SERVER_URL = __DEV__ ? `http://${DEV_HOST}:3000` : "https://trails.cool";
export interface DiscoveryResponse {
apiVersion: string;