fix: finish browser click timeout recovery (#63524)

This commit is contained in:
Peter Steinberger
2026-04-22 03:05:40 +01:00
parent cd82b94333
commit e92079be6b
2 changed files with 4 additions and 3 deletions

View File

@@ -12,6 +12,7 @@ Docs: https://docs.openclaw.ai
### Fixes
- Browser/Chrome MCP: reset cached existing-session control sessions when a `navigate_page` call times out, so one stuck navigation no longer poisons the browser profile until a gateway restart. (#69733) Thanks @ayeshakhalid192007-dev.
- Browser/Chrome MCP: propagate click timeouts and abort signals to existing-session actions so a stuck click fails fast and reconnects instead of poisoning the browser tool until gateway restart. (#63524) Thanks @dongseok0.
- OpenCode Go: canonicalize stale bundled `opencode-go` base URLs from `/go` or `/go/v1` to `/zen/go` or `/zen/go/v1`, so older generated model metadata stops hitting the 404 HTML endpoint. (#69898)
- Channels/preview streaming: centralize draft-preview finalization so Slack, Discord, Mattermost, and Matrix no longer flush temporary preview messages for media/error finals, and preserve first-reply threading for normal fallback delivery.
- Discord: keep slash command follow-up chunks ephemeral when the command is configured for ephemeral replies, so long `/status` output no longer leaks fallback model or runtime details into the public channel. (#69869) thanks @gumadeiras.

View File

@@ -554,11 +554,11 @@ export async function clickViaPlaywright(opts: {
ACT_MAX_CLICK_DELAY_MS,
);
if (delayMs > 0) {
await awaitEvalWithAbort(locator.hover({ timeout }), abortPromise);
await awaitActionWithAbort(locator.hover({ timeout }), abortPromise);
await new Promise((resolve) => setTimeout(resolve, delayMs));
}
if (opts.doubleClick) {
await awaitEvalWithAbort(
await awaitActionWithAbort(
locator.dblclick({
timeout,
button: opts.button,
@@ -568,7 +568,7 @@ export async function clickViaPlaywright(opts: {
);
return;
}
await awaitEvalWithAbort(
await awaitActionWithAbort(
locator.click({
timeout,
button: opts.button,