Fix: Catch TargetClosedError in PlaywrightController.sleep() to avoid crashes on download-triggered page closes #6415
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why are these changes needed?
This PR fixes a crash that occurs when using
MultimodalWebSurfer
in scenarios where a click triggers a file download.After the download is initiated, Playwright may close the page or context, leading to a
TargetClosedError
duringsleep()
inPlaywrightController
.The previous implementation of
sleep()
did not handle these closures, causing the agent to crash unexpectedly.This PR adds safe exception handling for
TargetClosedError
andPlaywrightError
duringsleep()
, ensuring that the agent can continue operating gracefully even if the page closes.Related issue number
Closes #6413
Checks