Auto-generated PR for branch: feat/speed-improvements-wait
<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Improved speed and reliability by adding timeouts to LLM calls, browser
actions, and step execution, and refined the wait action to log accurate
wait times.
- **Performance and Reliability**
- Added configurable timeouts for LLM calls (default 60s) and step
execution (default 180s).
- Reduced timeouts for browser tab info and page title retrieval for
faster responses.
- Set explicit timeouts for browser actions like scroll, click, type,
and fill to prevent hangs.
- Updated the wait action to account for initial LLM wait time and
improved logging.
<!-- End of auto-generated description by cubic. -->
improve import times by setting up lazy imports
<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Added lazy import logic across core modules to speed up import times and
reduce startup overhead. Updated several LLM-related dependencies to
newer versions.
- **Refactors**
- Replaced direct imports with lazy imports in main package entrypoints
and heavy modules.
- Moved some imports inside functions to avoid loading large
dependencies at startup.
- **Dependencies**
- Bumped versions for google-genai, openai, anthropic, and groq.
<!-- End of auto-generated description by cubic. -->
Disables screenshot capture when vision is disabled to improve
performance
<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Disabled screenshot capture when vision is turned off to improve
performance.
<!-- End of auto-generated description by cubic. -->
- Added timeout parameters to scroll_into_view_if_needed, click, type, and fill methods to improve reliability and prevent potential hangs.
- Introduced debug observation for get_dom_element_by_index and _input_text_element_node methods to aid in tracking and debugging.
- Changed the exception type from asyncio.TimeoutError to TimeoutError for better clarity in timeout handling.
- Updated the error message to suggest generating fewer tokens in case of a timeout.
- Reduced the retry timeout from 6 seconds to 3 seconds.
- Decreased the page title retrieval timeout from 3 seconds to 2 seconds.
- Enhanced timeout handling logic to prioritize user-defined timeouts while ensuring a minimum of 3000ms.
- Updated the wait action to account for the initial 3 seconds already waited, ensuring accurate logging of total wait time.
- Simplified the ActionResult return by removing unnecessary parameters.
Auto-generated PR for branch: feature/optimize-browser-extensions
<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Updated the default browser extensions to use only fully automatic tools
for better single-session automation. Added Decentraleyes, ClearURLs,
and FastForward; removed extensions that require manual setup or
learning.
- **New Extensions**
- Added Decentraleyes for CDN tracking protection.
- Added ClearURLs to remove tracking parameters.
- Added FastForward to bypass link shorteners.
<!-- End of auto-generated description by cubic. -->
1. Remove Reader View from description - extension not actually loaded
- Updated enable_default_extensions description to only mention extensions that are actually loaded
- Removed misleading reference to Reader View functionality
2. Resolve Chrome flag conflict for extension activity logging
- Removed --disable-extension-activity-logging from CHROME_DEFAULT_ARGS
- Keeps --enable-extension-activity-logging in _get_extension_args() when extensions enabled
- Eliminates contradictory flags that caused unpredictable logging behavior
- Track actual loaded extension names instead of hardcoding them
- Log message now accurately reflects which extensions loaded successfully
- Count and names will match even if some extensions fail to load
- Fixes bug where log mentioned 'Reader View' which was removed from extension list
- Add ClearURLs for automatic URL tracking parameter removal
- Add Reader View (Mozilla Readability-based) for content extraction
- Reader View requires manual activation but can be triggered via Playwright
- Update descriptions to reflect automation-optimized extension set
- These additions improve content extraction capabilities while maintaining clean automation
- Remove Decentraleyes (nice-to-have performance boost, but uBlock Origin covers most tracking)
- Remove ClearURLs (URL cleaning, but not critical for automation)
- Remove FastForward (likely causing welcome tabs, most automation doesn't hit link shorteners)
- Keep only uBlock Origin (essential ad/tracker blocking) and I still don't care about cookies (essential cookie banner handling)
- Set default back to True since these 2 core extensions should not cause welcome tab issues
- Update descriptions to reflect minimal essential set
This gives maximum automation reliability with minimal extension overhead.
- Add --disable-extensions-http-throttling to prevent extension communication issues
- Add --disable-extension-activity-logging to reduce extension logging overhead
- Add --extensions-on-chrome-urls to allow extensions on chrome:// pages
- Add --disable-default-apps to prevent default app welcome screens
These flags help prevent extensions from opening welcome/onboarding tabs that interfere with automation.
Auto-generated PR for branch: staging
<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Added support for default browser extensions (uBlock Origin and "I still
don't care about cookies") and improved browser state recovery,
performance, and debugging.
- **New Features**
- Option to enable default ad blocker and cookie banner extensions, with
automatic download and loading.
- Improved browser state recovery with a unified
`get_browser_state_with_recovery` method.
- Parallelized browser setup tasks for faster startup.
- Added more detailed debug logging to key browser and DOM methods.
- **Refactors**
- Reduced unnecessary screenshot captures to speed up multi-action
flows.
- Improved error handling and waiting logic during browser actions and
setup.
- Cleaned up unused code and optimized extension management.
<!-- End of auto-generated description by cubic. -->
- Update 'I don't care about cookies' to 'I still don't care about cookies' (community-maintained)
- Add Decentraleyes for CDN tracking protection and performance
- Add ClearURLs for automatic URL tracking parameter removal
- Add FastForward for automatic link shortener bypass
- Remove Privacy Badger (requires learning over multiple sessions)
- Remove 'Don't track me Google' (redundant with other extensions)
- Remove 'Block image' (requires manual activation, unusable in automation)
Final extension set: 5 fully automatic extensions optimized for single-session browser automation