Answered

Android Intercom SDK crash (FocusRequester is not initialized)

  • 26 June 2023
  • 4 replies
  • 319 views

Userlevel 1
Badge

Hi!
We started seeing this crash in the Android Intercom SDK (stack trace below). This was on version 15.1.0, we’re updating to 15.1.1., but the release notes for it only mention "Fixed an issue that causes image upload to fail when Identity Verification is turned on”, which seems like an unrelated issue, is it?

Could you please let the team know about this and provide any timeline for a fix of the issue?

 

ava.lang.IllegalStateException:    FocusRequester is not initialized. Here are some possible fixes:   1. Remember the FocusRequester: val focusRequester = remember { FocusRequester() }   2. Did you forget to add a Modifier.focusRequester() ?   3. Are you attempting to request focus during composition? Focus requests should be made in   response to some event. Eg Modifier.clickable { focusRequester.requestFocus() }    at androidx.compose.ui.focus.FocusRequester.findFocusTarget$ui_release(FocusRequester.kt:90)    at androidx.compose.ui.focus.FocusRequester.requestFocus(FocusRequester.kt:0)    at io.intercom.android.sdk.m5.conversation.ui.components.composer.ConversationBottomBarKt$ConversationBottomBar$2$1$3$3$1$2$1.invokeSuspend(ConversationBottomBar.kt:204)    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:110)    at androidx.compose.ui.platform.AndroidUiDispatcher.performTrampolineDispatch(AndroidUiDispatcher.android.kt:81)    at androidx.compose.ui.platform.AndroidUiDispatcher.access$performTrampolineDispatch(AndroidUiDispatcher.android.kt:41)    at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.run(AndroidUiDispatcher.android.kt:59)    at android.os.Handler.handleCallback(Handler.java:942)    at android.os.Handler.dispatchMessage(Handler.java:99)    at android.os.Looper.loopOnce(Looper.java:226)    at android.os.Looper.loop(Looper.java:313)    at android.app.ActivityThread.main(ActivityThread.java:8757)    at java.lang.reflect.Method.invoke(Method.java)    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)
icon

Best answer by cameron.gumley 29 June 2023, 03:10

View original

4 replies

Userlevel 2
Badge +3

Hi @Roman Kamyshnikov -- Cam from the Intercom Support Engineering team here 👋

It does indeed look like the crash in the Intercom Android SDK which you’re seeing is related to the issue mentioned in the v15.1.1 release notes. Looking through our server logs I’ve located that data that appears to confirm this as well. 

Have you completed the SDK update, and if so are you still seeing this crash occur?

Userlevel 1
Badge

Hi @cameron.gumley!

Not yet, we’ll keep an eye out for the issue after we update then. I’ll let you know if this is still happening. Thanks!

Userlevel 1
Badge

Hi @cameron.gumley!
Unfortunately, this error still appears after updating to 15.1.1. Could you have a look at this please?

Userlevel 1
Badge

Update: also on the 15.1.1 version we got a NullPointerException with the following stacktrace:


 

java.lang.NullPointerException: null    at io.intercom.android.sdk.m5.conversation.usecase.SendMessageUseCase$Companion.updateFailedPendingMessages(SendMessageUseCase.kt:150)    at io.intercom.android.sdk.m5.conversation.usecase.SendMessageUseCase.invoke(SendMessageUseCase.kt:104)    at io.intercom.android.sdk.m5.conversation.usecase.SendMessageUseCase$invoke$2.invokeSuspend(SendMessageUseCase.kt:0)    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)    at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)    at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)    at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

Reply