fix: wrap browser opening in withContext(Dispatchers.IO) for JVM OIDC callback

Ensures proper threading for desktop actions, preventing potential blocking issues during browser invocation.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
This commit is contained in:
2026-03-09 11:58:00 +01:00
parent b9a433f772
commit 15e253365a
@@ -2,7 +2,10 @@ package at.mocode.frontend.core.auth.data
import com.sun.net.httpserver.HttpServer
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import kotlinx.coroutines.withTimeoutOrNull
import java.awt.Desktop
import java.net.InetSocketAddress
import java.net.URI
@@ -59,7 +62,9 @@ actual suspend fun launchOidcFlow(
// Browser öffnen
try {
java.awt.Desktop.getDesktop().browse(URI(authUrl))
withContext(Dispatchers.IO) {
Desktop.getDesktop().browse(URI(authUrl))
}
} catch (e: Exception) {
server.stop(0)
return OidcCallbackResult.Error("browser_error", "Browser konnte nicht geöffnet werden: ${e.message}")