docs: add browser console error screenshots for Ping Service debugging
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 7m17s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 7m32s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m40s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 1m46s

- Uploaded browser console logs and related error screenshots to document debugging efforts for Ping Service issues.
- Captured CORS-related errors, database initialization logs, and WebGL warnings for local environment analysis.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
This commit is contained in:
2026-03-12 12:23:36 +01:00
parent 78d758b629
commit adce1384ee
45 changed files with 14659 additions and 62 deletions
@@ -5,7 +5,8 @@ import kotlinx.serialization.json.Json
@Serializable
data class AppConfig(
val apiBaseUrl: String
val apiBaseUrl: String,
val keycloakUrl: String? = null // Optional, da nicht immer vorhanden
)
suspend fun loadAppConfig(): AppConfig {
@@ -12,8 +12,8 @@ import kotlinx.coroutines.MainScope
import kotlinx.coroutines.launch
import navigation.navigationModule
import org.koin.core.context.GlobalContext
import org.koin.core.context.startKoin
import org.koin.core.context.loadKoinModules
import org.koin.core.context.startKoin
import org.koin.dsl.module
import org.w3c.dom.HTMLElement
@@ -26,7 +26,12 @@ fun main() {
// 1. Load Runtime Configuration (Async)
console.log("[WebApp] Loading configuration...")
val config = loadAppConfig()
console.log("[WebApp] Configuration loaded: apiBaseUrl=${config.apiBaseUrl}")
console.log("[WebApp] Configuration loaded: apiBaseUrl=${config.apiBaseUrl}, keycloakUrl=${config.keycloakUrl}")
// Inject config into global JS scope for PlatformConfig to find
val global = js("typeof globalThis !== 'undefined' ? globalThis : window")
global.API_BASE_URL = config.apiBaseUrl
config.keycloakUrl?.let { global.KEYCLOAK_URL = it }
// 2. Initialize DI (Koin)
// We register the config immediately so other modules can use it
@@ -30,7 +30,7 @@
const kcOverride = params.get('keycloakUrl');
globalThis.KEYCLOAK_URL = kcOverride
? kcOverride.replace(/\/$/, '')
: 'https://' + window.location.hostname + ':8180';
: 'http://' + window.location.hostname + ':8180';
} catch (e) {
globalThis.API_BASE_URL = 'http://localhost:8081';