diff --git a/README.md b/README.md index 3723a45..9bb8f23 100644 --- a/README.md +++ b/README.md @@ -164,6 +164,8 @@ Adaptive Icon als Vektor (`res/drawable/ic_launcher_{background,foreground,monoc In der App unter Einstellungen Server-URL (`https://…`; im Debug-Build auch `http://10.0.2.2:8787` für den Emulator) und Token eintragen, „Verbindung testen", speichern. +Öffentlicher Server: Die App schlägt standardmäßig `https://byteclaw.jodabreit-ai.de` vor (Registrierung offen). Hinter einem Reverse-Proxy dessen IP/CIDR in `trusted_proxies` eintragen, damit das Login-Rate-Limit die echte Client-IP aus `X-Forwarded-For` nutzt. + ## Nächste Schritte - CI (GitHub Actions) für Go + Android diff --git a/android/app/src/main/java/dev/byteclaw/client/data/SettingsStore.kt b/android/app/src/main/java/dev/byteclaw/client/data/SettingsStore.kt index 8105c73..f48ff42 100644 --- a/android/app/src/main/java/dev/byteclaw/client/data/SettingsStore.kt +++ b/android/app/src/main/java/dev/byteclaw/client/data/SettingsStore.kt @@ -20,7 +20,7 @@ class SettingsStore(context: Context) { ) fun load() = ServerSettings( - serverUrl = prefs.getString(KEY_URL, "") ?: "", + serverUrl = prefs.getString(KEY_URL, null)?.takeIf { it.isNotBlank() } ?: DEFAULT_SERVER_URL, token = prefs.getString(KEY_TOKEN, "") ?: "", username = prefs.getString(KEY_USER, "") ?: "", ) @@ -30,9 +30,11 @@ class SettingsStore(context: Context) { .putString(KEY_USER, s.username.trim()).apply() } - private companion object { - const val KEY_URL = "server_url" - const val KEY_TOKEN = "token" - const val KEY_USER = "username" + companion object { + /** Public ByteClaw server, prefilled on the login screen (user can change it). */ + const val DEFAULT_SERVER_URL = "https://byteclaw.jodabreit-ai.de" + private const val KEY_URL = "server_url" + private const val KEY_TOKEN = "token" + private const val KEY_USER = "username" } }