customerio / customerio-reactnative

MIT License
23 stars 11 forks source link

List of crashes from xCode Organizer window connected to Customer io #168

Closed beqramo closed 10 months ago

beqramo commented 1 year ago

Hi,

I checked crashes on Xcode from production ios app and there are many connected to customer io. I exported them maybe they can be helpful: wetransfer_dvxzad-be_roj0yuk1d74g-xccrashpoint_2023-07-18_1108.zip

To open them please use this link: https://stackoverflow.com/questions/32900063/debugging-xccrashpoint or this comment: https://stackoverflow.com/a/75531524/8778814

Thanks

levibostian commented 1 year ago

Thanks for reporting this, @beqramo. Sorry to hear that you have experienced some issues.

While I review the logs, could you send me the version of the Customer.io SDK that you are using? Look in your ios/Podfile.lock file for lines that contain "CustomerIO". Send me those relevant lines. cat ios/Podfile.lock | grep CustomerIO will generate this list to send me if that's helpful.

beqramo commented 1 year ago

3.0.0 was used in that version of the app. Now I updated it and will release the updated variant but, check anyway as maybe you missed some fixes (if you fixed any in consequent releases)

levibostian commented 1 year ago

3.0.0 of the React Native SDK, got it.

Have you been able to reproduce this on your own in your app? Or, do you know what your app users are doing in your app to get to this crash?

Was this crash occurring on older builds of your app? If not, what version of the SDK were you using in the last stable build of your app?

Any information about the state your app is in would be very helpful. If you feel more comfortable, you can send us information to win@customer.io to continue the conversation there.

beqramo commented 1 year ago

I really don't have any extra info as they were read and exported from xCode Organizer reports

levibostian commented 1 year ago

Was this crash occurring on older builds of your app? If not, what version of the SDK were you using in the last stable build of your app?

beqramo commented 1 year ago

Will come back on this, as I exported bugs from latest build

beqramo commented 1 year ago

CMMWwS6VC-GarX8--k4-CK 2.xccrashpoint.zip BsynWwLo5wL38JfZ8PbbmS.xccrashpoint.zip B-Mt-ImuWKvPw6TxmXjscq.xccrashpoint.zip CUI3RT1y7gVkeQebMSCEV6 2.xccrashpoint.zip uYBuE-9lZMmVekXjcQyxh 2.xccrashpoint.zip

I put some of the errors here(Indeed there are more) from the previous version of the app that was working on 2.5.1 of the library.

Some of them are still the same as what I noticed.

If you want more info or you want to take a look at the Xcode crash report let's get in touch and will find some time for it.

Thanks

levibostian commented 1 year ago

Thanks again for sending this report to us.

Based on the stacktraces you provided, we came up with a fix to address this issue. We are internally testing this fix and will ship it to production after testing is complete.

I will send you an update here when we have shipped the fix. It would be great if you could install the update and report back if the issue continues.

levibostian commented 1 year ago

We have released version 3.1.4 of the React Native SDK that addresses these crashes. We recommend updating to this version and reporting stacktraces to us if you experience them again.

Note:: Be sure to run pod update --repo-update --project-directory=ios after npm install of installing the 3.1.4 release. You know that the update was successful if you see CustomerIOTracking = 2.7.5 in your ios/Podfile.lock file. Indicating the native SDK version has been upgraded.

levibostian commented 1 year ago

I'll close this issue since the issue has been addressed. Happy to reopen it if the issue still occurs.

levibostian commented 1 year ago

Version 3.1.4 of the React Native SDK contained a bug fix that addressed this issue. We were able to reproduce the crash and fixed it with the bug fix.

We discovered that React Native apps using 3.1.4 that is initializing the SDK twice in their app (once in App.js and once in AppDelegate) could put the SDK into a state where some events were ignored by the SDK. Therefore, we quickly rolled back 3.1.4 with a 3.1.5 release.

Therefore, I am re-opening this issue as the crash may still be present in 3.1.4 or 3.1.5 release. We have already begun on another solution for this crash and will release it as soon as we can. We will update this issue when it's released.

beqramo commented 1 year ago

Hi @levibostian, No update on this? as we are going to release a new app and I don't want even with an old one because of above bugs.

levibostian commented 1 year ago

Unfortunately, I am not able to provide a date for when to expect the next SDK release that contains this bug fix. Know that this is a high priority for our team and it's being worked on right now. After development and testing is complete, we will be releasing it to production immediately after.

I'll update this ticket when the SDK update is available in production.

I understand this could be inconvenient because you plan to release a new app. I have a temporary workaround to suggest that may work for you. Remove the CustomerIO.initialize() line of code in your iOS AppDelegate file. Or, if you followed our React Native SDK docs, it might be [pnHandlerObj initializeCioSdk]; line that you will want to remove. This line of code seems to be the code that's causing this bug to occur.

Note that if you do remove this line of code from your iOS AppDelegate, some features of the SDK may no longer work in the iOS platform app such as: opened push metrics or opening deep links when touching a push notification. I suggest testing a development build of your app before releasing to make sure all the features of Customer.io that you use today are working.

For push metrics, we do offer manual push metrics reporting if you want to add back the opened push metrics if you see they are not working after removing the AppDelegate code. As far as opening deep links when clicking on a push, that is a bit more complex as it requires parsing a push notification JSON payload that the iOS app receives. We do have documentation for the JSON payload that the Customer.io push notification editor generates that you can refer to and manually parse the deep link URL out of.

I hope that this is helpful for you. Have a great day!

beqramo commented 1 year ago

Okay thank you. will remove it for now as I prefer no crashes than that stats.

beqramo commented 1 year ago

@levibostian any update on this?

levibostian commented 1 year ago

Thanks for asking, @beqramo.

Unfortunately, I cannot share details on when to expect a fix to be shipped. This issue remains to be a priority for us.

We'll keep you updated on our progress. Thanks again for sharing this important issue and all of the details for it.

beqramo commented 10 months ago

@levibostian any update?

levibostian commented 10 months ago

We greatly appreciate your patience here, @beqramo.

Our team has continued to work on addressing this issue although I can understand that it has taken longer then originally expected.

As before, I cannot share details on when to expect a fix to be shipped. If I get an update on that I will share it in this issue.

Thanks again for the patience and the help on this.

levibostian commented 10 months ago

Sorry to cause confusion by closing this issue.

It has been addressed in the iOS SDK version 2.9.2. React Native SDK release is planned to be released soon.

levibostian commented 10 months ago

@beqramo, React Native SDK version 3.3.1 has been released which addresses this issue.

Thank you again for reporting this to us and working with us to get it released. We appreciate it!

beqramo commented 10 months ago

Thanks.