F-Droid scan use beta versions of apps before stable versions
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.
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 :)
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.
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.
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.
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.
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