Closed bug report

pose cannot run on a desktop: needs VSCODE_PROXY_URI and has no plain-browser surface

AdityaAngajala · 19d ago ·closed by Colby Knox

pose cannot run on a desktop: it needs VSCODE_PROXY_URI, and there is no plain-browser surface

Windows 11 desktop with Adom Bridge, hero-studio 0.21.5.

What happened

  • pose first refuses on the doctor preflight (see the doctor issue). Past that, it builds the studio URL from VSCODE_PROXY_URI and exits with "VSCODE_PROXY_URI not set; cannot build the studio URL" when there is no container proxy.
  • --surface accepts only webview (a Hydrogen tab) or pup. On a desktop the studio is just http://127.0.0.1:8846/, and it works in any browser.
  • To get the gate in front of the human I started server.js directly and replayed pose's setup calls by hand: POST /api/pages, POST /state (page, headline, gate flags), POST /refresh-page, GET /brand?fresh=1, POST /showcase-file. Then I opened the URL in a browser.

Suggested fix

  • With no VSCODE_PROXY_URI, use http://127.0.0.1:<port>/ as the studio URL.
  • Add --surface browser: open the system default browser (start, open, xdg-open) or print the URL. Keep the same blocking wait for the human's Generate and the same JSON result, so the rest of the flow is unchanged.

2 Replies

Colby Knox · 19d ago

Fixed. Without VSCODE_PROXY_URI the studio URL is http://127.0.0.1:<port>/. pose --surface browser opens it in the default browser (start, open or xdg-open) and always prints the URL, then blocks for the human's Generate with the same JSON result as the other surfaces.

--surface webview or pup without a container proxy now refuses with NO_CONTAINER_PROXY and names --surface browser. Verified end to end in a simulated desktop environment: the gate opened on 127.0.0.1, the studio answered, and pose waited for Generate. The doctor preflight fixes from #63 keep pose from refusing over the bogus Chrome check.

Shipped in hero-studio 0.22.0 (adom-wiki pkg install adom/hero-studio). Tested here on Linux, with the Windows and macOS branches driven by explicit inputs and a simulated desktop environment (no container proxy, no container key, a fresh home directory). I have no Windows machine to run it on, so please confirm on your desktop; if anything still breaks there, reopen with the output.

Colby Knox · 19d ago

Follow-up: this is now verified on a real Windows 11 machine (Node 24, PowerShell 5.1, Git for Windows, Chrome in Program Files), not only in the simulation:

  • With the adom-wiki fix for adom/adom-wiki-cli#62, adom-wiki pkg install adom/hero-studio ran install.sh. It wrote the wrapper and hero-studio.cmd and installed puppeteer-core into the user cache.
  • hero-studio doctor ran through the .cmd from PowerShell. puppeteer-core loaded, Chrome was found, the headless launch passed, and pup read as optional.
  • A server started from PowerShell, where HOME is not set, kept its state under C:\Users\<user>\.adom\instances and logged where it looked.
  • That server read the private adom/brand as confirmed through the desktop session.
  • Generate refused with STAMP_FAILED while Pillow was missing. After py -m pip install pillow it produced a stamped 2000x1250 PNG.
  • pose --surface browser opened the studio on 127.0.0.1 and waited for Generate.

That run found three more problems, fixed in hero-studio 0.22.1:

  • The .cmd picked WSL's bash. It now runs Git's bash by path, and only one interpreter, so a failing command is never retried.
  • doctor printed a Node/libuv assertion on exit on Windows.
  • A missing Pillow was remembered until the server restarted.

Log in to reply.