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

Please consider the packageName with Android apps #131

Closed
IzzySoft opened this issue Dec 8, 2024 · 8 comments
Closed

Please consider the packageName with Android apps #131

IzzySoft opened this issue Dec 8, 2024 · 8 comments

Comments

@IzzySoft
Copy link

IzzySoft commented Dec 8, 2024

First, this is a really good thing to have – thanks for creating and maintaining Repology! But when it comes to Android apps, results shown are misleading. Example:

image

Who has the newer version? Don't let the numbers fool you: those are 2 different apps just having the same display name. The 1.4 there was last updated 4 years ago – the 1.2.1 this year. So you compare apples with peaches here: axp.tool.apkextractor v1.4 with io.github.abdurazaaqmohammed.ApkExtractor 1.2.1 – two entirely different apps. Could you please at least make that more obvious, e.g. by showing the package names in the table?

Ideally, eliminate such "false hits" already when comparing. People who are not that tech savvy are misled to think IzzOnDroid does not update properly, thus serving outdated packages.

@AMDmi3
Copy link
Member

AMDmi3 commented Dec 9, 2024

Duplicate of repology/repology-updater#1453, and updater is not yet rewritten in Rust.

@AMDmi3 AMDmi3 closed this as not planned Won't fix, can't repro, duplicate, stale Dec 9, 2024
@IzzySoft
Copy link
Author

IzzySoft commented Dec 9, 2024

@AMDmi3 not really a duplicate. The other issue is about solving the underlying problem, which might take a little longer. This one here is asking to make this visible in the meantime by at least showing the apple and the peach (i.e. a "quick intermediate work-around"). Currently, Android repos "are blamed" without reason by stating they are not up-to-date while they are. Not all people are tech-savvy enough to spot the underlying problem.

So may i ask you to reconsider? This here is about showing the relevant detail in the web interface – the other is about fixing the updater.

@AMDmi3 AMDmi3 reopened this Dec 9, 2024
@Pandapip1
Copy link

Can I recommend that this be moved into repology-updater until repology-rs is the implementation used?

@Pandapip1
Copy link

Pandapip1 commented Dec 11, 2024

Anyway, the reason I chose the package name to be displayed is because that's what almost every other repository does, and package names are generally "nicer" than machine-readable package IDs.

That being said, Repology is a data gathering and presentation tool, and it does make sense for the data that's presented to be as accurate as possible. The app ID is already parsed so this would be a trivial change. If you feel comfortable touching that code, I'd be happy to review it.

https://github.com/repology/repology-updater/blob/45f51168d96ee1f69a4e7c297056a983341f6887/repology/parsers/parsers/fdroid.py#L33

@IzzySoft
Copy link
Author

Can I recommend that this be moved into repology-updater until repology-rs is the implementation used?

Or copied, so it's fixed in both, yes.

the reason I chose the package name to be displayed

Display is one thing (I filed a separate issue for that). Here the question is what you compare. So full ack with:

it does make sense for the data that's presented to be as accurate as possible

Which hits the mark of this issue here. Unfortunately, I lack the time¹ (and expertise) to dig into that myself or I had provided a PR instead; while I can read Python and fix trivial issues, here it would mean to dig into your data model first to understand what is what. For example, it seems that here the versions are compared, and a second condition a la and appId == upstream.appId should be inserted – but I neither know if the field is called appId nor if that is the flag – and somehow also doubt that would keep the apple-peach combinations out of the listings or just avoid the "outdated" problem…

¹ maintaining the IzzyOnDroid repo is almost a full-time job, but unpaid – the real full-time job is taking time, too

@AMDmi3
Copy link
Member

AMDmi3 commented Dec 11, 2024

Anyway, the reason I chose the package name to be displayed

Please don't mislead - you didn't make that choice as you're not the author of f-droid parser code.

But the reasoning is valid - the intention was to display human readable names to users, and I do not plan to change that.

The app ID is already parsed so this would be a trivial change. If you feel comfortable touching that code, I'd be happy to review it.

That's not the right place to change it, here's the one:

https://github.com/repology/repology-updater/blob/45f51168d96ee1f69a4e7c297056a983341f6887/repology/packagemaker/names.py#L415

For example, it seems that here the versions are compared, and a second condition a la and appId == upstream.appId should be inserted

Not correct either, that's how we pick latest version from multiple ones provided by the repository. Version comparison resides here.

However, let's discuss updater changes in repology/repology-updater#1453 as long as we have separate issue. This one is about changing display names to package ids, and I'm not going to do that as it doesn't fix the problem which is that unrelated projects are grouped together, and it breaks UX by using internal identifiers instead of display names.

@AMDmi3 AMDmi3 closed this as completed Dec 11, 2024
@IzzySoft
Copy link
Author

about changing display names to package ids, and I'm not going to do that as it doesn't fix the problem which is that unrelated projects are grouped together, and it breaks UX by using internal identifiers instead of display names.

I understand your concerns there, @AMDmi3 – but could at least a hint be included, to not mislead, so people are at least aware of those "mis-matches" until they are solved? Something like "please check the links to confirm it's the same app (and not another one by the same name)" could be included there; the link behind the Package Name included the AppId at least, so following it would make it clear if it's two different apps (well, so would showing the app author, but then we'd be back at the same point you want to avoid 🤷‍♂️).

@Pandapip1
Copy link

Pandapip1 commented Dec 11, 2024

Please don't mislead - you didn't make that choice as you're not the author of f-droid parser code.

I could have sworn I touched that bit of code and was the one that made that design decision. Sorry for misleading; it wasn't intentional!

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