Some checks failed
- **GlobalSecurityConfig:** Lockerung von `allowedOriginPatterns` auf `*`. - **MailServiceApplication:** Hinzufügen einer redundanten `WebMvcConfigurer` Bean für zusätzliches CORS-Mapping. - **UI:** Aktualisierung des Versionsmarkers auf `v2026-04-23.19 - NUCLEAR CORS FIX`.
5.0 KiB
5.0 KiB
Journal-Eintrag: Plan-B Online-Nenn-Formulare
Datum: 23. April 2026 Agenten: 🎨 [Frontend Expert], 🖌️ [UI/UX Designer], 👷 [Backend Developer], 🧹 [Curator]
🎯 Zielsetzung
Erstellung von zwei hoch-optimierten Web-Formularen für die Turniere in Neumarkt (25. & 26. April 2026) im Rahmen des "Plan-B" (Offline-Meldestelle mit E-Mail-Sync).
🛠️ Durchgeführte Änderungen
🎨 Frontend & UI/UX
OnlineNennungFormular.kt: Komplette Neugestaltung des Formulars.- Integration der spezifischen Bewerbe für CSN-C Neumarkt (25.04.) und CDN-C Neumarkt (26.04.).
- Implementierung der Validierungslogik für den "Jetzt nennen" Button (Bernstein-Orange).
- Hinzufügen von Feldern für Reiter-Name, Kontakt (E-Mail/Tel), Pferdename und Anmerkungen.
- Information Density: Alle Bewerbe direkt auswählbar.
- Mobile-First Optimierung: Responsives Layout mittels
BoxWithConstraints. Vertikaler Stack für Formularfelder auf Mobile, optimierte Paddings, Schriftgrößen und Touch-Targets.
WebMainScreen.kt: Aktualisierung der Landing-Page mit den realen Turnierdaten für Neumarkt.- Mobile-First Optimierung: Turnier-Karten passen sich an schmale Bildschirme an (Buttons nebeneinander, Icons für bessere UX).
👷 Backend & Integration
NennungRemoteRepository.kt: Verknüpfung des neuen Payloads mit demmail-service.MailController.kt: Validierung der API-Schnittstelle. Der Service ist so konfiguriert, dass er:- Die Nennung in der Datenbank persistiert.
- Eine Benachrichtigungs-Mail an die Meldestelle (
online-nennen@mo-code.at) sendet. - Eine automatische Bestätigung an den Reiter schickt.
🏁 Ergebnis
Die "Hallo Du!" Test-UI wurde durch produktive, fachlich korrekte Formulare ersetzt. Sobald ein Reiter auf "Jetzt nennen" klickt, wird der E-Mail-Workflow ausgelöst.
Status: Bereit für den Live-Einsatz am Wochenende. 🚀
2026-04-23 09:35 - Version 12: Hard-coded HTTPS & Injektions-Fix
- Problem: 'Mixed Content' Fehler blockierte API-Aufrufe, da die Wasm-App trotz HTTPS-Origin versuchte, 'http://10.0.0.50' (Lokale IP) via HTTP zu kontaktieren.
- Lösung:
PlatformConfig.wasmJs.kt: Implementierung eines sicheren HTTPS-Fallbacks aufhttps://api.mo-code.atim Code, falls die Docker-Injektion (z.B. durch Browser-Cache) fehlschlägt.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 HTTPSaktualisiert. - Fehlerbehandlung in
OnlineNennungFormular.ktzeigt 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 undwindow.location.originin derPlatformConfig.wasmJs.kt. - Lösung:
PlatformConfig.wasmJs.kt: Alle Logiken zur Erkennung von URLs wurden temporär deaktiviert. Die FunktionenresolveMailServiceUrl()undresolveApiBaseUrl()geben nun zwingendhttps://api.mo-code.atzurück.- Dies umgeht jegliches Caching von
index.htmloder fälschlich injizierte Umgebungsvariablen. - UI-Marker auf
v2026-04-23.13 - RADICAL HTTPS PRIORITIZATIONaktualisiert.
2026-04-23 10:45 - Version 14: CORS Reanimation
- Problem: Trotz HTTPS-Fix blockierte die CORS-Policy im Backend die Anfragen von
https://app.mo-code.at. - Lösung:
GlobalSecurityConfig.kt: CORS explizit wieder aktiviert (.cors { }), da Microservices im Plan-B direkt (ohne Gateway) angesprochen werden könnten.MailController.kt:@CrossOriginum explizite Header (allowedHeaders = ["*"]) und Methoden (methods = [...]) erweitert, um Preflight-Checks (OPTIONS) korrekt zu bedienen.- UI-Marker auf
v2026-04-23.14 - CORS REANIMATIONaktualisiert.
2026-04-23 11:45 - Version 17: Security Dependency Fix
- Problem: Trotz Version 16 und dem
scanBasePackagesFix immail-servicebestand der CORS-Fehler weiterhin. Ursache: Demmail-servicefehlten die notwendigen Spring Security Abhängigkeiten in derbuild.gradle.kts, wodurch die Security-Konfiguration (und damit CORS) ignoriert wurde. - Lösung:
build.gradle.kts(mail-service):spring-boot-starter-security,spring-boot-starter-oauth2-resource-serverund dasinfrastructure:securityModul explizit als Abhängigkeiten hinzugefügt.- UI-Marker auf
v2026-04-23.17 - SECURITY DEPENDENCY FIXaktualisiert.
v2026-04-23.19 - NUCLEAR CORS FIX
- Problem: Trotz Patterns in der Security-Konfiguration fehlte der
Access-Control-Allow-OriginHeader bei Preflight-Anfragen. - Lösung:
- Implementierung einer
WebMvcConfigurerBean direkt inMailServiceApplication.ktfür ein zweites, redundantes CORS-Mapping. - Lockerung der
allowedOriginPatternsinGlobalSecurityConfig.ktauf*.
- Implementierung einer
- Status: Versionsmarker auf v19 aktualisiert.