diff --git a/lib/grover/js/processor.cjs b/lib/grover/js/processor.cjs index d549e57..8806021 100644 --- a/lib/grover/js/processor.cjs +++ b/lib/grover/js/processor.cjs @@ -110,6 +110,12 @@ const _processPage = (async (convertAction, uriOrHtml, options) => { launchParams.timeout = launchTimeout; } + // Set protocol timeout if given (controls CDP message round-trip timeout) + const protocolTimeout = options.protocolTimeout; delete options.protocolTimeout; + if (protocolTimeout !== undefined) { + launchParams.protocolTimeout = protocolTimeout; + } + // Launch the browser and create a page browser = await puppeteer.launch(launchParams); } diff --git a/lib/grover/options_fixer.rb b/lib/grover/options_fixer.rb index 4e66a1e..0f8b7c3 100644 --- a/lib/grover/options_fixer.rb +++ b/lib/grover/options_fixer.rb @@ -46,7 +46,7 @@ def fix_boolean_options! def fix_integer_options! fix_options!( 'viewport.height', 'viewport.width', - 'timeout', 'launch_timeout', 'request_timeout', 'convert_timeout', 'wait_for_timeout', + 'timeout', 'launch_timeout', 'protocol_timeout', 'request_timeout', 'convert_timeout', 'wait_for_timeout', &:to_i ) end