Skip to content

[Question] Code-Push version for both iOS and Android #459

@LuisRizo

Description

@LuisRizo

OS:

  • Windows
  • MacOS
  • Linux

Platform:

  • iOS
  • Android

Output of node -v && npm -v && npm ls --prod --depth=0

v8.9.4
6.1.0
/Users/luis
└── (empty)

Config:

Sentry.config('https://...@sentry.io/...', {
....
}).install()

I have following issue:

My app has different CodePush releases on Android and on iOS. iOS is ahead by 12 code-push releases. So Android has a label of v2.1.10-codepush:v23 and iOS has v2.1.10-codepush:v35. My question is related to how to handle two different code-push labels for iOS and Android as I have a feeling that Sentry is not separating iOS vs Android when I upload a new source map.

In fact, it causes things like these to happen:
screen shot 2018-08-07 at 10 53 45 am

In the screenshot above, the last release was made using the Android Code-Push project, and the second one using iOS.

Steps to reproduce:

  • Create both iOS and Android Code-Push projects
  • Make a couple more deployments on one of the platforms during development
  • Once the app is stable, code-pushes are done simultaneously (iOS and then Android)
  • Upload the source map as explained here: https://docs.sentry.io/clients/react-native/codepush/

Actual result:

  • Versions are just strings and they don't know the difference between iOS and Android.

Expected result:

  • The versions are separated by a specific platform.

Imagine the following:
iOS Code-Push is version v30, and it's uploaded to Sentry, while Android has a code-push label of v29. On the next code-push patch, Android turns v30 and iOS v31. This means that if users on iOS don't immediately update the app, their code-push version is still v30 but if their app crashes, the source map will be linked to the new javascript, which is the equivalent of v31 on iOS. This would possibly make the stack-trace useless or broken.

Any thoughts? Should I just try to have iOS and Android on the same version number to prevent this problem?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions