exodus icon indicating copy to clipboard operation
exodus copied to clipboard

F-Droid scan use beta versions of apps before stable versions

Open ghost opened this issue 5 years ago • 6 comments

When scanning an app from F-Droid, Exodus download the latest version of the app but this version can be a pre-version that is not downloaded and used by default on Smartphones.

For example, the app "andOTP" has latest version "0.8.0-beta2" but latest stable (and downloaded by F-Droid by default) version is "0.7.1.1". Note that the latest stable version has a "suggested" flag.

I think that to solve this problem, we should either propose two scan channels (one for stable versions and one for beta), or make Exodus scan the stable versions first.

ghost avatar Oct 22 '20 16:10 ghost

Interesting issue, thanks @eliottlv for reporting it!

I'll try to take a look when I find the time, if no one does it before :)

pnu-s avatar Oct 22 '20 18:10 pnu-s

Clearly, we want to analyse the stable version in my opinion. However, I did not work on the F-Droid code and I'm way too depressed to give it a try for now I think.

Gu1nness avatar Oct 23 '20 08:10 Gu1nness

I've tried to find how to use stable versions first and I found that in the F-Droid index (https://f-droid.org/repo/index.xml) there is an XML tag <marketversion>0.7.1.1</marketversion> that points to the latest stable version of an app (here andOTP). I think that we can update the XML parser to get these tags.

qbe4 avatar Oct 23 '20 09:10 qbe4

Ok I took a deeper look at this issue.

That's an interesting topic.

The marketversion tag seems to be useful to know which version is "suggested" on the F-Droid application profile page. This being said, if we change our code, then exodus won't be able to scan the latest version(s) (in your example the "beta" versions) although there are available for people to download.

So I'm not convinced this is a change we want to do.

Note also that in some cases the marketversion tag is empty (for instance for https://f-droid.org/packages/eu.bubu1.fdroidclassic/). I'm guessing that's when there is only one version but I didn't dig more into this.

pnu-s avatar Oct 24 '20 07:10 pnu-s

I think that to allow peoples to download the latest stable or any of the beta versions, we can make Exodus propose a list of available versions to be scanned (with info on which versions are already scanned) when entering a package name. That way, there will be no "unscanable" versions.

Or else, to solve definitively the problem, when scanning an app from F-Droid, we can make Exodus search for the last 5 available versions (for example) of the app and scan each of them if they are not already scanned. That way, for the next versions there will be a maximum of 2 versions (one beta and one stable) to be scanned.

qbe4 avatar Oct 24 '20 08:10 qbe4

Both options would require a significant rework of the way the platform is dealing with downloading applications

To be totally honest, I'm not sure we will be able to find the time to make such changes, at least in short/middle term

pnu-s avatar Oct 24 '20 08:10 pnu-s