tinycreative / react-native-intercom

React Native wrapper for Intercom.io
MIT License
405 stars 279 forks source link

Fatal Exception: java.lang.IllegalArgumentException: Unknown color #354

Closed ymcewen closed 4 years ago

ymcewen commented 4 years ago

Hi There, I am adding Intercom into our Android app. We are getting an error that crashes the app. Its related to a colour....but I have checked the colour settings and they seem to be fine. I've even changed the colour to see if this fixes it.

The error from firebase:

at android.graphics.Color.parseColor(Color.java:1391)
at io.intercom.android.sdk.identity.AppConfig.getConfigColor(AppConfig.java:233)
at io.intercom.android.sdk.identity.AppConfig.update(AppConfig.java:187)
at io.intercom.android.sdk.middleware.AppConfigMiddleware.dispatch(AppConfigMiddleware.java:29)
at io.intercom.android.sdk.store.Store$3.dispatch(Store.java:74)
at io.intercom.android.sdk.middleware.UserIdentityMiddleware.dispatch(UserIdentityMiddleware.java:19)
at io.intercom.android.sdk.store.Store$3.dispatch(Store.java:74)
at io.intercom.android.sdk.middleware.FirstMessageMiddleware.dispatch(FirstMessageMiddleware.java:29)
at io.intercom.android.sdk.store.Store$3.dispatch(Store.java:74)
at io.intercom.android.sdk.middleware.AudioMiddleware.dispatch(AudioMiddleware.java:32)
at io.intercom.android.sdk.store.Store$3.dispatch(Store.java:74)
at io.intercom.android.sdk.middleware.OverlayPresenterMiddleware.dispatch(OverlayPresenterMiddleware.java:61)
at io.intercom.android.sdk.store.Store$3.dispatch(Store.java:74)
at io.intercom.android.sdk.middleware.NexusClientMiddleware.dispatch(NexusClientMiddleware.java:30)
at io.intercom.android.sdk.store.Store$3.dispatch(Store.java:74)
at io.intercom.android.sdk.middleware.UserUpdateBatcherMiddleware.dispatch(UserUpdateBatcherMiddleware.java:28)
at io.intercom.android.sdk.store.Store$3.dispatch(Store.java:74)
at io.intercom.android.sdk.middleware.ApiMiddleware.dispatch(ApiMiddleware.java:20)
at io.intercom.android.sdk.store.Store$3.dispatch(Store.java:74)
at io.intercom.android.sdk.middleware.LoggerMiddleware.dispatch(LoggerMiddleware.java:20)
at io.intercom.android.sdk.store.Store$3.dispatch(Store.java:74)
at io.intercom.android.sdk.store.Store.dispatch(Store.java:81)
at io.intercom.android.sdk.api.CallbackHolder$1.onSuccess(CallbackHolder.java:46)
at io.intercom.android.sdk.api.CallbackHolder$1.onSuccess(CallbackHolder.java:43)
at io.intercom.android.sdk.api.Api$1.onSuccess(Api.java:177)
at io.intercom.android.sdk.api.Api$1.onSuccess(Api.java:173)
at io.intercom.android.sdk.api.BaseCallback.onResponse(BaseCallback.java:32)
at io.intercom.retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall$1$1.run(DefaultCallAdapterFactory.java:83)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

I have reached out to Intercom who say they don't support this wrapper and advise that you guys may be best placed to help me figure this out.

React Native V0.60.4 Some notes about my installation:

I follow everything in the instructions except this line new IntercomPackage(). Adding this line throws an error Native module IntercomWrapper tried to override IntercomModule. Manually linking as described in this issue (https://github.com/tinycreative/react-native-intercom/issues/329) throws no build error but the app crashes too when intercom is called.

Been going crazy for a few days. Hopefully someone can help!

ymcewen commented 4 years ago

If anyone else has this issue, here is how it was resolved:

Somewhere in your workspace you can set the helpCenterBaseColor. If that value is not parsable by the SDK, it crashes.