darktable-org / lua-scripts

155 stars 110 forks source link

branch scripts per major.minor release of darktable #483

Closed darix closed 3 months ago

darix commented 3 months ago

This is a suggestion based on https://discuss.pixls.us/t/failed-installation-of-scripts-lua-api-version-9-3-or-higher-required/44025

It would make it more userfriendly and not require non technical users to fiddle with git and the cmdline to get the correct lua API branch. and the scripts manager could checkout the correct branch for the current darktable version automatically.

darix commented 3 months ago

alternatively it should checkout the correct branch for the current lua API version.

wpferguson commented 3 months ago

script_manager has been doing that for the last 3 years :smile:

The issue above is an edge case caused by the scripts_installer in the darktable luarc file not being API aware and the script_manager minimum API requirement changing. scripts_installer always clones master. script_manager checks the darktable API when it starts and checks out the appropriate API if necessary. When I bumped the minimum API for script_manager, it couldn't start and "fix" the problem.

The solution is to make scripts_installer API aware so that the correct API version of scripts is available when darktable starts.

darix commented 3 months ago

as I said I dont care how you fix it. the current situation seems to be less userfriendly than it could be.

darix commented 3 months ago

so if the user reruns the script manager it would now work out of the box or do we need another DT release?

wpferguson commented 3 months ago

If the user is currently experiencing the problem then they go into the lua directory and do a git pull to get the fixed version of script_manager, or just delete the lua directory and have scripts_installer reinstall the scripts.

If a user installs darktable 4.6.1 or earlier then installing the scripts will pull the latest.

When darktable starts, script_manager will check out the correct branch and then display a message that the user needs to restart darktable.

darktable 4.8.0 will work without problems.