mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-10-30 09:16:55 +00:00
* feat(cli): capture accepts a local HTML file again Adds an explicit --local-file mode. The file's directory (or --local-root) is served on a loopback port that only Chrome may reach outside the capture proxy; all other traffic keeps the public-address policy. The URL argument stays public HTTP(S) only. * fix(cli): local capture output names the file, not the loopback server In --local-file mode, meta.json, AGENTS.md, extracted files and the returned result used the temporary 127.0.0.1 origin. One rewriter maps that origin to file:// URLs under the root, and meta.json records the file as its source. Root and served paths now resolve with the same native realpath, which Windows needs. * fix(cli): local capture reads its files from disk and resolves real paths natively The asset downloader read the local page server with Node's fetch, which an environment proxy (NODE_USE_ENV_PROXY with HTTP_PROXY) intercepts, so local images and fonts were dropped. It now reads the file from disk under the server's own checks. Root and served paths both use the native realpath. The JS realpath kept Windows 8.3 short names while fs/promises expanded them, so every file answered 404 on Windows. The default root is the directory the file was named in, so a symlinked entry can no longer widen it to wherever the link points. The local-file docs move below the capture policy text so their heading does not swallow it. * refactor(cli): capture settles a watchdog outcome in one place * fix(cli): escape every RegExp metacharacter in the local origin rewriter --------- Co-authored-by: Jerrai <jerrai@heygen.com>