Skip to content

feat(mcp): make post-action settle delay configurable - #41924

Merged
Pavel Feldman (pavelfeldman) merged 3 commits into
microsoft:mainfrom
m4ttheweric:mcp-timeout-settle
Jul 21, 2026
Merged

feat(mcp): make post-action settle delay configurable#41924
Pavel Feldman (pavelfeldman) merged 3 commits into
microsoft:mainfrom
m4ttheweric:mcp-timeout-settle

Conversation

@m4ttheweric

Copy link
Copy Markdown
Contributor

Summary

  • waitForCompletion sleeps a hard-coded 500ms after every action (and another 500ms when requests fired). That is the right default for step-at-a-time driving, but batched browser_run_code_unsafe scripts that do their own waiting pay it on every call.
  • Adds timeouts.settle (default 500ms, unchanged) with the usual plumbing: --timeout-settle, PLAYWRIGHT_MCP_TIMEOUT_SETTLE, config file key, and defaultConfig entry.

@pavelfeldman
Pavel Feldman (pavelfeldman) merged commit 6d487d6 into microsoft:main Jul 21, 2026
16 of 17 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

Test results for "MCP"

1 failed
❌ [chrome] › mcp/cli-navigation.spec.ts:56 › goto chrome:// page that closes the tab does not crash the response @mcp-windows-latest-chrome

7791 passed, 1269 skipped


Merge workflow run.

@m4ttheweric
Matthew Goodwin (m4ttheweric) deleted the mcp-timeout-settle branch July 22, 2026 04:31
Yury Semikhatsky (yury-s) added a commit to microsoft/playwright-mcp that referenced this pull request Aug 6, 2026
## What's New

### Tool Improvements

- **`browser_take_screenshot` — WebP format** — New `type` option to
pick the image format (`png`, `jpeg` or `webp`); when unset, the format
is inferred from the filename extension
([#41152](microsoft/playwright#41152))
- **`--codegen` — more languages** — Code generation now supports
`python`, `java` and `csharp` in addition to `typescript`
([#42106](microsoft/playwright#42106))
- **Configurable settle delay** — New `--timeout-settle` flag (and
`timeouts.settle` config option) to control how long to wait after each
action for triggered work (navigations, requests) to settle, defaults to
500ms ([#41924](microsoft/playwright#41924))

## Fixes

- Aria snapshot capture is skipped when the response discards it
([#41923](microsoft/playwright#41923))
- New `--snapshot-boxes` flag (and `snapshot.boxes` config option) to
enable bounding boxes in snapshots globally — previously this was only
available per command
([#42102](microsoft/playwright#42102))
- Reconnect to the browser after a disconnect
([#41966](microsoft/playwright#41966))
- Report malformed JSON config instead of silently falling back to INI
parsing ([#41909](microsoft/playwright#41909))
- Clear the dialog modal state when a dialog is closed out of band
([#42032](microsoft/playwright#42032))
- Detect downloads via the download event instead of guessing from
`net::ERR_ABORTED` navigation errors
([#41933](microsoft/playwright#41933))
- Surface the missing executable path when a browser isn't installed
([#41941](microsoft/playwright#41941))
- Escape user input in codegen output
([#41962](microsoft/playwright#41962))
- Removed the stale `--output-mode` CLI option
([#41833](microsoft/playwright#41833))

### Browser Extension

- Validate `Host` and `Origin` headers on CDP relay WebSocket upgrades
([#42103](microsoft/playwright#42103))
- Launch the Chrome profile that has the extension installed
([#41939](microsoft/playwright#41939))
- Pass `noDefaults` for extension CDP connections
([#42119](microsoft/playwright#42119))
- Mention `PLAYWRIGHT_MCP_EXECUTABLE_PATH` in the error shown when the
browser executable is not found
([#42122](microsoft/playwright#42122))
- Removed support for extension protocol v1
([#41857](microsoft/playwright#41857))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants