Tags: disini/computer
Tags
computer, rpc, computerd: harden JavaScript finalize and add command … …stdin Treat a JavaScript execution whose output stream closes without an exit frame as a failure rather than a silent exit 0 with no result: that state means a dropped frame write or a crashed isolate. Serialize the runner's frame writes on a chain the task awaits before closing, so a rejected write is caught instead of surfacing as an unhandled rejection. Thread standard input through the command path so container and worker shell backends receive it: the shell facade, the shell RPC contract and its server, the container runner spawn, and the worker shell entrypoint into just-bash. Reject structured input on the command path as well. Cover the new behavior: a no-exit-frame run settling as failed, stdin forwarded to command backends and to just-bash, stdin fed to a real spawned child, and structured input rejected on a command backend.
dofs: scope ls to its subtree and batch hasObjects and range reads Directory listing resolves the prefix to an inode and seeds its recursive walk there, so it visits only the listed subtree rather than the whole store. The prefix walk follows dirents structurally and does not resolve symlinks, so a symlink prefix lists nothing. The output is unchanged: the same absolute file paths in path order. The sync object probe matches the requested hashes against vfs_blobs through an IN (…) list on the raw hash blobs, so the lookup rides the primary-key index instead of scanning; a probe larger than the window splits into a few bounded index lookups. The present subset comes back in input order with duplicates preserved. A positional read fetches its overlapping chunks in one indexed range scan ordered by index instead of a lookup per chunk. Missing indices are absent from the result, so the assembly compacts around them just as the per-chunk walk did, and the blob byte cache is consulted in the same order.
PreviousNext