We are getting a great number of crashes on the Android version 14.1.0.
This seems to happen to the conversation_list RecyclerView.
You can find the stack trace bellow:
java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
at android.view.ViewGroup.addViewInner(ViewGroup.java:4471)
at android.view.ViewGroup.addView(ViewGroup.java:4312)
at android.view.ViewGroup.addView(ViewGroup.java:4252)
at android.view.ViewGroup.addView(ViewGroup.java:4225)
at androidx.compose.ui.viewinterop.AndroidViewHolder.setView$ui_release(AndroidViewHolder.android.kt:97)
at androidx.compose.ui.viewinterop.ViewFactoryHolder.<init>(AndroidView.android.kt:332)
at androidx.compose.ui.viewinterop.ViewFactoryHolder.<init>(AndroidView.android.kt:312)
at androidx.compose.ui.viewinterop.AndroidView_androidKt$createAndroidViewNodeFactory$1.invoke(AndroidView.android.kt:247)
at androidx.compose.ui.viewinterop.AndroidView_androidKt$createAndroidViewNodeFactory$1.invoke(AndroidView.android.kt:246)
at androidx.compose.runtime.ComposablesKt$ComposeNode$1.invoke
at androidx.compose.ui.viewinterop.AndroidView_androidKt$AndroidView$$inlined$ComposeNode$1.invoke(Composables.kt:0)
at androidx.compose.runtime.ComposerImpl$createNode$2.invoke(Composer.kt:1617)
at androidx.compose.runtime.ComposerImpl$createNode$2.invoke(Composer.kt:1613)
at androidx.compose.runtime.ComposerImpl$recordInsert$2.invoke(Composer.kt:3554)
at androidx.compose.runtime.ComposerImpl$recordInsert$2.invoke(Composer.kt:3551)
at androidx.compose.runtime.CompositionImpl.applyChangesInLocked(Composition.kt:810)
at androidx.compose.runtime.CompositionImpl.applyChanges(Composition.kt:844)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:592)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:510)
at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame(AndroidUiFrameClock.android.kt:0)
at androidx.compose.ui.platform.AndroidUiDispatcher.performFrameDispatch
at androidx.compose.ui.platform.AndroidUiDispatcher.access$performFrameDispatch
at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame(AndroidUiDispatcher.android.kt:69)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:921)
at android.view.Choreographer.doCallbacks(Choreographer.java:735)
at android.view.Choreographer.doFrame(Choreographer.java:664)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:909)
at android.os.Handler.handleCallback(Handler.java:761)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:156)
at android.app.ActivityThread.main(ActivityThread.java:6523)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:941)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:831)
We are on Kotlin 1.8.10 and androidx.compose.material:material 1.3.1