Open probonopd opened 7 years ago
I don't think that this is really useful to anyone. A simple download link to the latest version should work fine (which we got when there's AppImageUpdate support), following the snappy pragma "versions mean nothing, they're just tags".
Correct. But where do we get the information about what is the "latest version" from? Right, the GitHub API. And directly from there to the client, without a roundtrip over our repository.
What I meant is, the "version" value (e.g. "the latest version is 1.0.1 released 2017-8-9"), doesn't really add anything to the page. Some information, like "the AppImage was last updated at HEAD
request to the actual download URL and evaluating the Last-Modified
header, which is provided by most web servers (works even for GitHub releases, I just checked that). You don't need to implement any kind of special API for this to work, even VanillaJS can do it.
That said, for either approach, there's some privacy related problems. Whenever visiting an application page on AppImageHub, the browser would "call home" by making a request to whatever server the AppImage is hosted on. For the same reason, I'm not very fond of embedding <img>
tags pointing to the screenshot URLs in the AppStream files, and like the "make my own screenshot" approach you implemented so far, whose primary intention is to make sure that the screenshots aren't outdated or differ from reality in any other way, but also improve the privacy.
AppImageHub is a repository of AppImages available on the net, but we don't want to keep track of each version released. It is a vital part of the AppImage philosophy that there should be no intermediaries between application authors and users, and in the very same second a releases is made available, it should be "there" for download for users. Hence, for AppImages made available on GitHub Releases, we could use the GitHub API on the client side to get the latest AppImage.
Something along the lines of https://stackoverflow.com/questions/24987542/
TODO: Iterate through all AppImages that may be in the latest release and return the download link for the one matching the architecture the browser is running.
Help from JavaScript wizards highly appreciated.