Summary
Currently, choreographer does not provide a way to pass the --disable-extensions flag to the browser. I would like to propose adding support for an enable_extensions: bool (True by default) option to the browser launch configuration to allow users to disable extensions when they are not needed.
Motivation
- Performance & Stability: For automated tasks and image exporting (the core heritage from
plotly/Kaleido), browser extensions are rarely required. Disabling unnecessary extensions reduces startup latency, saves memory, and eliminates potential side effects, leading to a more stable execution.
- Environment Isolation: In some environments (such as corporate setups with group policies), certain extensions are forcefully enabled by default. These extensions can sometimes interfere with
choreographer's internal browser manipulation. Providing a way to run in a clean, isolated environment ensures robustness across different machines.
Actually, I have encountered this problem due to environment-dependent interferences and verified that hardcoding --disable-extensions completely resolves the issue.
Proposed Changes
To maintain backward compatibility, the option will default to True.
- Add support for
enable_extensions: bool (True by default) to the browser launch arguments.
- Append
--disable-extensions to the browser arguments when enable_extensions=False is explicitly passed.
Summary
Currently,
choreographerdoes not provide a way to pass the--disable-extensionsflag to the browser. I would like to propose adding support for anenable_extensions: bool (True by default)option to the browser launch configuration to allow users to disable extensions when they are not needed.Motivation
plotly/Kaleido), browser extensions are rarely required. Disabling unnecessary extensions reduces startup latency, saves memory, and eliminates potential side effects, leading to a more stable execution.choreographer's internal browser manipulation. Providing a way to run in a clean, isolated environment ensures robustness across different machines.Actually, I have encountered this problem due to environment-dependent interferences and verified that hardcoding
--disable-extensionscompletely resolves the issue.Proposed Changes
To maintain backward compatibility, the option will default to
True.enable_extensions: bool (True by default)to the browser launch arguments.--disable-extensionsto the browser arguments whenenable_extensions=Falseis explicitly passed.