Closed FOSSProponent9436 closed 1 year ago
The fshack build does indeed not exist for Lutris-Wine 7.2.2. It seems ProtonUp-Qt always assumes there is an fshack build available, as when building the version list it doesn't actually check for an fshack build but instead just adds the regular builds based on the release tags and then adds an fshack build:
I imagine it's done this way because fshack builds are just listed as separate release assets and they are not separate tagged releases, so ProtonUp-Qt just assumes there will always be an accompanying fshack build.
This seems tricky. Fixing this cleanly might require actually checking the release assets, which would be a bit of a pain when it comes to api calls...
Even so, it shouldn't get stuck at 99% when trying to install it.
When a build doesn't exist or can't be found, I guess in general ProtonUp-Qt should return an error. Cases like this one shouldn't happen in the first place, but having better catches in place for this is not a bad idea.
The fshack build does indeed not exist for Lutris-Wine 7.2.2. It seems ProtonUp-Qt always assumes there is an fshack build available, as when building the version list it doesn't actually check for an fshack build but instead just adds the regular builds based on the release tags and then adds an fshack build:
I imagine it's done this way because fshack builds are just listed as separate release assets and they are not separate tagged releases, so ProtonUp-Qt just assumes there will always be an accompanying fshack build.
This seems tricky. Fixing this cleanly might require actually checking the release assets, which would be a bit of a pain when it comes to api calls...
Even so, it shouldn't get stuck at 99% when trying to install it.
When a build doesn't exist or can't be found, I guess in general ProtonUp-Qt should return an error. Cases like this one shouldn't happen in the first place, but having better catches in place for this is not a bad idea.
What if you used a hack like only listing fshack if version is less than 7.2-2? would that be possible
It would, but as you mentioned, it's a hack. Ideally we'd want a more robust way to check this - Possibly by checking the release assets.
It would probably also be a good idea for us to not download builds that don't exist (maybe this comes back from some response with a 404 or something?) and at least log that the build didn't exist. Better handling of this kind of issue would feed in a little bit to the discussion in #247.
Actually, I just tested on v2.8.0 Flatpak and on latest main
and ProtonUp-Qt seems to download the regular Lutris-Wine 7.2-2 build and correctly extracts it for me. Maybe however it gets the release from __fetch_github_data
is "handling" this. I noticed because I checked what rs.get
was returning for the fshack download, and it was returning a 200
response. The archive downloaded to /tmp/pupgui2.<blah>
is wine-lutris-7.2-2-x86_64.tar.xz
.
I have not yet tried the AppImage, perhaps for some reason this issue is exclusive to the AppImage but I am unsure.
So the priority to resolve this would be to ensure we don't list builds that don't actually exist in the first place.
Our release
dictionary does have assets
tied to it, which we can check the name
key of to see if it has -fshack
. Investigating a solution.
Got a PR up to fix this issue mostly. It doesn't fix the extraction getting stuck at 99% (I couldn't replicate that problem, sorry) but it should fix the invalid 7.2-2 fshack build showing up, and should also fix the issue for any future Lutris-Wine builds, such as a build based on Wine 8 which would presumably not include an fshack build since it can be toggled now with an environment variable.
The two lutris wine variants have been replaced with one: https://github.com/lutris/wine/releases/tag/lutris-wine-7.2-2
Interesting...
What if you used a hack like only listing fshack if version is less than 7.2-2?
That seems like the simplest solution. I don't think all versions follow the same scheme though, e.g. lutris-ge-lol-6.16-4
Ideally we'd want a more robust way to check this - Possibly by checking the release assets.
Yeah, that would be the best. I wonder how many API calls that would be for every version in the list.
There are two additional alternatives I could think of:
Still, it seems like just checking if the release is newer than version 7.2-2 / date x.y.z might be the easiest.
Describe the bug
The two lutris wine variants have been replaced with one: https://github.com/lutris/wine/releases/tag/lutris-wine-7.2-2
Yet lutris-fshack-wine-7.2-2 is still in proton up qt even though it doesn't exist to my knowledge (but doesn't install successfully).
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Lutris Fshack v7.2-2 should not be listed because it does not exist to my knowledge. Even so, it shouldn't get stuck at 99% when trying to install it.
Screenshots
![Lutris FSHack](https://github.com/DavidoTek/ProtonUp-Qt/assets/134936999/82c365a6-1c1a-4a35-be68-8ccf2c6d3584)
Desktop (please complete the following information):
Additional context
Terminal output
Nothing additional outputs when attempting to install, even when it is stuck at 99%