ImranR98 / Obtainium

Get Android app updates straight from the source.
https://obtainium.imranr.dev
GNU General Public License v3.0
5.79k stars 137 forks source link

Do not show the change date with some applications #1664

Closed Sami32 closed 2 weeks ago

Sami32 commented 2 weeks ago

Do not show the application change date with some of the non installed in track-only mode and one installed manually.

To Reproduce

  1. Open Obtainium and leave it auto-update Apps
  2. Look at the displayed applications informations
  3. Some non installed applications (Kiwi browser, aTalk) in track-only mode will miss their change date information

Screenshots and Logs IMG_20240610_122439

Please complete the following information:

Additional context Kiwi browser (not installed, Track-only mode) & SMSsecure (Installed manually, updated) https://github.com/kiwibrowser/src.next/releases https://f-droid.org/packages/org.smssecure.smssecure/

Sami32 commented 2 weeks ago

When the releases page is empty Obtainium doesn't provide any date change information.

My suggestion is that in such cases where we track-only some applications, the Tags page date information should be used as a fallback:

https://codeberg.org/iNPUTmice/Conversations/tags https://github.com/cmeng-git/atalk-android/tags https://git.silence.dev/Silence/Silence-Android/-/tags

ImranR98 commented 2 weeks ago

For GitHub I'm not sure where the dates on the tags page come from, but they're not available in the API request. For example: https://api.github.com/repos/ImranR98/Obtainium/tags

Codeberg on the other hand does provide a date, for example: https://codeberg.org/api/v1/repos/iNPUTmice/Conversations/tags Same goes for GitLab: https://gitlab.com/api/v4/projects/AuroraOSS%2FAuroraStore/repository/tags So I'll add those in the next release.

ImranR98 commented 2 weeks ago

https://github.com/ImranR98/Obtainium/releases/tag/v1.1.11

Sami32 commented 1 week ago

Nice, thanks.

But your code still fail to pick the date at GitHub release with the above mentioned repo: https://api.github.com/repos/kiwibrowser/src.next/releases

About GitHub Tags it can be got from their commit: https://api.github.com/repos/ImranR98/Obtainium/commits/06cbe74c6c6518c556b2c7e04ffd9c44f29236fe

Or with TAG_COMMIT_DATE from the GitHub GraphQL API v4: https://docs.github.com/en/graphql

Edit: Their API v1 used to provide tags date.

ImranR98 commented 1 week ago

It's not practical to make a separate API request for each tag to get its release date from the commit API. We would need one API endpoint that returns all the tags plus their release dates, like in the codeberg example.

Sami32 commented 1 week ago

I agree, GitHub should have cared more for their API tags...but we've to deal with it, sadly:

https://pub.dev/packages/graphql#query https://github.com/juancastillo0/leto

https://github.com/orgs/community/discussions/37203