Closed simonsickle closed 2 years ago
Thanks for sharing this, @simonsickle . Your explanation makes sense and it's not uncommon to use custom version naming schemes with Apptentive, though we have not had reports of this causing issues.
A few questions to help us track this down:
Thanks again!
Currently, we see this in 5.5.3 but we have had to fork the library from master as we had a critical android 11 blocker (see the PR I created for this).
I believe this exact crash may be from the library version which didn't get set at first when we forked the library.
I'm not totally sure where this would be used as the upgrade dialogs appear to be based off of the versionCode instead.
We have the same issue when the version name contains characters, the Apptentive sdk crash
Hi @simonsickle and @haddaj . I apologize for the issue. Would you mind reaching out to support@apptentive.com with your report? That will help us keep your CSM updated on the issue so they can see it through.
Thank you! We appreciate the reports.
We ran into the same issue. Our app version names are configured based on the product flavour like "1.1.0", "1.1.0-staging", etc.
Currently seeing this issue with v5.6.1 This was working fine while using previous version of the SDK with similar versioning schemes. Not sure from which version of the SDK this was noticed.
Hi @suraj-raj-pi, thank you for reporting this issue. Can you reach out to support@apptentive.com with more details of when the crash occurs, and logs if possible? Also, what version names have you seen this crash occur with so far?
We've continued to dig into this issue. We're unable to repro it, though we have an idea of what may be the root cause.
Is this issue impacting any apps in production right now, or is it only impacting dev builds? If this is impacting prod builds, can you reach out to support@apptentive.com with details on which app you're working on, that way we can help remediate it as soon as possible?
Thanks again for the reports.
Our production builds versionName follows the format - “8.0.0” , “10.1.0”, etc. so there is no impact there. It is with our dev builds and internal test builds which follows the format – “8.0.0 –local-build”, “10.1.0 -staging”, etc. that is currently impacted.
More info on how to reproduce :
android { ... defaultConfig { ... versionName "1.1-demo" }
Thanks, Suraj
Hello, our team uses a simple symver to determine what our version, avoiding headaches of trying to figure out which build is being used. The format we use is
X.Y.Z-V
where X is the major, Y is the minor, Z is the patch, and V is the version code of the APK.Expected
As a consumer of this library, I should be able to use a valid symver for the version number without causing a crash. Furthermore, any string is valid for versionName - this field should not be used in a way that is unsafe with that in mind. Please refer to symver docs and google docs on versionName
Excerpt From Version Docs
Actual
Because of this version, the following exception is throw at runtime. This is because the symver check being done by apptentive doesn't account for the valid symver format.
Crash Log