capacitor-community / intercom

Enable Intercom for Capacitor apps
https://capacitorjs.com/docs
MIT License
58 stars 75 forks source link

Android Messenger crash on Capacitor v4.4.0 #72

Closed matiasfic closed 1 year ago

matiasfic commented 1 year ago

Describe the bug displayMessageComposer() and displayMessenger() are crashing the app in Android for Capacitor v4.4.0.

I've been using this plugin for long time and after upgrading from capacitor 4.2.0 to 4.4.0 the app starts crashing when trying to open the messenger. It happens in all devices with all Android versions.

To Reproduce Steps to reproduce the behavior:

  1. Upgrade to capacitor/core@4.4.0
  2. Call displayMessageComposer() or displayMessenger() methods
  3. App will crash

Smartphone (please complete the following information):

Stacktrace Exception java.lang.NoSuchMethodError: at io.intercom.android.sdk.utilities.IntercomCoilKt.getImageLoader (IntercomCoil.kt:45) at io.intercom.android.sdk.utilities.IntercomCoilKt.loadIntercomImage (IntercomCoil.kt:20) at io.intercom.android.sdk.imageloader.WallpaperLoader.loadWallpaperInto (WallpaperLoader.java:55) at io.intercom.android.sdk.profile.ProfilePresenter.loadWallpaperInto (ProfilePresenter.java:232) at io.intercom.android.sdk.profile.TeammateProfilePresenter.<init> (TeammateProfilePresenter.java:143) at io.intercom.android.sdk.profile.ProfilePresenter.<init> (ProfilePresenter.java:85) at io.intercom.android.sdk.conversation.ConversationFragment.onCreateView (ConversationFragment.java:284) at androidx.fragment.app.Fragment.performCreateView (Fragment.java:3104) at androidx.fragment.app.FragmentStateManager.createView (FragmentStateManager.java:524) at androidx.fragment.app.FragmentStateManager.moveToExpectedState (FragmentStateManager.java:261) at androidx.fragment.app.FragmentManager.executeOpsTogether (FragmentManager.java:1890) at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute (FragmentManager.java:1808) at androidx.fragment.app.FragmentManager.execPendingActions (FragmentManager.java:1751) at androidx.fragment.app.FragmentManager.dispatchStateChange (FragmentManager.java:2976) at androidx.fragment.app.FragmentManager.dispatchActivityCreated (FragmentManager.java:2886) at androidx.fragment.app.FragmentController.dispatchActivityCreated (FragmentController.java:263) at androidx.fragment.app.FragmentActivity.onStart (FragmentActivity.java:351) at androidx.appcompat.app.AppCompatActivity.onStart (AppCompatActivity.java:246) at android.app.Instrumentation.callActivityOnStart (Instrumentation.java:1455) at android.app.Activity.performStart (Activity.java:8315) at android.app.ActivityThread.handleStartActivity (ActivityThread.java:4060) at android.app.servertransaction.TransactionExecutor.performLifecycleSequence (TransactionExecutor.java:221) at android.app.servertransaction.TransactionExecutor.cycleToPath (TransactionExecutor.java:201) at android.app.servertransaction.TransactionExecutor.executeLifecycleState (TransactionExecutor.java:173) at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:97) at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2438) at android.os.Handler.dispatchMessage (Handler.java:106) at android.os.Looper.loopOnce (Looper.java:226) at android.os.Looper.loop (Looper.java:313) at android.app.ActivityThread.main (ActivityThread.java:8669) at java.lang.reflect.Method.invoke at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:571) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1135)

matiasfic commented 1 year ago

The same is happening when receiving a message outside of the messenger. It seems to be caused by the preview of the message. This is critical since it makes the app crash indefinitely (every time you open the app the preview of the message appears and make the app crash). We had to totally remove Intercom plugin for our Android app since it was making our app useless after receiving a message.