### fix: v28 verbessere Same-Origin-Strategie und Fehlerbehandlung
- **PlatformConfig.wasmJs.kt:** API-URLs auf leere Strings geändert (Root-Proxy). - **OnlineNennungFormular:** Fehlermeldungen bei Versandfehlern präzisiert. - **NennungRemoteRepository:** Detaillierte Fehlerrückmeldungen hinzugefügt. - **Caddyfile:** Reverse Proxy angepasst, Header und Strategie-Version aktualisiert. - **WebMainScreen:** Versionsmarker auf `v2026-04-23.28 - SAME-ORIGIN v2` aktualisiert.
This commit is contained in:
+4
-4
@@ -7,8 +7,8 @@ package at.mocode.frontend.core.network
|
||||
@Suppress("EXPECT_ACTUAL_CLASSIFIERS_ARE_IN_BETA_WARNING")
|
||||
actual object PlatformConfig {
|
||||
actual fun resolveMailServiceUrl(): String {
|
||||
// SAME-ORIGIN Strategy: Use relative path to bypass CORS
|
||||
return "/api"
|
||||
// SAME-ORIGIN Strategy: Use root for proxying
|
||||
return ""
|
||||
}
|
||||
|
||||
actual fun resolveKeycloakUrl(): String {
|
||||
@@ -20,8 +20,8 @@ actual object PlatformConfig {
|
||||
}
|
||||
|
||||
actual fun resolveApiBaseUrl(): String {
|
||||
// SAME-ORIGIN Strategy: Use relative path to bypass CORS
|
||||
return "/api"
|
||||
// SAME-ORIGIN Strategy: Use root for proxying
|
||||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+12
-2
@@ -92,11 +92,21 @@ class NennungRemoteRepository(private val client: HttpClient) {
|
||||
)
|
||||
|
||||
// Wir senden an den mail-service (URL dynamisch aufgelöst)
|
||||
client.post("$mailServiceUrl/api/mail/nennung") {
|
||||
val fullUrl = "$mailServiceUrl/api/mail/nennung"
|
||||
println("Sende Nennung an URL: $fullUrl")
|
||||
|
||||
val response = client.post(fullUrl) {
|
||||
contentType(ContentType.Application.Json)
|
||||
setBody(request)
|
||||
}
|
||||
Result.success(Unit)
|
||||
|
||||
if (response.status.isSuccess()) {
|
||||
Result.success(Unit)
|
||||
} else {
|
||||
val errorText = "Server meldet Fehler: ${response.status.value} ${response.status.description}"
|
||||
println(errorText)
|
||||
Result.failure(Exception(errorText))
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
Result.failure(e)
|
||||
}
|
||||
|
||||
+2
-2
@@ -401,7 +401,7 @@ fun OnlineNennungFormular(
|
||||
onNennenAbgeschickt(payload) { success, error ->
|
||||
isLoading = false
|
||||
if (!success) {
|
||||
errorMessage = error ?: "Ein unbekannter Fehler ist aufgetreten."
|
||||
errorMessage = "Senden fehlgeschlagen: " + (error ?: "Netzwerkfehler oder Server nicht erreichbar.")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -443,7 +443,7 @@ fun OnlineNennungFormular(
|
||||
onNennenAbgeschickt(payload) { success, error ->
|
||||
isLoading = false
|
||||
if (!success) {
|
||||
errorMessage = error ?: "Ein unbekannter Fehler ist aufgetreten."
|
||||
errorMessage = "Senden fehlgeschlagen: " + (error ?: "Netzwerkfehler oder Server nicht erreichbar.")
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
+1
-1
@@ -126,7 +126,7 @@ fun MainAppContent() {
|
||||
// Dezentraler Versions-Marker in der unteren rechten Ecke
|
||||
Box(modifier = Modifier.fillMaxSize().padding(8.dp), contentAlignment = Alignment.BottomEnd) {
|
||||
Text(
|
||||
text = "v2026-04-23.27 - SAME-ORIGIN PROXY",
|
||||
text = "v2026-04-23.28 - SAME-ORIGIN v2",
|
||||
style = MaterialTheme.typography.labelSmall,
|
||||
color = Color.LightGray.copy(alpha = 0.5f)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user