Nick Sweeting
db7998efd0
fix type checks
2025-06-27 00:10:30 -07:00
Nick Sweeting
6c05a720ed
auto-clear singletonLock on startup
2025-06-27 00:09:40 -07:00
Nick Sweeting
1415562d6e
add portalocker multiprocess semaphore
2025-06-26 23:53:28 -07:00
Nick Sweeting
51b7e8ae66
always clear context and check connection properly using async call
2025-06-26 23:52:54 -07:00
Nick Sweeting
946ef4068d
add stop hints and better logging
2025-06-26 23:52:19 -07:00
Nick Sweeting
747959a3d0
keep reference to the original browser session when copying
2025-06-26 22:45:05 -07:00
Nick Sweeting
112162cd3f
prevent parent session from being garbage collected
2025-06-26 22:35:07 -07:00
Nick Sweeting
4f1fd7523f
fix playwright internals calls
2025-06-26 22:33:23 -07:00
Nick Sweeting
7f4a3017c4
use raw channel directly for cdp
2025-06-26 20:03:36 -07:00
Nick Sweeting
c3bd596961
manually copy over browser_context instance when forking BrowserSession
2025-06-26 20:00:56 -07:00
Nick Sweeting
48fd583ae1
use raw CDP call for screenshot instead of playwright CDP session
2025-06-26 19:52:50 -07:00
Nick Sweeting
13048669e2
reset browser connection when screenshot fails
2025-06-26 19:07:09 -07:00
Nick Sweeting
8dfad7e557
tweak chrome launch args in docker to fix screenshots
2025-06-26 18:48:46 -07:00
Magnus Müller
7fb8e5b39b
feat: implement SDK-native rate limiting for improved reliability
...
- Increase max_retries to 10 for all LLM providers (was 2-3)
- OpenAI: Use built-in retry with exponential backoff, jitter, Retry-After header support
- Anthropic: Use built-in retry with intelligent error classification
- Groq: Use built-in retry with capacity exceeded handling (498 errors)
- Google: Implement custom retry logic with pattern-based error detection
- Azure: Inherits improved retry from OpenAI base class
Benefits:
- More resilient to temporary API issues during automation
- Leverages provider SDKs' optimized retry logic
- Reduces custom retry code maintenance burden
- Automatically handles provider-specific error patterns
All providers now retry rate limits, server errors, and connection issues
while skipping authentication errors and bad requests.
2025-06-26 18:08:51 +02:00
Nick Sweeting
8e42ed5c6d
Merge branch 'main' into mert/fix_done_callback
2025-06-26 08:33:13 -07:00
Mert Unsal
785e14fed8
Merge branch 'main' into mert/fix_done_callback
2025-06-26 17:32:24 +02:00
mertunsall
7b1630b443
fix MAJOR bug with done callback being caleld twice
2025-06-26 17:31:57 +02:00
Nick Sweeting
6f1e7596cc
Merge branch 'main' into sync-device-id
2025-06-26 08:29:17 -07:00
Nick Sweeting
5158419fc7
Update browser_use/browser/session.py
...
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2025-06-26 11:16:48 -04:00
Magnus Müller
03893b8adf
Update comment to 40000 in service.py
2025-06-26 17:16:43 +02:00
Magnus Müller
42961a49f3
Merge branch 'main' into Set-default-parameter
2025-06-26 17:08:47 +02:00
Magnus Müller
4844bd048f
Set default parameter - no memory, actions per step 10, and extraction input size
2025-06-26 17:08:15 +02:00
Nick Sweeting
90862026fa
persist a unique device_id and send it with sync events
2025-06-26 08:00:20 -07:00
Nick Sweeting
18bd8fe715
tweak timeouts to fail faster
2025-06-26 07:59:55 -07:00
Nick Sweeting
a1ce6ed5c2
fix linter
2025-06-26 07:34:47 -07:00
Nick Sweeting
b3ac5eb152
Merge branch 'main' into locking
2025-06-26 07:30:21 -07:00
Nick Sweeting
4b2d7c270b
fix tests
2025-06-26 07:30:03 -07:00
Nick Sweeting
ea2c2205a3
swap decorator decorateee
2025-06-26 07:14:02 -07:00
Nick Sweeting
fc075c0152
use retry decorator for locking and timeouts instead ofmanual logic
2025-06-26 07:07:13 -07:00
Nick Sweeting
12583f917d
start auth flow on first step
2025-06-26 06:50:33 -07:00
Magnus Müller
54736224eb
Remove unused controller telemetry functionality
...
- Remove ControllerRegisteredFunctionsTelemetryEvent and RegisteredFunction classes
- Remove telemetry capture call from controller registry service
- Clean up unused imports in telemetry module
- Simplify telemetry __all__ exports
This removes dead code that was capturing registered function telemetry
data but wasn't being used anywhere in the application.
2025-06-26 15:06:17 +02:00
Nick Sweeting
74d02c07a7
increase screenshot timeout to default timeout
2025-06-26 02:59:57 -07:00
Nick Sweeting
c7b29c9116
tweak browser shutdown locking and logging
2025-06-26 02:32:23 -07:00
Nick Sweeting
b9116c1621
cleanup CDP screenshot calls and make screnshots start from scroll position
2025-06-26 02:05:52 -07:00
Mert Unsal
82d43aa5d5
Merge branch 'main' into mert/fixfs
2025-06-26 10:15:18 +02:00
Nick Sweeting
c5d16a00f8
tweak screenshot timing and add global semaphore
2025-06-26 01:14:35 -07:00
Nick Sweeting
ea8d9e8624
use raw CDP calls for screenshots instead of playwright for speed
2025-06-26 00:55:24 -07:00
Nick Sweeting
76fb7f7c9a
dont block agent progress when navigation times out
2025-06-26 00:55:07 -07:00
Mert Unsal
9a209551c8
Merge branch 'main' into mert/fixfs
2025-06-26 09:38:53 +02:00
Nick Sweeting
1fb5e59015
dont attempt to disable animations during screenshots
2025-06-26 00:38:36 -07:00
Mert Unsal
cc88e4b499
Merge branch 'main' into mert/fixfs
2025-06-26 09:25:47 +02:00
Nick Sweeting
8b6e750a68
always use viewport for screenshots in headless mode
2025-06-26 00:18:53 -07:00
Nick Sweeting
75fe98ff65
cap all screenshots at 6000px max height
2025-06-26 00:10:07 -07:00
Nick Sweeting
327f458353
set up a unique CloudSync for each agent
2025-06-26 09:07:56 +02:00
Nick Sweeting
48aa83a64c
dont fail the entire get_agent_state if screenshots hang
2025-06-26 09:07:56 +02:00
Nick Sweeting
43ef4d603b
use threading lock instead of asynclock to support parallel tests
2025-06-26 09:07:56 +02:00
Nick Sweeting
838c91785c
implement global lock around playwright subprocess spawning to prevent deadlocks
2025-06-26 09:07:56 +02:00
Nick Sweeting
e401e66dcf
tweak closing log msg
2025-06-26 09:04:27 +02:00
Nick Sweeting
882f17ba20
fix non-matching titles in JS and python
2025-06-26 09:02:02 +02:00
Nick Sweeting
1d43d67291
set up a unique CloudSync for each agent
2025-06-25 23:49:14 -07:00