From add410dfec4eb7097068a6d739421054703a925c Mon Sep 17 00:00:00 2001 From: Brandon McAnsh Date: Wed, 20 May 2026 16:09:41 -0400 Subject: [PATCH] fix: make Firebase initialization synchronous to prevent race condition FirebaseInitializer was launching Firebase.initialize() on Dispatchers.IO, but UserManager accesses Firebase.messaging.token synchronously during Hilt injection in Application.onCreate(). This race causes IllegalStateException when the IO coroutine hasn't completed before injection runs. Signed-off-by: Brandon McAnsh --- .../flipcash/app/internal/startup/FirebaseInitializer.kt | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/apps/flipcash/app/src/main/kotlin/com/flipcash/app/internal/startup/FirebaseInitializer.kt b/apps/flipcash/app/src/main/kotlin/com/flipcash/app/internal/startup/FirebaseInitializer.kt index 233497c2c..f281ab05b 100644 --- a/apps/flipcash/app/src/main/kotlin/com/flipcash/app/internal/startup/FirebaseInitializer.kt +++ b/apps/flipcash/app/src/main/kotlin/com/flipcash/app/internal/startup/FirebaseInitializer.kt @@ -4,15 +4,10 @@ import android.content.Context import androidx.startup.Initializer import com.google.firebase.Firebase import com.google.firebase.initialize -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.launch class FirebaseInitializer: Initializer { override fun create(context: Context) { - CoroutineScope(Dispatchers.IO).launch { - Firebase.initialize(context) - } + Firebase.initialize(context) } override fun dependencies(): List?>?> {