When clicking on a lightroom://plugin.identifier/link when lightroom classic is running, it will call the registered url handler of plugin.identifier. But when lightroom classic is not running and one clicks on the link, lightroom will start up, but not call the url handler.
How to reproduce:
Create a simple plugin:
Info.lua:
-- lightroom://com.example.urlhandler/test
return {
LrPluginName = "URL Handler",
VERSION = {
major = 1,
minor = 0,
revision = 0,
build = "1"
},
LrSdkVersion = 11.0,
platforms = {"Windows", "Mac"},
LrToolkitIdentifier = "com.example.urlhandler",
LrForceInitPlugin = true,
URLHandler = "URLHandler.lua"
}
URLHandler.lua:
local LrDialogs = import "LrDialogs"
return {
URLHandler = function(url)
LrDialogs.message("URL Handler", tostring(url), "info")
end
}
Make a simple index.html with
<a href="lightroom://com.example.urlhandler/test">test</a>
Open in a browser and click the link.
Results:
- if lightroom classic is currently running, it will call the plugin handler and correctly show
- if lightroom classic is not currently running, it will start lightroom classic correctly, but not call the url handler.
Tested on Windows and MacOS with lightroom versions from 11 - 13.