Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
3 of 5 tasks
LuisRizo opened this issue Aug 7, 2018 · 5 comments
Closed
3 of 5 tasks

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

LuisRizo opened this issue Aug 7, 2018 · 5 comments
Assignees

Comments

@LuisRizo
Copy link

LuisRizo commented Aug 7, 2018

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?

@HazAT
Copy link
Member

HazAT commented Aug 8, 2018

Hey, so I think this is only an ui problem.
If you click on each release, check the url it should show the full release name.
We only show the truncated one in the UI.

Can you confirm this?
If not, please send a link to your account so I can take a look at it.

@HazAT HazAT self-assigned this Aug 8, 2018
@LuisRizo
Copy link
Author

LuisRizo commented Aug 8, 2018

Hello @HazAT, since both the Android app and iOS app have the same bundle ID, they have the same URL, only difference is, again, the code-push release version. Here's my Sentry Project's URL

@LuisRizo
Copy link
Author

LuisRizo commented Aug 8, 2018

I also have issues getting my Code-Push source maps to get linked to their appropriate release, but that might deserve a new issue.

@HazAT
Copy link
Member

HazAT commented Aug 9, 2018

OK, I see.
It shouldn't matter if the bundleID are the same as long as the artifacts you upload (sourcemaps) have a different name.

@LuisRizo
Copy link
Author

LuisRizo commented Aug 9, 2018

According to the outputs of the code-push cli, the sourmaps are called:

  • Android: ... --platform android --sourcemap-output build/CodePush/index.android.bundle.map
  • iOS: ... --platform ios --sourcemap-output build/CodePush/main.jsbundle.map

If that is what you meant, then yes, I'm uploading them separately. Closing this issue as I trust your word :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants