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

[Issue] Obtainium keeps on showing update icon inspite of updating the app #404

Closed
zoroya1 opened this issue Mar 31, 2023 · 5 comments
Closed

Comments

@zoroya1
Copy link

zoroya1 commented Mar 31, 2023

There is this app :

https://github.com/Lijukay/Qwotable

When i add it into obtainium repo, it shows updates and i can update it but still it shows same update with icon, changing version detection can fix this but want to know if there is issue on app side or obtainium side.
TIA...

Here is some more info :

Lijucay/Qwotable#24

@ImranR98
Copy link
Owner

The "version" (tag) extracted from GitHub is often different from the actual version the App reports when installed. Obtainium tries its best to match the two based on some "standard format" like 1.0.0 or 2023.03 or v3-alpha2, etc. If it succeeds, it can compare the two versions based on the "standard format" they have in common, and use the result to decide whether or not there is an update.

In the case of Qwotable, GitHub reports version v10 while the App itself simply says version 1 (you can confirm this in the App's settings as well as its page in Obtainium). Obtainium finds that they both match the same format (a single number with no dots - the v is ignored). Under that format, the numbers are different (10 vs 1) so it thinks that you have version 1 and that an update to version v10 is available.

Most of the time, Apps with weird versioning schemes will not have a "standard format" in common between the "real" and "reported" versions, so Obtainium will automatically switch off version detection. From the user's point of view, things will work fine (except of course without having the benefit of version detection - namely that external changes to the App's version will not be picked up by Obtainium).

Hopefully I've explained it okay. Unfortunately Qwotable is one of those edge cases where the versions don't match but have the same "standard format". You'll just have to disable version detection manually as I don't see a way to support these kinds of edge cases without breaking version detection for other Apps.

@ImranR98
Copy link
Owner

ImranR98 commented Mar 31, 2023

For future reference:

@zoroya1
Copy link
Author

zoroya1 commented Mar 31, 2023

Thank you for concise information, i will make it to disable version detection, if i do that does that mean any new release will not be notified ?
What will happen if i choose use release date as version?
You are right , for one or two apps like this all other apps should not be made to suffer...
Thanks for help and awesome app 😃

@ImranR98
Copy link
Owner

ImranR98 commented Mar 31, 2023

Version detection simply means Obtainium will keep track of changes to the App's version that happen externally.

Let's say you install v1.1 of an App with Obtainium. Then you install v1.2 in some other way (for example, the Play Store). If version detection is enabled, Obtainium will see that the version has changed and modify it's own data accordingly. Otherwise, it will see that there's a version mismatch and mistakenly think there is an update available from GitHub.

So as long as you exclusively use Obtainium to install/update Qwotable, everything should be fine.

The "release date as version" option simply uses the App's release date from GitHub as the version from source. Obviously version detection is also disabled here, everything else works the same. I've never used this option myself, but someone had asked for it (don't remember why) so it's there. Now that you mention it, I'll go look for the reason and may remove this option in the future if it turns out the reasoning is outdated and it's no longer needed (may have been a workaround for some other issue).

Edit: I remember now. Using release dates as versions is useful when developers don't use tags to actually tag releases (unique tag per release), and instead keep re-using the same tag. For example, I forget which app it was had a single latest tag which would be deleted and recreated every time. This makes the tag useless as a version indicator so the release date is used as a (bad but better than nothing) alternative.

@Lijucay
Copy link

Lijucay commented Apr 8, 2023

Unfortunately, I have chosen versionCode to be my tag.

I understand, that this leads to issues but I can't change the pattern without consequences. Qwotable will stay an edge case then probably except I find a way to also solve this issue.

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

3 participants