diff --git a/demos/android-supabase-todolist/app/src/main/java/com/powersync/androidexample/Auth.kt b/demos/android-supabase-todolist/app/src/main/java/com/powersync/androidexample/Auth.kt index 5cb25151..889b3456 100644 --- a/demos/android-supabase-todolist/app/src/main/java/com/powersync/androidexample/Auth.kt +++ b/demos/android-supabase-todolist/app/src/main/java/com/powersync/androidexample/Auth.kt @@ -5,6 +5,7 @@ import androidx.lifecycle.viewModelScope import co.touchlab.kermit.Logger import com.powersync.PowerSyncDatabase import com.powersync.connector.supabase.SupabaseConnector +import io.github.jan.supabase.auth.status.RefreshFailureCause import io.github.jan.supabase.auth.status.SessionStatus import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow @@ -36,9 +37,13 @@ internal class AuthViewModel( db.connect(supabase) navController.navigate(Screen.Home) } - - SessionStatus.LoadingFromStorage -> Logger.e("Loading from storage") - SessionStatus.NetworkError -> Logger.e("Network error") + SessionStatus.Initializing -> Logger.e("Loading from storage") + is SessionStatus.RefreshFailure -> { + when (it.cause) { + is RefreshFailureCause.NetworkError -> Logger.e("Network error occurred") + is RefreshFailureCause.InternalServerError -> Logger.e("Internal server error occurred") + } + } is SessionStatus.NotAuthenticated -> { db.disconnectAndClear() _authState.value = AuthState.SignedOut