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 f2e54dc8..64126491 100644 --- a/docs/03_Journal/2026-04-23_Plan-B-Formulare.md +++ b/docs/03_Journal/2026-04-23_Plan-B-Formulare.md @@ -37,3 +37,10 @@ Die "Hallo Du!" Test-UI wurde durch produktive, fachlich korrekte Formulare erse - `dc-planb.yaml`: Statische Konfiguration der HTTPS-URLs ohne Umgebungsvariablen-Platzhalter, um Fehlkonfigurationen am Host auszuschließen. - UI-Marker auf `v2026-04-23.12 - HARD-CODED HTTPS` aktualisiert. - Fehlerbehandlung in `OnlineNennungFormular.kt` zeigt nun explizit Netzwerkfehler an, falls diese auftreten. + +### 2026-04-23 10:15 - Version 13: Radikale HTTPS-Priorisierung +- **Problem**: Trotz harten Fallbacks im Code versuchte der Browser weiterhin `http://10.0.0.50` (Mixed Content) aufzurufen. Ursache war die Priorisierung von dynamischen Variablen und `window.location.origin` in der `PlatformConfig.wasmJs.kt`. +- **Lösung**: + - `PlatformConfig.wasmJs.kt`: Alle Logiken zur Erkennung von URLs wurden temporär deaktiviert. Die Funktionen `resolveMailServiceUrl()` und `resolveApiBaseUrl()` geben nun **zwingend** `https://api.mo-code.at` zurück. + - Dies umgeht jegliches Caching von `index.html` oder fälschlich injizierte Umgebungsvariablen. + - UI-Marker auf `v2026-04-23.13 - RADICAL HTTPS PRIORITIZATION` aktualisiert. diff --git a/frontend/core/network/src/wasmJsMain/kotlin/at/mocode/frontend/core/network/PlatformConfig.wasmJs.kt b/frontend/core/network/src/wasmJsMain/kotlin/at/mocode/frontend/core/network/PlatformConfig.wasmJs.kt index f4263794..3268205a 100644 --- a/frontend/core/network/src/wasmJsMain/kotlin/at/mocode/frontend/core/network/PlatformConfig.wasmJs.kt +++ b/frontend/core/network/src/wasmJsMain/kotlin/at/mocode/frontend/core/network/PlatformConfig.wasmJs.kt @@ -7,8 +7,7 @@ package at.mocode.frontend.core.network @Suppress("EXPECT_ACTUAL_CLASSIFIERS_ARE_IN_BETA_WARNING") actual object PlatformConfig { actual fun resolveMailServiceUrl(): String { - val fromGlobal = getGlobalMailServiceUrl() - if (fromGlobal.isNotEmpty() && !fromGlobal.contains('$')) return fromGlobal.removeSuffix("/") + // FORCE HTTPS for Plan-B Weekend return "https://api.mo-code.at" } @@ -21,20 +20,7 @@ actual object PlatformConfig { } actual fun resolveApiBaseUrl(): String { - // 1) Prefer a global JS variable (can be injected by index.html or nginx) - val fromGlobal = getGlobalApiBaseUrl() - if (fromGlobal.isNotEmpty() && !fromGlobal.contains('$')) return fromGlobal.removeSuffix("/") - - // 2) Try window location origin (same origin gateway/proxy setup) - val origin = try { - getOrigin() - } catch (_: Throwable) { - null - } - - if (!origin.isNullOrBlank()) return origin.removeSuffix("/") - - // 3) Fallback to the local gateway + // FORCE HTTPS for Plan-B Weekend return "https://api.mo-code.at" } } 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 6d1832b4..8f12e4dd 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 @@ -124,7 +124,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.12 - HARD-CODED HTTPS", + text = "v2026-04-23.13 - RADICAL HTTPS PRIORITIZATION", style = MaterialTheme.typography.labelSmall, color = Color.LightGray.copy(alpha = 0.5f) )