docs: add browser console error screenshots for Ping Service debugging
All checks were successful
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:
Stefan Mogeritsch 2026-03-12 12:23:36 +01:00
parent 78d758b629
commit adce1384ee
45 changed files with 14659 additions and 62 deletions

View File

@ -56,7 +56,7 @@ KC_ADMIN_PASSWORD=<SICHERES_PASSWORT>
KC_DB=postgres
KC_DB_SCHEMA=keycloak
KC_DB_PASSWORD=<SICHERES_PASSWORT>
# SERVER: Echte IP oder Domain eintragen (z.B. 192.168.1.100 oder auth.meldestelle.at)
# SERVER: Public Domain (z.B. auth.mo-code.at) - ohne http/https Prefix!
# LOKAL: localhost
KC_HOSTNAME=<SERVER_IP_ODER_DOMAIN>
# false = Zugriff über beliebige Hostnamen erlaubt (nötig ohne TLS / für HTTP-Betrieb)
@ -68,7 +68,7 @@ KC_MANAGEMENT_PORT=9000:9000
# --- KEYCLOAK TOKEN VALIDATION ---
# Public Issuer URI: muss mit dem Hostname übereinstimmen, den Browser/App sieht
# LOKAL: http://localhost:8180/realms/meldestelle
# SERVER: http://<SERVER_IP_ODER_DOMAIN>:8180/realms/meldestelle
# SERVER: https://auth.mo-code.at/realms/meldestelle (via Pangolin)
SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI=http://<SERVER_IP_ODER_DOMAIN>:8180/realms/meldestelle
# Internal JWK Set URI: Service-zu-Service innerhalb Docker (immer keycloak:8080)
SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_JWK_SET_URI=http://keycloak:8080/realms/meldestelle/protocol/openid-connect/certs
@ -136,6 +136,14 @@ PING_CONSUL_PREFER_IP=true
CADDY_VERSION=2.11-alpine
WEB_APP_PORT=4000:4000
WEB_BUILD_PROFILE=dev
# URL für API-Zugriffe vom Browser (Public URL via Pangolin)
# LOKAL: http://localhost:8081
# SERVER: https://api.mo-code.at
WEB_APP_API_URL=http://localhost:8081
# URL für Keycloak-Zugriffe vom Browser (Public URL via Pangolin)
# LOKAL: http://localhost:8180
# SERVER: https://auth.mo-code.at
WEB_APP_KEYCLOAK_URL=http://localhost:8180
# --- DESKTOP-APP ---
DESKTOP_APP_VNC_PORT=5901:5901

View File

@ -8,60 +8,46 @@ import org.springframework.security.config.annotation.web.configuration.EnableWe
import org.springframework.security.config.http.SessionCreationPolicy
import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationConverter
import org.springframework.security.web.SecurityFilterChain
import org.springframework.web.cors.CorsConfiguration
import org.springframework.web.cors.CorsConfigurationSource
import org.springframework.web.cors.UrlBasedCorsConfigurationSource
@Configuration
@EnableWebSecurity
@EnableMethodSecurity(prePostEnabled = true) // Erlaubt @PreAuthorize in Services/Controllern
class GlobalSecurityConfig {
@Bean
fun filterChain(http: HttpSecurity): SecurityFilterChain {
http
.csrf { it.disable() } // CSRF nicht nötig für Stateless REST APIs
.cors { it.configurationSource(corsConfigurationSource()) }
.sessionManagement { it.sessionCreationPolicy(SessionCreationPolicy.STATELESS) }
.authorizeHttpRequests { auth ->
// Explizite Freigaben (Health, Info, Public Endpoints)
auth.requestMatchers("/actuator/**").permitAll()
auth.requestMatchers("/ping/public").permitAll()
auth.requestMatchers("/ping/simple").permitAll()
auth.requestMatchers("/ping/enhanced").permitAll()
auth.requestMatchers("/ping/health").permitAll()
auth.requestMatchers("/error").permitAll()
@Bean
fun filterChain(http: HttpSecurity): SecurityFilterChain {
http
.csrf { it.disable() } // CSRF nicht nötig für Stateless REST APIs
// WICHTIG: CORS explizit deaktivieren!
// Das API-Gateway kümmert sich um CORS. Die Microservices dürfen KEINE
// Access-Control-Allow-Origin Header setzen, sonst haben wir doppelte Header beim Client.
.cors { it.disable() }
.sessionManagement { it.sessionCreationPolicy(SessionCreationPolicy.STATELESS) }
.authorizeHttpRequests { auth ->
// Explizite Freigaben (Health, Info, Public Endpoints)
auth.requestMatchers("/actuator/**").permitAll()
auth.requestMatchers("/ping/public").permitAll()
auth.requestMatchers("/ping/simple").permitAll()
auth.requestMatchers("/ping/enhanced").permitAll()
auth.requestMatchers("/ping/health").permitAll()
auth.requestMatchers("/error").permitAll()
// Alles andere muss authentifiziert sein
auth.anyRequest().authenticated()
}
.oauth2ResourceServer { oauth2 ->
oauth2.jwt { jwt ->
jwt.jwtAuthenticationConverter(jwtAuthenticationConverter())
}
}
// Alles andere muss authentifiziert sein
auth.anyRequest().authenticated()
}
.oauth2ResourceServer { oauth2 ->
oauth2.jwt { jwt ->
jwt.jwtAuthenticationConverter(jwtAuthenticationConverter())
}
}
return http.build()
}
return http.build()
}
@Bean
fun jwtAuthenticationConverter(): JwtAuthenticationConverter {
val converter = JwtAuthenticationConverter()
converter.setJwtGrantedAuthoritiesConverter(KeycloakRoleConverter())
return converter
}
@Bean
fun corsConfigurationSource(): CorsConfigurationSource {
val configuration = CorsConfiguration()
// Erlaube Frontend (localhost, docker host)
configuration.allowedOriginPatterns = listOf("*") // Für Dev; in Prod einschränken!
configuration.allowedMethods = listOf("GET", "POST", "PUT", "DELETE", "OPTIONS")
configuration.allowedHeaders = listOf("*")
configuration.allowCredentials = true
val source = UrlBasedCorsConfigurationSource()
source.registerCorsConfiguration("/**", configuration)
return source
}
@Bean
fun jwtAuthenticationConverter(): JwtAuthenticationConverter {
val converter = JwtAuthenticationConverter()
converter.setJwtGrantedAuthoritiesConverter(KeycloakRoleConverter())
return converter
}
}

View File

@ -1,15 +1,13 @@
package at.mocode.ping.infrastructure.web
import at.mocode.ping.api.EnhancedPingResponse
import at.mocode.ping.api.HealthResponse
import at.mocode.ping.api.PingApi
import at.mocode.ping.api.PingEvent
import at.mocode.ping.api.PingResponse
import at.mocode.ping.api.*
import at.mocode.ping.application.PingUseCase
import io.github.resilience4j.circuitbreaker.annotation.CircuitBreaker
import org.slf4j.LoggerFactory
import org.springframework.security.access.prepost.PreAuthorize
import org.springframework.web.bind.annotation.*
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RequestParam
import org.springframework.web.bind.annotation.RestController
import java.time.ZoneOffset
import java.time.format.DateTimeFormatter
import kotlin.random.Random
@ -20,8 +18,7 @@ import kotlin.uuid.ExperimentalUuidApi
* Nutzt den Application Port (PingUseCase).
*/
@RestController
// Spring requires using `originPatterns` (not wildcard `origins`) when credentials are enabled.
@CrossOrigin(allowedHeaders = ["*"], allowCredentials = "true", originPatterns = ["*"])
// @CrossOrigin Annotation entfernt. CORS wird zentral im API-Gateway gehandhabt.
@OptIn(ExperimentalUuidApi::class)
class PingController(
private val pingUseCase: PingUseCase

View File

@ -1,3 +1,10 @@
{
"apiBaseUrl": "{{env "API_BASE_URL" | default ""}}"
"apiBaseUrl": "{{env "
API_BASE_URL
" | default "
"}}",
"keycloakUrl": "{{env "
KEYCLOAK_URL
" | default "
"}}"
}

View File

@ -27,6 +27,8 @@ services:
# Runtime Configuration for Caddy Templates
# Browser can access API via localhost:8081 (Gateway)
API_BASE_URL: "${WEB_APP_API_URL:-http://localhost:8081}"
# Keycloak URL for Frontend (Public Access)
KEYCLOAK_URL: "${WEB_APP_KEYCLOAK_URL:-http://localhost:8180}"
depends_on:
api-gateway:
condition: "service_started"

View File

Before

Width:  |  Height:  |  Size: 123 KiB

After

Width:  |  Height:  |  Size: 123 KiB

View File

Before

Width:  |  Height:  |  Size: 148 KiB

After

Width:  |  Height:  |  Size: 148 KiB

View File

Before

Width:  |  Height:  |  Size: 114 KiB

After

Width:  |  Height:  |  Size: 114 KiB

View File

Before

Width:  |  Height:  |  Size: 106 KiB

After

Width:  |  Height:  |  Size: 106 KiB

View File

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 54 KiB

View File

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 55 KiB

View File

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

View File

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 54 KiB

View File

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 61 KiB

View File

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

View File

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 57 KiB

View File

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 54 KiB

View File

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 59 KiB

View File

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 72 KiB

View File

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 55 KiB

View File

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 54 KiB

View File

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 71 KiB

View File

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 65 KiB

View File

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

View File

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 70 KiB

View File

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

View File

Before

Width:  |  Height:  |  Size: 119 KiB

After

Width:  |  Height:  |  Size: 119 KiB

View File

Before

Width:  |  Height:  |  Size: 96 KiB

After

Width:  |  Height:  |  Size: 96 KiB

View File

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 120 KiB

View File

Before

Width:  |  Height:  |  Size: 108 KiB

After

Width:  |  Height:  |  Size: 108 KiB

View File

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 92 KiB

View File

Before

Width:  |  Height:  |  Size: 131 KiB

After

Width:  |  Height:  |  Size: 131 KiB

View File

Before

Width:  |  Height:  |  Size: 192 KiB

After

Width:  |  Height:  |  Size: 192 KiB

View File

Before

Width:  |  Height:  |  Size: 242 KiB

After

Width:  |  Height:  |  Size: 242 KiB

View File

@ -0,0 +1,655 @@
content-script.js:104 Failed to get subsystem status for purpose {rejected: true, message: {…}}
web-app.js:2491 [WebApp] main() entered
web-app.js:2650 [WebApp] Loading configuration...
web-app.js:2439 Fetch finished loading: GET "https://app.mo-code.at/config.json".
(anonymous) @ web-app.js:2439
loadAppConfig @ web-app.js:2424
(anonymous) @ web-app.js:2652
(anonymous) @ web-app.js:2636
l @ web-app.js:2713
(anonymous) @ web-app.js:200832
(anonymous) @ web-app.js:200648
(anonymous) @ web-app.js:200682
(anonymous) @ web-app.js:43847
(anonymous) @ web-app.js:45934
(anonymous) @ web-app.js:45776
Promise.then
(anonymous) @ web-app.js:45788
(anonymous) @ web-app.js:45914
(anonymous) @ web-app.js:46057
(anonymous) @ web-app.js:46135
safeDispatch @ web-app.js:43731
resumeCancellableWith @ web-app.js:43498
startCoroutineCancellable_0 @ web-app.js:44106
(anonymous) @ web-app.js:33885
(anonymous) @ web-app.js:32473
launch @ web-app.js:32646
main @ web-app.js:2493
mainWrapper @ web-app.js:2723
(anonymous) @ web-app.js:2742
(anonymous) @ web-app.js:21
158 @ web-app.js:25
__webpack_require__ @ web-app.js:365061
(anonymous) @ web-app.js:365327
(anonymous) @ web-app.js:365330
webpackUniversalModuleDefinition @ web-app.js:9
(anonymous) @ web-app.js:10
web-app.js:2660 [WebApp] Configuration loaded: apiBaseUrl=https://api.mo-code.at
web-app.js:2662 [WebApp] Koin initialized
web-app.js:2664 [WebApp] Initializing Database...
sqlite.worker.js:2 Worker: sqlite.worker.js loaded. Starting initialization...
sqlite.worker.js:64 Worker: Loading sqlite3.js via importScripts...
sqlite.worker.js:75 Worker: Fetching sqlite3.wasm manually...
sqlite.worker.js:81 Worker: sqlite3.wasm fetched successfully, size: 851353
sqlite.worker.js:83 Worker: Calling sqlite3InitModule with wasmBinary...
sqlite.worker.js:16 Worker: Buffering message (DB not ready) {id: 0, action: 'exec', sql: 'PRAGMA user_version;', params: Array(0)}
sw.js:74 Fetch finished loading: GET "https://app.mo-code.at/favicon.ico".
(anonymous) @ sw.js:74
sqlite.worker.js:90 Worker: sqlite3InitModule resolved successfully
sqlite.worker.js:92 Worker: OPFS available: true
sqlite.worker.js:97 Initialisiere persistente OPFS Datenbank: app.db
sqlite.worker.js:106 Worker: DB Ready. Processing 1 buffered messages.
web-app.js:59625 Database version check: Current=1, Schema=1
web-app.js:59645 Database Schema is up to date.
web-app.js:2675 [WebApp] Local DB created and registered in Koin
web-app.js:2512 [WebApp] Mounting Compose App...
web-app.js:2525 [WebApp] App mounted successfully
web-app.js:151007 [PlatformConfig] Resolved KEYCLOAK_URL from global: https://app.mo-code.at:8180
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
web-app.js:124752 [Violation] 'requestAnimationFrame' handler took 133ms
web-app.js:124752 [Violation] 'requestAnimationFrame' handler took 149ms
web-app.js:200584 [baseClient] REQUEST: https://app.mo-code.at:8180/realms/meldestelle/protocol/openid-connect/token
METHOD: POST
web-app.js:246639 POST https://app.mo-code.at:8180/realms/meldestelle/protocol/openid-connect/token net::ERR_CONNECTION_TIMED_OUT
commonFetch @ web-app.js:246639
__webpack_modules__.6464.protoOf.k9 @ web-app.js:245922
__webpack_modules__.6464.protoOf.hjx @ web-app.js:246130
__webpack_modules__.6464.protoOf.k9 @ web-app.js:238217
__webpack_modules__.6464.protoOf.gjx @ web-app.js:238199
l @ web-app.js:238247
(anonymous) @ web-app.js:200832
(anonymous) @ web-app.js:200648
(anonymous) @ web-app.js:200682
(anonymous) @ web-app.js:43847
(anonymous) @ web-app.js:45934
(anonymous) @ web-app.js:45768
postMessage
__webpack_modules__.1400.protoOf.i30 @ web-app.js:45791
(anonymous) @ web-app.js:45941
(anonymous) @ web-app.js:45776
Promise.then
(anonymous) @ web-app.js:45788
(anonymous) @ web-app.js:45914
(anonymous) @ web-app.js:46057
(anonymous) @ web-app.js:46135
safeDispatch @ web-app.js:43731
dispatch @ web-app.js:43894
dispatchResume @ web-app.js:33066
(anonymous) @ web-app.js:33459
tryResume0 @ web-app.js:39220
(anonymous) @ web-app.js:37305
tryResumeReceiver @ web-app.js:36848
updateCellSend @ web-app.js:36740
(anonymous) @ web-app.js:38663
(anonymous) @ web-app.js:107393
GlobalSnapshot$_init_$lambda_36kgl8 @ web-app.js:184892
notifyWrite @ web-app.js:185205
__webpack_modules__.3883.protoOf.x45 @ web-app.js:174892
_set__playTimeNanos__8elh7c @ web-app.js:357099
__webpack_modules__.9639.protoOf.lcu @ web-app.js:357708
__webpack_modules__.9639.protoOf.fct @ web-app.js:357774
(anonymous) @ web-app.js:357071
__webpack_modules__.3883.protoOf.x32 @ web-app.js:159050
__webpack_modules__.3883.BroadcastFrameClock.onNewAwaiters @ web-app.js:159069
(anonymous) @ web-app.js:182493
(anonymous) @ web-app.js:159088
(anonymous) @ web-app.js:168435
__webpack_modules__.3883.protoOf.x32 @ web-app.js:159050
__webpack_modules__.3883.BroadcastFrameClock.onNewAwaiters @ web-app.js:159069
(anonymous) @ web-app.js:182493
(anonymous) @ web-app.js:159088
(anonymous) @ web-app.js:109062
(anonymous) @ web-app.js:114705
(anonymous) @ web-app.js:124864
(anonymous) @ web-app.js:124765
requestAnimationFrame
(anonymous) @ web-app.js:124808
(anonymous) @ web-app.js:124878
(anonymous) @ web-app.js:124885
(anonymous) @ web-app.js:124893
l @ web-app.js:114709
(anonymous) @ web-app.js:108956
l @ web-app.js:108857
__webpack_modules__.3883.protoOf.j33 @ web-app.js:182457
__webpack_modules__.3883.protoOf.i33 @ web-app.js:159093
(anonymous) @ web-app.js:169927
(anonymous) @ web-app.js:200648
(anonymous) @ web-app.js:200682
(anonymous) @ web-app.js:43847
(anonymous) @ web-app.js:107055
performRun @ web-app.js:107081
(anonymous) @ web-app.js:107108
(anonymous) @ web-app.js:107096
l @ web-app.js:107127
(anonymous) @ web-app.js:200832
(anonymous) @ web-app.js:200648
(anonymous) @ web-app.js:200682
(anonymous) @ web-app.js:43847
(anonymous) @ web-app.js:45934
(anonymous) @ web-app.js:45776
Promise.then
(anonymous) @ web-app.js:45788
(anonymous) @ web-app.js:45914
(anonymous) @ web-app.js:46057
(anonymous) @ web-app.js:46135
safeDispatch @ web-app.js:43731
dispatch @ web-app.js:43894
dispatchResume @ web-app.js:33066
(anonymous) @ web-app.js:33459
tryResume0 @ web-app.js:39220
(anonymous) @ web-app.js:37305
tryResumeReceiver @ web-app.js:36848
updateCellSend @ web-app.js:36740
(anonymous) @ web-app.js:38663
(anonymous) @ web-app.js:107393
GlobalSnapshot$_init_$lambda_36kgl8 @ web-app.js:184892
notifyWrite @ web-app.js:185205
__webpack_modules__.3883.protoOf.x45 @ web-app.js:174892
_set__playTimeNanos__8elh7c @ web-app.js:357099
__webpack_modules__.9639.protoOf.lcu @ web-app.js:357708
__webpack_modules__.9639.protoOf.fct @ web-app.js:357774
(anonymous) @ web-app.js:357071
__webpack_modules__.3883.protoOf.x32 @ web-app.js:159050
__webpack_modules__.3883.BroadcastFrameClock.onNewAwaiters @ web-app.js:159069
(anonymous) @ web-app.js:182493
(anonymous) @ web-app.js:159088
(anonymous) @ web-app.js:168435
__webpack_modules__.3883.protoOf.x32 @ web-app.js:159050
__webpack_modules__.3883.BroadcastFrameClock.onNewAwaiters @ web-app.js:159069
(anonymous) @ web-app.js:182493
(anonymous) @ web-app.js:159088
(anonymous) @ web-app.js:109062
(anonymous) @ web-app.js:114705
(anonymous) @ web-app.js:124864
(anonymous) @ web-app.js:124765
requestAnimationFrame
(anonymous) @ web-app.js:124808
(anonymous) @ web-app.js:124878
(anonymous) @ web-app.js:124885
(anonymous) @ web-app.js:124893
l @ web-app.js:114709
(anonymous) @ web-app.js:108956
l @ web-app.js:108857
__webpack_modules__.3883.protoOf.j33 @ web-app.js:182457
__webpack_modules__.3883.protoOf.i33 @ web-app.js:159093
(anonymous) @ web-app.js:169927
(anonymous) @ web-app.js:200648
(anonymous) @ web-app.js:200682
(anonymous) @ web-app.js:43847
(anonymous) @ web-app.js:107055
performRun @ web-app.js:107081
(anonymous) @ web-app.js:107108
(anonymous) @ web-app.js:107096
l @ web-app.js:107127
(anonymous) @ web-app.js:200832
(anonymous) @ web-app.js:200648
(anonymous) @ web-app.js:200682
(anonymous) @ web-app.js:43847
(anonymous) @ web-app.js:45934
(anonymous) @ web-app.js:45776
Promise.then
(anonymous) @ web-app.js:45788
(anonymous) @ web-app.js:45914
(anonymous) @ web-app.js:46057
(anonymous) @ web-app.js:46135
safeDispatch @ web-app.js:43731
dispatch @ web-app.js:43894
dispatchResume @ web-app.js:33066
(anonymous) @ web-app.js:33459
tryResume0 @ web-app.js:39220
(anonymous) @ web-app.js:37305
tryResumeReceiver @ web-app.js:36848
updateCellSend @ web-app.js:36740
(anonymous) @ web-app.js:38663
(anonymous) @ web-app.js:107393
GlobalSnapshot$_init_$lambda_36kgl8 @ web-app.js:184892
notifyWrite @ web-app.js:185205
__webpack_modules__.3883.protoOf.x45 @ web-app.js:174892
__webpack_modules__.9639.protoOf.uct @ web-app.js:357722
__webpack_modules__.9639.protoOf.ncu @ web-app.js:357824
__webpack_modules__.9639.protoOf.fct @ web-app.js:357762
(anonymous) @ web-app.js:357071
__webpack_modules__.3883.protoOf.x32 @ web-app.js:159050
__webpack_modules__.3883.BroadcastFrameClock.onNewAwaiters @ web-app.js:159069
(anonymous) @ web-app.js:182493
(anonymous) @ web-app.js:159088
(anonymous) @ web-app.js:168435
__webpack_modules__.3883.protoOf.x32 @ web-app.js:159050
__webpack_modules__.3883.BroadcastFrameClock.onNewAwaiters @ web-app.js:159069
(anonymous) @ web-app.js:182493
(anonymous) @ web-app.js:159088
(anonymous) @ web-app.js:109062
(anonymous) @ web-app.js:114705
(anonymous) @ web-app.js:124864
(anonymous) @ web-app.js:124765
requestAnimationFrame
(anonymous) @ web-app.js:124808
(anonymous) @ web-app.js:124878
(anonymous) @ web-app.js:124885
(anonymous) @ web-app.js:124893
l @ web-app.js:114709
(anonymous) @ web-app.js:108956
l @ web-app.js:108857
__webpack_modules__.3883.protoOf.j33 @ web-app.js:182457
__webpack_modules__.3883.protoOf.i33 @ web-app.js:159093
(anonymous) @ web-app.js:169927
(anonymous) @ web-app.js:200648
(anonymous) @ web-app.js:200682
(anonymous) @ web-app.js:43847
(anonymous) @ web-app.js:107055
performRun @ web-app.js:107081
(anonymous) @ web-app.js:107108
(anonymous) @ web-app.js:107096
l @ web-app.js:107127
(anonymous) @ web-app.js:200832
(anonymous) @ web-app.js:200648
(anonymous) @ web-app.js:200682
(anonymous) @ web-app.js:43847
(anonymous) @ web-app.js:45934
(anonymous) @ web-app.js:45768
postMessage
__webpack_modules__.1400.protoOf.i30 @ web-app.js:45791
(anonymous) @ web-app.js:45941
(anonymous) @ web-app.js:45768
postMessage
__webpack_modules__.1400.protoOf.i30 @ web-app.js:45791
(anonymous) @ web-app.js:45941
(anonymous) @ web-app.js:45776
Promise.then
(anonymous) @ web-app.js:45788
(anonymous) @ web-app.js:45914
(anonymous) @ web-app.js:46057
(anonymous) @ web-app.js:46135
safeDispatch @ web-app.js:43731
dispatch @ web-app.js:43894
dispatchResume @ web-app.js:33066
(anonymous) @ web-app.js:33459
tryResume0 @ web-app.js:39220
(anonymous) @ web-app.js:37305
tryResumeReceiver @ web-app.js:36848
updateCellSend @ web-app.js:36740
(anonymous) @ web-app.js:38663
trySendDropLatest @ web-app.js:39506
trySendImpl @ web-app.js:39503
(anonymous) @ web-app.js:39560
(anonymous) @ web-app.js:113804
(anonymous) @ web-app.js:105846
(anonymous) @ web-app.js:86363
invalidateSemantics @ web-app.js:96541
onFocusStateChange @ web-app.js:275737
l @ web-app.js:275829
__webpack_modules__.2461.protoOf.o7z @ web-app.js:69688
performRequestFocus @ web-app.js:70214
assignFocus @ web-app.js:69295
__webpack_modules__.2461.protoOf.v7z @ web-app.js:69472
requestFocus$default @ web-app.js:63972
requestFocus_0 @ web-app.js:69019
requestFocusWhenInMouseInputMode @ web-app.js:275487
__webpack_modules__.7579.protoOf.q8l @ web-app.js:273717
__webpack_modules__.2461.protoOf.o8k @ web-app.js:75656
__webpack_modules__.2461.protoOf.o8k @ web-app.js:75643
__webpack_modules__.2461.protoOf.o8k @ web-app.js:75643
__webpack_modules__.2461.protoOf.o8k @ web-app.js:75406
__webpack_modules__.2461.protoOf.e8k @ web-app.js:75333
__webpack_modules__.2461.protoOf.y8q @ web-app.js:77022
__webpack_modules__.2461.protoOf.gb8 @ web-app.js:106342
processPress @ web-app.js:109601
__webpack_modules__.2461.protoOf.ibf @ web-app.js:110185
l @ web-app.js:108827
sendInternal @ web-app.js:104381
__webpack_modules__.2461.protoOf.kao @ web-app.js:104528
__webpack_modules__.2461.protoOf.hbg @ web-app.js:110662
__webpack_modules__.2461.protoOf.ebg @ web-app.js:110656
__webpack_modules__.2461.protoOf.dbg @ web-app.js:109106
sendPointerEvent$default @ web-app.js:64872
onMouseEvent @ web-app.js:114509
__webpack_modules__.2461.ComposeWindow$lambda$lambda$lambda.$composer_0 @ web-app.js:114758
__webpack_modules__.2461.ComposeWindow$lambda$lambda$lambda.$composer_0 @ web-app.js:114717
web-app.js:246639 Fetch failed loading: POST "https://app.mo-code.at:8180/realms/meldestelle/protocol/openid-connect/token".
commonFetch @ web-app.js:246639
__webpack_modules__.6464.protoOf.k9 @ web-app.js:245922
__webpack_modules__.6464.protoOf.hjx @ web-app.js:246130
__webpack_modules__.6464.protoOf.k9 @ web-app.js:238217
__webpack_modules__.6464.protoOf.gjx @ web-app.js:238199
l @ web-app.js:238247
(anonymous) @ web-app.js:200832
(anonymous) @ web-app.js:200648
(anonymous) @ web-app.js:200682
(anonymous) @ web-app.js:43847
(anonymous) @ web-app.js:45934
(anonymous) @ web-app.js:45768
postMessage
__webpack_modules__.1400.protoOf.i30 @ web-app.js:45791
(anonymous) @ web-app.js:45941
(anonymous) @ web-app.js:45776
Promise.then
(anonymous) @ web-app.js:45788
(anonymous) @ web-app.js:45914
(anonymous) @ web-app.js:46057
(anonymous) @ web-app.js:46135
safeDispatch @ web-app.js:43731
dispatch @ web-app.js:43894
dispatchResume @ web-app.js:33066
(anonymous) @ web-app.js:33459
tryResume0 @ web-app.js:39220
(anonymous) @ web-app.js:37305
tryResumeReceiver @ web-app.js:36848
updateCellSend @ web-app.js:36740
(anonymous) @ web-app.js:38663
(anonymous) @ web-app.js:107393
GlobalSnapshot$_init_$lambda_36kgl8 @ web-app.js:184892
notifyWrite @ web-app.js:185205
__webpack_modules__.3883.protoOf.x45 @ web-app.js:174892
_set__playTimeNanos__8elh7c @ web-app.js:357099
__webpack_modules__.9639.protoOf.lcu @ web-app.js:357708
__webpack_modules__.9639.protoOf.fct @ web-app.js:357774
(anonymous) @ web-app.js:357071
__webpack_modules__.3883.protoOf.x32 @ web-app.js:159050
__webpack_modules__.3883.BroadcastFrameClock.onNewAwaiters @ web-app.js:159069
(anonymous) @ web-app.js:182493
(anonymous) @ web-app.js:159088
(anonymous) @ web-app.js:168435
__webpack_modules__.3883.protoOf.x32 @ web-app.js:159050
__webpack_modules__.3883.BroadcastFrameClock.onNewAwaiters @ web-app.js:159069
(anonymous) @ web-app.js:182493
(anonymous) @ web-app.js:159088
(anonymous) @ web-app.js:109062
(anonymous) @ web-app.js:114705
(anonymous) @ web-app.js:124864
(anonymous) @ web-app.js:124765
requestAnimationFrame
(anonymous) @ web-app.js:124808
(anonymous) @ web-app.js:124878
(anonymous) @ web-app.js:124885
(anonymous) @ web-app.js:124893
l @ web-app.js:114709
(anonymous) @ web-app.js:108956
l @ web-app.js:108857
__webpack_modules__.3883.protoOf.j33 @ web-app.js:182457
__webpack_modules__.3883.protoOf.i33 @ web-app.js:159093
(anonymous) @ web-app.js:169927
(anonymous) @ web-app.js:200648
(anonymous) @ web-app.js:200682
(anonymous) @ web-app.js:43847
(anonymous) @ web-app.js:107055
performRun @ web-app.js:107081
(anonymous) @ web-app.js:107108
(anonymous) @ web-app.js:107096
l @ web-app.js:107127
(anonymous) @ web-app.js:200832
(anonymous) @ web-app.js:200648
(anonymous) @ web-app.js:200682
(anonymous) @ web-app.js:43847
(anonymous) @ web-app.js:45934
(anonymous) @ web-app.js:45776
Promise.then
(anonymous) @ web-app.js:45788
(anonymous) @ web-app.js:45914
(anonymous) @ web-app.js:46057
(anonymous) @ web-app.js:46135
safeDispatch @ web-app.js:43731
dispatch @ web-app.js:43894
dispatchResume @ web-app.js:33066
(anonymous) @ web-app.js:33459
tryResume0 @ web-app.js:39220
(anonymous) @ web-app.js:37305
tryResumeReceiver @ web-app.js:36848
updateCellSend @ web-app.js:36740
(anonymous) @ web-app.js:38663
(anonymous) @ web-app.js:107393
GlobalSnapshot$_init_$lambda_36kgl8 @ web-app.js:184892
notifyWrite @ web-app.js:185205
__webpack_modules__.3883.protoOf.x45 @ web-app.js:174892
_set__playTimeNanos__8elh7c @ web-app.js:357099
__webpack_modules__.9639.protoOf.lcu @ web-app.js:357708
__webpack_modules__.9639.protoOf.fct @ web-app.js:357774
(anonymous) @ web-app.js:357071
__webpack_modules__.3883.protoOf.x32 @ web-app.js:159050
__webpack_modules__.3883.BroadcastFrameClock.onNewAwaiters @ web-app.js:159069
(anonymous) @ web-app.js:182493
(anonymous) @ web-app.js:159088
(anonymous) @ web-app.js:168435
__webpack_modules__.3883.protoOf.x32 @ web-app.js:159050
__webpack_modules__.3883.BroadcastFrameClock.onNewAwaiters @ web-app.js:159069
(anonymous) @ web-app.js:182493
(anonymous) @ web-app.js:159088
(anonymous) @ web-app.js:109062
(anonymous) @ web-app.js:114705
(anonymous) @ web-app.js:124864
(anonymous) @ web-app.js:124765
requestAnimationFrame
(anonymous) @ web-app.js:124808
(anonymous) @ web-app.js:124878
(anonymous) @ web-app.js:124885
(anonymous) @ web-app.js:124893
l @ web-app.js:114709
(anonymous) @ web-app.js:108956
l @ web-app.js:108857
__webpack_modules__.3883.protoOf.j33 @ web-app.js:182457
__webpack_modules__.3883.protoOf.i33 @ web-app.js:159093
(anonymous) @ web-app.js:169927
(anonymous) @ web-app.js:200648
(anonymous) @ web-app.js:200682
(anonymous) @ web-app.js:43847
(anonymous) @ web-app.js:107055
performRun @ web-app.js:107081
(anonymous) @ web-app.js:107108
(anonymous) @ web-app.js:107096
l @ web-app.js:107127
(anonymous) @ web-app.js:200832
(anonymous) @ web-app.js:200648
(anonymous) @ web-app.js:200682
(anonymous) @ web-app.js:43847
(anonymous) @ web-app.js:45934
(anonymous) @ web-app.js:45776
Promise.then
(anonymous) @ web-app.js:45788
(anonymous) @ web-app.js:45914
(anonymous) @ web-app.js:46057
(anonymous) @ web-app.js:46135
safeDispatch @ web-app.js:43731
dispatch @ web-app.js:43894
dispatchResume @ web-app.js:33066
(anonymous) @ web-app.js:33459
tryResume0 @ web-app.js:39220
(anonymous) @ web-app.js:37305
tryResumeReceiver @ web-app.js:36848
updateCellSend @ web-app.js:36740
(anonymous) @ web-app.js:38663
(anonymous) @ web-app.js:107393
GlobalSnapshot$_init_$lambda_36kgl8 @ web-app.js:184892
notifyWrite @ web-app.js:185205
__webpack_modules__.3883.protoOf.x45 @ web-app.js:174892
__webpack_modules__.9639.protoOf.uct @ web-app.js:357722
__webpack_modules__.9639.protoOf.ncu @ web-app.js:357824
__webpack_modules__.9639.protoOf.fct @ web-app.js:357762
(anonymous) @ web-app.js:357071
__webpack_modules__.3883.protoOf.x32 @ web-app.js:159050
__webpack_modules__.3883.BroadcastFrameClock.onNewAwaiters @ web-app.js:159069
(anonymous) @ web-app.js:182493
(anonymous) @ web-app.js:159088
(anonymous) @ web-app.js:168435
__webpack_modules__.3883.protoOf.x32 @ web-app.js:159050
__webpack_modules__.3883.BroadcastFrameClock.onNewAwaiters @ web-app.js:159069
(anonymous) @ web-app.js:182493
(anonymous) @ web-app.js:159088
(anonymous) @ web-app.js:109062
(anonymous) @ web-app.js:114705
(anonymous) @ web-app.js:124864
(anonymous) @ web-app.js:124765
requestAnimationFrame
(anonymous) @ web-app.js:124808
(anonymous) @ web-app.js:124878
(anonymous) @ web-app.js:124885
(anonymous) @ web-app.js:124893
l @ web-app.js:114709
(anonymous) @ web-app.js:108956
l @ web-app.js:108857
__webpack_modules__.3883.protoOf.j33 @ web-app.js:182457
__webpack_modules__.3883.protoOf.i33 @ web-app.js:159093
(anonymous) @ web-app.js:169927
(anonymous) @ web-app.js:200648
(anonymous) @ web-app.js:200682
(anonymous) @ web-app.js:43847
(anonymous) @ web-app.js:107055
performRun @ web-app.js:107081
(anonymous) @ web-app.js:107108
(anonymous) @ web-app.js:107096
l @ web-app.js:107127
(anonymous) @ web-app.js:200832
(anonymous) @ web-app.js:200648
(anonymous) @ web-app.js:200682
(anonymous) @ web-app.js:43847
(anonymous) @ web-app.js:45934
(anonymous) @ web-app.js:45768
postMessage
__webpack_modules__.1400.protoOf.i30 @ web-app.js:45791
(anonymous) @ web-app.js:45941
(anonymous) @ web-app.js:45768
postMessage
__webpack_modules__.1400.protoOf.i30 @ web-app.js:45791
(anonymous) @ web-app.js:45941
(anonymous) @ web-app.js:45776
Promise.then
(anonymous) @ web-app.js:45788
(anonymous) @ web-app.js:45914
(anonymous) @ web-app.js:46057
(anonymous) @ web-app.js:46135
safeDispatch @ web-app.js:43731
dispatch @ web-app.js:43894
dispatchResume @ web-app.js:33066
(anonymous) @ web-app.js:33459
tryResume0 @ web-app.js:39220
(anonymous) @ web-app.js:37305
tryResumeReceiver @ web-app.js:36848
updateCellSend @ web-app.js:36740
(anonymous) @ web-app.js:38663
trySendDropLatest @ web-app.js:39506
trySendImpl @ web-app.js:39503
(anonymous) @ web-app.js:39560
(anonymous) @ web-app.js:113804
(anonymous) @ web-app.js:105846
(anonymous) @ web-app.js:86363
invalidateSemantics @ web-app.js:96541
onFocusStateChange @ web-app.js:275737
l @ web-app.js:275829
__webpack_modules__.2461.protoOf.o7z @ web-app.js:69688
performRequestFocus @ web-app.js:70214
assignFocus @ web-app.js:69295
__webpack_modules__.2461.protoOf.v7z @ web-app.js:69472
requestFocus$default @ web-app.js:63972
requestFocus_0 @ web-app.js:69019
requestFocusWhenInMouseInputMode @ web-app.js:275487
__webpack_modules__.7579.protoOf.q8l @ web-app.js:273717
__webpack_modules__.2461.protoOf.o8k @ web-app.js:75656
__webpack_modules__.2461.protoOf.o8k @ web-app.js:75643
__webpack_modules__.2461.protoOf.o8k @ web-app.js:75643
__webpack_modules__.2461.protoOf.o8k @ web-app.js:75406
__webpack_modules__.2461.protoOf.e8k @ web-app.js:75333
__webpack_modules__.2461.protoOf.y8q @ web-app.js:77022
__webpack_modules__.2461.protoOf.gb8 @ web-app.js:106342
processPress @ web-app.js:109601
__webpack_modules__.2461.protoOf.ibf @ web-app.js:110185
l @ web-app.js:108827
sendInternal @ web-app.js:104381
__webpack_modules__.2461.protoOf.kao @ web-app.js:104528
__webpack_modules__.2461.protoOf.hbg @ web-app.js:110662
__webpack_modules__.2461.protoOf.ebg @ web-app.js:110656
__webpack_modules__.2461.protoOf.dbg @ web-app.js:109106
sendPointerEvent$default @ web-app.js:64872
onMouseEvent @ web-app.js:114509
__webpack_modules__.2461.ComposeWindow$lambda$lambda$lambda.$composer_0 @ web-app.js:114758
__webpack_modules__.2461.ComposeWindow$lambda$lambda$lambda.$composer_0 @ web-app.js:114717
web-app.js:200584 [baseClient] REQUEST https://app.mo-code.at:8180/realms/meldestelle/protocol/openid-connect/token failed with exception: Error_0: Fail to fetch
installHook.js:1 Error_0: Fail to fetch
overrideMethod @ installHook.js:1
propagateExceptionFinalResort @ web-app.js:45850
handleUncaughtCoroutineException @ web-app.js:43475
handleCoroutineException @ web-app.js:33785
__webpack_modules__.1400.protoOf.p1s @ web-app.js:32685
finalizeFinishingState @ web-app.js:34269
tryMakeCompletingSlowPath @ web-app.js:34792
tryMakeCompleting @ web-app.js:34738
(anonymous) @ web-app.js:35457
(anonymous) @ web-app.js:32450
(anonymous) @ web-app.js:200669
(anonymous) @ web-app.js:200682
resume @ web-app.js:43954
resumeUnconfined @ web-app.js:43919
dispatch @ web-app.js:43896
dispatchResume @ web-app.js:33066
(anonymous) @ web-app.js:33409
(anonymous) @ web-app.js:33432
(anonymous) @ web-app.js:33353
__webpack_modules__.1400.protoOf.q1t @ web-app.js:35782
notifyCompletion @ web-app.js:34477
completeStateFinalization @ web-app.js:34397
finalizeFinishingState @ web-app.js:34280
tryMakeCompletingSlowPath @ web-app.js:34792
tryMakeCompleting @ web-app.js:34738
(anonymous) @ web-app.js:35457
(anonymous) @ web-app.js:32450
(anonymous) @ web-app.js:200669
(anonymous) @ web-app.js:200682
(anonymous) @ web-app.js:43841
(anonymous) @ web-app.js:45934
(anonymous) @ web-app.js:45776
Promise.then
(anonymous) @ web-app.js:45788
(anonymous) @ web-app.js:45914
(anonymous) @ web-app.js:46057
safeDispatch @ web-app.js:43731
dispatch @ web-app.js:43894
dispatchResume @ web-app.js:33066
(anonymous) @ web-app.js:33409
(anonymous) @ web-app.js:33432
(anonymous) @ web-app.js:33353
(anonymous) @ web-app.js:246678

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

View File

@ -0,0 +1,86 @@
content-script.js:104 Failed to get subsystem status for purpose Object
web-app.js:33410 [WebApp] main() entered
web-app.js:33569 [WebApp] Loading configuration...
web-app.js:33579 [WebApp] Configuration loaded: apiBaseUrl=http://localhost:8081, keycloakUrl=http://localhost:8180
web-app.js:33590 [WebApp] Koin initialized
web-app.js:33592 [WebApp] Initializing Database...
sqlite.worker.js:2 Worker: sqlite.worker.js loaded. Starting initialization...
sqlite.worker.js:64 Worker: Loading sqlite3.js via importScripts...
sqlite.worker.js:75 Worker: Fetching sqlite3.wasm manually...
sqlite.worker.js:81 Worker: sqlite3.wasm fetched successfully, size: 851353
sqlite.worker.js:83 Worker: Calling sqlite3InitModule with wasmBinary...
sqlite.worker.js:16 Worker: Buffering message (DB not ready) Object
sqlite.worker.js:90 Worker: sqlite3InitModule resolved successfully
sqlite.worker.js:92 Worker: OPFS available: true
sqlite.worker.js:97 Initialisiere persistente OPFS Datenbank: app.db
sqlite.worker.js:106 Worker: DB Ready. Processing 1 buffered messages.
web-app.js:26571 Database version check: Current=1, Schema=1
web-app.js:26591 Database Schema is up to date.
web-app.js:33603 [WebApp] Local DB created and registered in Koin
web-app.js:33431 [WebApp] Mounting Compose App...
web-app.js:33444 [WebApp] App mounted successfully
web-app.js:27521 [PlatformConfig] Resolved KEYCLOAK_URL from global: http://localhost:8180
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
web-app.js:280889 [baseClient] REQUEST: http://localhost:8180/realms/meldestelle/protocol/openid-connect/token
METHOD: POST
web-app.js:280889 [baseClient] RESPONSE: 200 OK
METHOD: POST
FROM: http://localhost:8180/realms/meldestelle/protocol/openid-connect/token
web-app.js:27473 [PlatformConfig] Resolved API_BASE_URL from global: http://localhost:8081
web-app.js:280889 [apiClient] REQUEST: http://localhost:8081/api/ping/simple
METHOD: GET
(index):1 Access to fetch at 'http://localhost:8081/api/ping/simple' from origin 'http://localhost:4000' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header contains multiple values 'http://localhost:4000, http://localhost:4000', but only one is allowed. Have the server send the header with a valid value.
:8081/api/ping/simple:1 Failed to load resource: net::ERR_FAILED
web-app.js:280889 [apiClient] REQUEST http://localhost:8081/api/ping/simple failed with exception: Error_0: Fail to fetch
web-app.js:280889 [apiClient] REQUEST: http://localhost:8081/api/ping/simple
METHOD: GET
(index):1 Access to fetch at 'http://localhost:8081/api/ping/simple' from origin 'http://localhost:4000' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header contains multiple values 'http://localhost:4000, http://localhost:4000', but only one is allowed. Have the server send the header with a valid value.
:8081/api/ping/simple:1 Failed to load resource: net::ERR_FAILED
web-app.js:280889 [apiClient] REQUEST http://localhost:8081/api/ping/simple failed with exception: Error_0: Fail to fetch
web-app.js:280889 [apiClient] REQUEST: http://localhost:8081/api/ping/simple
METHOD: GET
(index):1 Access to fetch at 'http://localhost:8081/api/ping/simple' from origin 'http://localhost:4000' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header contains multiple values 'http://localhost:4000, http://localhost:4000', but only one is allowed. Have the server send the header with a valid value.
:8081/api/ping/simple:1 Failed to load resource: net::ERR_FAILED
web-app.js:280889 [apiClient] REQUEST http://localhost:8081/api/ping/simple failed with exception: Error_0: Fail to fetch
web-app.js:280889 [apiClient] REQUEST: http://localhost:8081/api/ping/simple
METHOD: GET
(index):1 Access to fetch at 'http://localhost:8081/api/ping/simple' from origin 'http://localhost:4000' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header contains multiple values 'http://localhost:4000, http://localhost:4000', but only one is allowed. Have the server send the header with a valid value.
:8081/api/ping/simple:1 Failed to load resource: net::ERR_FAILED
web-app.js:280889 [apiClient] REQUEST http://localhost:8081/api/ping/simple failed with exception: Error_0: Fail to fetch
installHook.js:1 Error_0: Fail to fetch
overrideMethod @ installHook.js:1
web-app.js:361421 [Violation] 'requestAnimationFrame' handler took 101ms

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -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 {

View File

@ -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

View File

@ -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';