Hey! On macOS/Linux, start.js fails to properly capture the url local variable, and as a result:
- No "Open Web UI" button after launching
- Does not show up on the new Pinokio Remote list (Pinokio remote displays apps that have the
url variable set)
Problem
The reason is: Pinokio clears input when skipping a step, so after step 0, so the final local.set loses the capture and local.url never gets set.
Solution
The solution is simple. Just adding next: 2 to step 0 (seen on line 11 below) jumps directly to step 2 where it says local.set, preserving the URL. Here’s the full replacement start.js:
module.exports = {
requires: {
bundle: "ai"
},
daemon: true,
run: [
// {{cwd}} is the launcher root; $PWD does not expand in cmd.exe (Windows default shell).
{
when: "{{platform !== 'win32'}}",
method: "shell.run",
next: 2,
params: {
venv: "env",
path: "app",
env: {
YUE2_GROOVE_VIEW: "song",
YUE2_GROOVE_HOST: "127.0.0.1",
// Use the SheetSage2 snapshot Install put in app/models (YuE2 stays in the HF cache).
YUE2_GROOVE_MODELS: "{{path.resolve(cwd, 'app', 'models')}}"
},
message: "python -c \"from pathlib import Path; import gradio; p=Path(gradio.__file__).parent/'templates'/'frontend'/'index.html'; assert p.is_file(), p\" && python -m yue2_groove --host 127.0.0.1 --port {{port}} --no-preload --sheetsage-python \"{{path.resolve(cwd, 'app', '.venv-sheetsage2', 'bin', 'python')}}\"",
on: [
{
event: "/(http:\\/\\/(?:127\\.0\\.0\\.1|localhost):\\d+)/",
done: true
}
]
}
},
{
when: "{{platform === 'win32'}}",
method: "shell.run",
params: {
venv: "env",
path: "app",
env: {
YUE2_GROOVE_VIEW: "song",
YUE2_GROOVE_HOST: "127.0.0.1",
// Use the SheetSage2 snapshot Install put in app/models (YuE2 stays in the HF cache).
YUE2_GROOVE_MODELS: "{{path.resolve(cwd, 'app', 'models')}}"
},
message: "python -c \"from pathlib import Path; import gradio; p=Path(gradio.__file__).parent/'templates'/'frontend'/'index.html'; assert p.is_file(), p\" && python -m yue2_groove --host 127.0.0.1 --port {{port}} --no-preload --sheetsage-python \"{{path.resolve(cwd, 'app', '.venv-sheetsage2', 'Scripts', 'python.exe')}}\"",
on: [
{
event: "/(http:\\/\\/(?:127\\.0\\.0\\.1|localhost):\\d+)/",
done: true
}
]
}
},
{
when: "{{Boolean(input && input.event && input.event[1])}}",
method: "local.set",
params: {
url: "{{input.event[1]}}"
}
}
]
}
Hey! On macOS/Linux,
start.jsfails to properly capture the url local variable, and as a result:urlvariable set)Problem
The reason is: Pinokio clears
inputwhen skipping a step, so after step 0, so the finallocal.setloses the capture andlocal.urlnever gets set.Solution
The solution is simple. Just adding
next: 2to step 0 (seen on line 11 below) jumps directly to step 2 where it sayslocal.set, preserving the URL. Here’s the full replacementstart.js: