meldestelle/docs/99_Journal/2026-04-20_Koin_DI_HttpClient_Fix.md
StefanMoCoAt 7acd9ea4c2
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
chore: implementiere Suche nach Veranstalter via OEPS-Nummer, verbessere UI-Flow im Veranstaltungs-Wizard und erweitere VereinRepository um OEPS-Abfrage
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 09:27:38 +02:00

1.1 KiB

Journal: 20. April 2026 - Bugfix Koin DI & HttpClient Injektion

🛠️ Bugfix (00:45)

  • Problem: Absturz der Desktop-App mit NoDefinitionFoundException für io.ktor.client.HttpClient.
  • Ursache: Das networkModule stellt den HttpClient nur als benannte Instanzen ("apiClient", "baseHttpClient") zur Verfügung. Das VeranstaltungWizardViewModel, ProfileApiClient und OnlineNennungViewModel forderten jedoch eine unbenannte Instanz an.
  • Lösung:
    • Anpassung des VeranstaltungModule.kt, ProfileModule.kt und NennungModule.kt zur Nutzung von get(named("apiClient")).
    • Behebung eines Kompilierfehlers in ProfileModule.kt (fehlender AuthTokenManager im Konstruktor-Aufruf).
    • Vorbereitung des VereinFeatureModule.kt für den Wechsel von Fake- auf Ktor-Repository (auskommentiert als Option).

🧐 Curator Abschluss

Der Koin-Graph ist wieder konsistent. Alle Features, die Netzwerkausrufe tätigen, nutzen nun explizit den vorkonfigurierten apiClient. Dies stellt sicher, dass Authentifizierungs-Header und Basis-URLs korrekt gesetzt werden.

Gezeichnet durch den Curator.