diff --git a/config/docker/caddy/web-app/Caddyfile b/config/docker/caddy/web-app/Caddyfile index f8f93c07..609fa7aa 100644 --- a/config/docker/caddy/web-app/Caddyfile +++ b/config/docker/caddy/web-app/Caddyfile @@ -20,7 +20,6 @@ # Same-Origin Strategy: Alle /api/* Anfragen werden intern an den Mail-Service weitergeleitet # Dadurch sieht der Browser nur noch app.mo-code.at und CORS wird hinfällig. handle /api/* { - # Wir leiten direkt weiter, der mail-service erwartet /api/mail/... reverse_proxy mail-service:8085 { header_up Host {upstream_hostport} header_up X-Real-IP {remote_host} @@ -32,7 +31,7 @@ Access-Control-Allow-Origin "*" Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS" Access-Control-Allow-Headers "*" - X-Caddy-Strategy "same-origin-v31" + X-Caddy-Strategy "same-origin-v32" } } diff --git a/docs/03_Journal/2026-04-23_Plan-B-Formulare.md b/docs/03_Journal/2026-04-23_Plan-B-Formulare.md index d3259161..f66558c8 100644 --- a/docs/03_Journal/2026-04-23_Plan-B-Formulare.md +++ b/docs/03_Journal/2026-04-23_Plan-B-Formulare.md @@ -117,3 +117,8 @@ Die "Hallo Du!" Test-UI wurde durch produktive, fachlich korrekte Formulare erse - **Backend-Logging**: Detaillierte Log-Ausgaben im `MailController` hinzugefügt, um den SMTP-Versandprozess auf dem Host genau verfolgen zu können (Status: "Versuche zu senden..."). - **UI-Erfolgssteuerung**: Korrektur im Frontend-Flow. Der User wird nun explizit erst nach erfolgreicher API-Antwort zum Erfolgsscreen weitergeleitet. - **Fehler-Transparenz**: Bei Sende-Fehlern wird nun ein Hinweis auf die Browser-Konsole ausgegeben, um CORS- oder Netzwerk-Details besser greifen zu können. + +### v2026-04-23.32 - PROXY DEBUG +- Erweiterung des Loggings im `NennungRemoteRepository`, um API-Antworten (Status & Body) in der Konsole zu sehen. +- Erhöhung der Diagnose-Transparenz im Caddy-Proxy (v32). +- Ziel: Identifikation, warum Requests im Same-Origin Modus scheinbar still scheitern. diff --git a/frontend/features/nennung-feature/src/commonMain/kotlin/at/mocode/frontend/features/nennung/domain/NennungRemoteRepository.kt b/frontend/features/nennung-feature/src/commonMain/kotlin/at/mocode/frontend/features/nennung/domain/NennungRemoteRepository.kt index 794f7252..e8b422e0 100644 --- a/frontend/features/nennung-feature/src/commonMain/kotlin/at/mocode/frontend/features/nennung/domain/NennungRemoteRepository.kt +++ b/frontend/features/nennung-feature/src/commonMain/kotlin/at/mocode/frontend/features/nennung/domain/NennungRemoteRepository.kt @@ -100,14 +100,19 @@ class NennungRemoteRepository(private val client: HttpClient) { setBody(request) } + println("Antwort erhalten: ${response.status.value}") + val responseText = try { response.body() } catch (e: Exception) { "Kein Body" } + println("Antwort Body: $responseText") + if (response.status.isSuccess()) { Result.success(Unit) } else { - val errorText = "Server meldet Fehler: ${response.status.value} ${response.status.description}" + val errorText = "Server meldet Fehler: ${response.status.value} ${response.status.description} - $responseText" println(errorText) Result.failure(Exception(errorText)) } } catch (e: Exception) { + println("Ausnahme beim Senden: ${e.message}") Result.failure(e) } } diff --git a/frontend/shells/meldestelle-web/src/wasmJsMain/kotlin/at/mocode/frontend/shell/web/WebMainScreen.kt b/frontend/shells/meldestelle-web/src/wasmJsMain/kotlin/at/mocode/frontend/shell/web/WebMainScreen.kt index 3c6745f6..a5810027 100644 --- a/frontend/shells/meldestelle-web/src/wasmJsMain/kotlin/at/mocode/frontend/shell/web/WebMainScreen.kt +++ b/frontend/shells/meldestelle-web/src/wasmJsMain/kotlin/at/mocode/frontend/shell/web/WebMainScreen.kt @@ -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.31 - SAME-ORIGIN v3", + text = "v2026-04-23.32 - PROXY DEBUG", style = MaterialTheme.typography.labelSmall, color = Color.LightGray.copy(alpha = 0.5f) )