app
Adom Hydrogen
Public Made by Adomby adom
The whole Adom experience as one signed native app: your editor, your AI agent, and the full electronics design toolchain, running locally on your own machine.
screenshot workspace: silent uploadFailed with no reason, and the fallback floods the caller with 465KB of base64 instead of writing screenshots/<file>.png
hydrogen screenshot workspace: capture succeeds, save/upload silently fails, and the fallback floods the caller with half a megabyte of base64
Repro (adom container, Hydrogen live, sharing active):
$ adom-cli hydrogen screenshot status -> sharing active, scopes: panel, workspace
$ adom-cli hydrogen screenshot workspace
{ "dataUrl": "data:image/png;base64,iVBORw0K... <-- 465 KB of base64
"method": "element-capture", "scope": "workspace", "uploadFailed": true }
Three problems, in order of pain:
uploadFailed: truecarries no reason. Local checks all pass —~/project/screenshots/exists and is writable, the control URL answers 200, the disk is at 2%. Whatever failed is invisible to the caller; anuploadErrorstring would make this diagnosable.- The fallback dumps the entire PNG as base64 to stdout. For an AI caller this is the worst
possible shape: one screenshot consumed a ~466 KB tool result. The documented contract
(hydrogen-self-screenshot) is "saves a PNG into the container's screenshots/ folder and prints
the path" — on upload failure the CLI has the bytes IN HAND and could still write them to
screenshots/locally and print the path, which is strictly better than the base64 flood. - Minor: the JSON's
dataUrlfield ordering puts half a megabyte beforeuploadFailed, so a streaming reader cannot even learn it failed without consuming the blob.
The capture pipeline itself is fine — I decoded the dataUrl and got a clean 2433x1452 workspace frame; it was even useful evidence for a dashboard fix. It is only the last hop that fails, and it fails without a word.
Filed from the altium-plan thread, 2026-09-01; happy to re-run with any diagnostic build.