Files
hyperframes/packages
Miguel Ángel a9482ed801 fix(engine): disable browser pool for parallel capture workers (#1087)
* fix(engine): disable browser pool for parallel capture in BeginFrame mode

BeginFrame's compositor is process-global — when multiple pages in the
same Chrome instance drive HeadlessExperimental.beginFrame concurrently,
they race the compositor and crash with "Protocol error: Target closed".

Only disable the pool when BeginFrame mode would actually be active
(Linux + headless-shell + not forceScreenshot). Screenshot mode
(macOS/Windows) is unaffected and keeps the pool for memory efficiency.

Also extracts the frame capture loop into captureFrameRange to reduce
function complexity in executeWorkerTask.

* fix(engine): include supersampling in BeginFrame-mode predicate

Match the full capture-mode predicate from createCaptureSession:
DPR > 1 (supersampling) forces screenshot mode, which is pool-safe.
Without this check, supersampled parallel renders on Linux would
unnecessarily launch separate browsers.
2026-05-26 20:24:21 -04:00
..
2026-05-25 23:49:33 +00:00
2026-05-25 23:49:33 +00:00
2026-05-25 23:49:33 +00:00
2026-05-25 23:49:33 +00:00