Open RuiNtD opened 1 month ago
+1 on this issue, had it occur when updating IPTVnator.
Maybe if instead of globes, matching used regular expressions, we could then negate portions if required?
It's nowhere near as clean as the globes, but AppName-(.*)(?<!-arm64)\.AppImage
would match only "AppName-1.0.0.AppImage", and not "AppName-1.0.0-arm64.AppImage", where (.*)
would be our globe, and (?<!-arm64)
would be matching for the clashing terms we don't want, like a wrong architecture in this case.
I could then use IPTVnator-(.*)(?<!-arm64|-armv7l)\.AppImage
for example to avoid the ARM builds of IPTVnator.
I could then use
IPTVnator-(.*)(?<!-arm64|-armv7l)\.AppImage
for example to avoid the ARM builds of IPTVnator.
Hi guys, thanks for the suggestions . These regex work great, but they are a bit cumbersome, at least for the kind of simple user experience that I want to provide.
I'm currently exploring other options
I could then use
IPTVnator-(.*)(?<!-arm64|-armv7l)\.AppImage
for example to avoid the ARM builds of IPTVnator.Hi guys, thanks for the suggestions . These regex work great, but they are a bit cumbersome, at least for the kind of simple user experience that I want to provide.
I'm currently exploring other options
While I would appreciate it if regex could be used (given the control you can have), I think @mijorus POV is right. Regex can be daunting and would make the experience too much technical.
I think the best option would be to have a field called ignore, where you can put blacklisted strings. In this case, the user could type arm. These keywords would be used as statements to ignore the wildcard check.
I think the best option would be to have a field called ignore, where you can put blacklisted strings. In this case, the user could type arm. These keywords would be used as statements to ignore the wildcard check.
That's not so easy, is it? What if the app has "arm" in the name?
I should probably develop some "smart picker" which reads all the available files and picks the appropriate one based on the system architecture
While I would appreciate it if regex could be used (given the control you can have)
Regex does actually work at the moment, it's just not documented as an option 📝
I know it does. But it shouldn't 🤣
That's not so easy, is it? What if the app has "arm" in the name?
You're right. I was thinking for the validation to be done between the two wildcards, but there's no guarantee that the string won't appear before, or that the user will have two wildcards.
Hello. I've encountered an issue with the GitHub updater on a few repos that release their ARM AppImages with suffix, but their x64 AppImages without a suffix; similar to this:
This causes Gear Lever to both incorrectly assume there's an update and potentially download an AppImage for the wrong architecture. This occurs, for example, with Kopia:
I believe the best solution for this would be to first check for URLs where all wildcards (
*
) match:https://github.com/kopia/kopia/releases/download/v*/KopiaUI-*.AppImage
v0.17.0
(with av
) at time of posting*
matches0.17.0
(without thev
)https://github.com/.../v0.17.0/KopiaUI-0.17.0.AppImage
Or, if it doesn't find the file, it proceeds with the previous logic.