Some checks failed
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Has been cancelled
- **SQLDelight:** Füge neue Queries (`countVereine`, `maxUpdated...`) zur SQLite-Datenbank hinzu und aktualisiere `DesktopMasterdataRepository`. - **ZNS-Sync:** Passe `ZnsImportState` an, um Pferde- und Funktionärsdaten zu unterstützen. - **Cloud-Sync:** Entferne redundante Auth-Header und setze Limits für Massensynchronisation auf 50.000 Datensätze. - **Masterdata-Service:** Stabilisiere Consul Health-Checks und implementiere Limit-Beschränkungen auf Controller-Ebene.
2.6 KiB
2.6 KiB
Session-Journal: 22. April 2026 - Finale ZNS-Sync & Auth Resolution
🎯 Status & Highlights
- Auth-Fix (Cloud-Sync): Vollständige Behebung des
401 Unauthorizedbeim Cloud-Sync. Redundante Header-Setzungen imZnsImportViewModelwurden entfernt, da der zentraleapiClientInterceptor die Token-Injektion zuverlässig übernimmt. - Route-Standardisierung: Alle Masterdata-API-Routen wurden auf die singularisierten Pfade (
/horse,/funktionaer,/verein,/reiter) umgestellt, um 1:1 mit den Backend-Controllern zu korrespondieren. - Infrastruktur-Resilience: Consul Health-Checks für den
masterdata-servicefinal stabilisiert (Nutzung von Port 8086 für Spring Actuator und Port 8091 für die Ktor-API). Intervalle und Timeouts wurden für Massenoperationen optimiert. - SQLite-Bereitschaft: Die lokale Datenbank ist nach einem Reset bereit für den initialen Massen-Sync von über 70.000 Datensätzen.
🛠️ Durchgeführte Änderungen
Frontend (Common/Desktop)
- ZnsImportViewModel.kt:
- Manuelle Token-Header und hartcodierte Basis-URLs entfernt.
- Vollständige Umstellung auf
ApiRoutesKonstanten. - Fehlerbehandlung bei API-Aufrufen (Pferde, Funktionäre) konsolidiert.
- Netzwerk-Abstraktion:
- Verifizierung, dass der
apiClientin allen Repositories (KtorVereinRepository,KtorReiterRepositoryetc.) genutzt wird.
- Verifizierung, dass der
- UI-Stabilität:
- Behebung von Kompilierungsfehlern durch Import-Korrekturen (
ApiRoutes).
- Behebung von Kompilierungsfehlern durch Import-Korrekturen (
Backend (Infrastructure)
- masterdata-service (application.yml):
- Consul Health-Check Pfad auf
/actuator/health/readinesspräzisiert. health-check-portfest auf 8086 (Spring Management) gesetzt.- Timeouts (
health-check-timeout: 5s) hinzugefügt, um "Critical"-States bei kurzen Lastspitzen zu vermeiden.
- Consul Health-Check Pfad auf
🧐 QA & Verifizierung
- Build:
./gradlew :frontend:shells:meldestelle-desktop:compileKotlinJvmist BUILD SUCCESSFUL. - Infrastruktur-Check: Manuelle Prüfung der Port-Zuweisung bestätigt die Trennung von Management und API.
- Logik-Check: Verifizierung der Routen-Konstanten gegen die Backend-Controller.
🚀 Next Steps
- Cloud-Sync Ausführung: Start der Desktop-App und Betätigung des "Cloud-Sync" Buttons.
- Daten-Validierung: Suche in den Feature-Screens (Pferde, Funktionäre), um die Korrektheit der SQLite-Persistenz zu bestätigen.
- Produktiv-Test: Erstellung einer Veranstaltung im Wizard unter Nutzung eines importierten Vereins.
🏗️ [Lead Architect] | 👷 [Backend Developer] | 🧐 [QA Specialist] | 🧹 [Curator]