Skip to main content

Hi, 
So I’ve implemented the Intercom SDK into our Android app the past few days and stumbled in to a strange thing. 
The SDK crash as I’m trying to open the write message view with this error.

java.lang.NoSuchMethodError: No static method FlowRow(Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/layout/Arrangement$Horizontal;Landroidx/compose/foundation/layout/Arrangement$Vertical;IILandroidx/compose/foundation/layout/FlowRowOverflow;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)V in class Landroidx/compose/foundation/layout/FlowLayoutKt; or its super classes (declaration of 'androidx.compose.foundation.layout.FlowLayoutKt' appears in /data/app/~~MDeJzUHvf74b7jpNmGq6Rw==/com.sveasolar.staging-7N_jvukfhGCaqNo-t2IqvQ==/base.apk)
    at io.intercom.android.sdk.m5.conversation.ui.components.row.QuickRepliesKt.QuickReplies(QuickReplies.kt:38)
    at io.intercom.android.sdk.m5.conversation.ui.components.row.QuickRepliesKt.ComposerSuggestions(QuickReplies.kt:88)
    at io.intercom.android.sdk.m5.conversation.ui.components.row.ComposerSuggestionsRowKt.ComposerSuggestionsRow(ComposerSuggestionsRow.kt:15)
    at io.intercom.android.sdk.m5.conversation.ui.components.MessageListKt.MessageList(MessageList.kt:369)
    at io.intercom.android.sdk.m5.conversation.ui.ConversationScreenKt$ConversationScreenContent$30$4$1.invoke(ConversationScreen.kt:629)
    at io.intercom.android.sdk.m5.conversation.ui.ConversationScreenKt$ConversationScreenContent$30$4$1.invoke(ConversationScreen.kt:601)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.kt:130)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.kt:51)


This is happening on 15.15.0, 15.14.0, 15.13.0, 15.12.0.

So opening the Intercom Home space works. And I can see 2 buttons, Messages and write new message. 
Tapping write new kills the SDK and Message → new message also kills it. 

I’m developing on a very new codebase. But that should not matter in my opinion.
I’m on compose 1.8.0-rc02 (but this crash is on 1.8.0-rc01 too).
Kotlin 2.1.20 and  we compile agains SDK 36 (But SDK 35 also also fails).

Edit: Happens in both debug and signed builds. 

I’ve found that downgrading compose to 1.7.8 seem to have fixed the issue. 
But I’m using features provided in 1.8.0-x.

Would like to see if there’s something you can do to fix this.


Hey ​@Curwer Paul here 👋 

I appreciate you letting us know that downgrading to Compose 1.7.8 fixed the issue, though I understand this isn't ideal since you need features from 1.8.0.

You're absolutely right that this is something we need to address on our end. The issue occurs because our SDK currently uses an older implementation with a different method signature than what's in Compose 1.8.0.

I'll raise this with the team for review. Thank you.


Please fix this asap 🙏 We are unable to downgrade compose and this is causing a lot of crashes everyday, driving down our crash-free users statistics massively.


Hey ​@Paul Byrne. I’ve just tested 15.16.0 release just recently.. This issue still happen.

I’d like to point out that the FlowRow that is used in this library is annotated by google as experimental. And with that they warn us that the api could change aka not stable. 
I need to question the use of a experimental api in such a large library. The difference between changing a stable and experimental api is if a stable is changed the old implementation is marked as deprecated and still work for some time before removed so devs have time to move to the new version. But experimental versions will just be changed without notice and not keeping the old implementation. 
So for projects that use newer apis like we get stuck and need to wait for the the api to be updated. 
I understand why you use the latest stable version of compose, and not questioning that.

But maybe you could have a beta version of your library published with the newer version on compose? 
Or change the FlowRow for a LazyRow? Understand that you lose the content wrapping, but it would unblock all users. Making both old and new compose work. 

Thanks and hope to hear from you soon. 

edit: Typo in version tested


We just launched Intercom into our prod app and are now experiencing this crash and our users cannot message us 😬. Is there a timeline on a fix for this? 


Same issue here. Our Android app (millions of users) crashes when people try to message us. We just integrated Intercom and have been so happy with it, but this is causing us some major pain. Please fix ASAP or provide a workaround, thanks!


Reply