Skip to content

BrowserSkill Extension 0.4.2

Choose a tag to compare

@github-actions github-actions released this 05 Nov 12:13
· 83 commits to main since this release
fbea9e8

BrowserSkill Extension 0.4.2 fixes everyday page interaction regressions and improves shared-control reliability, action outcomes, and sensitive-data protection. Pair it with CLI/daemon 0.4.2.

Added

  • Controller identity: browser overlays display the agent name, project, session ID, and color supplied by the CLI or DSH client.
  • Date and time inputs: fill native date, time, datetime-local, month, and week fields, including background-tab handling and format/min/max validation.

Changed

  • Scrolling, ineffective keys, and focusing a text field alone no longer unnecessarily take control from the Agent. Real clicks, keyboard activation, and actual edits still yield to the person. Pending gestures pause dispatch without revoking the current context; coordinate input waits for scrolling to settle.
  • Shared control waits for two seconds of quiet after the person's last completed action, up from 650 ms. Completed/cancelled gestures, input-method composition, and native select interactions release their holds correctly.
  • Borrowed tabs return relative to their original neighbors, with improved pinned-tab and group restoration. Eligible requests support automatic borrowing when borrow confirmation is disabled.
  • The extension restores the tabGroups permission to read and restore borrowed tabs' original groups.

Fixed

  • Broken wheel interactions: restore legacy mousewheel handlers, such as Bilibili's player volume control, which could stop working even without an active BrowserSkill task.
  • Repeated page reloads: enable console capture only when requested, avoiding anti-debugging reload loops on affected sites.
  • Unexpected command timeouts: replace lone Unicode surrogates left by truncated emoji so the daemon no longer discards the entire reply.
  • Toolbar-blocked clicks: the shared-control toolbar and its children yield pointer hits during automated clicks, including page actions beneath the lower-right corner, then become interactive again.
  • Enter navigation receipts: dispatch Enter keydown and text together, retain completed link/form navigation outcomes, and avoid sending a separate character event into the new document.
  • Timeout cleanup and diagnostics: cancelled actions retain execution phase and effect-state information; missing completion receipts remain explicitly uncertain.
  • Repeated action labels: use each action's own DOM container for context, including labels after the button, instead of mixing text from adjacent records or other frames.
  • Dynamic element waits: requery selectors when matched nodes are replaced, avoiding false hidden/detached success while a replacement remains visible.
  • Unrelated iframe refreshes: keep main-document target actions valid when a carousel, video, or ad iframe refreshes. Frame-targeted and strict-observation actions still require a fresh sync after document changes.
  • Frame synchronization: repair missing collectors, report failed frames safely, preserve human holds, and bound retries for temporary coverage failures.
  • Window resizing: verify resulting bounds and the target tab's viewport rather than echoing the requested size, and refresh subsequent observations.
  • Sensitive fields: extend redaction for passwords, one-time codes, and payment-card fields across shared-control state, expectation failures, extraction, recording, and saved HTML debug evidence. Match compound autocomplete tokens, preserve masking for recognized password fields after reveal, and redact vendor credential headers.

Upgrade

  1. Finish active browser tasks and update the CLI/daemon to 0.4.2.
  2. Install extension 0.4.2 from the store or the ZIP attached to this release. Store submissions require review; check the installed version.
  3. Update the DSH plugin to 0.4.2 and reload browser-skill instructions. Check bsk status and bsk doctor.

CLI 0.4.2 also adds bsk mcp for MCP clients and domestic update downloads with GitHub fallback. See the CLI release for setup and daemon-side changes.

What's Changed

  • fix(fill): support date, time, datetime-local, month, and week inputs by @Li-john1021 in #443

  • fix(cooperation): recover frame coverage during synchronization by @iuyo5678 in #549

  • fix(cooperation): name the top-level observation_id in strict-observation recovery by @LilMGenius in #547

  • docs(skill): explain closed and unconfirmable tab borrows by @anhtahaylove in #526

  • fix: verify window resize and refresh observations by @NianJiuZst in #559

  • fix(extension): invalidate cooperation only on root-frame navigation by @gadzan in #561

  • fix: keep Runtime off until console capture is requested by @yaou-li in #558

  • fix(dsh-plugin): attach fill/select values to --value by @columbia11 in #570

  • fix(extension): redact exact vendor credential headers in debug evidence by @columbia11 in #571

  • feat(tabs): anchor borrowed tab return position and support auto-borrow (#331) by @NianJiuZst in #582

  • fix(daemon): retry Windows authorization snapshot replacement by @columbia11 in #583

  • Add Chinese changelog and enforce bilingual updates by @NianJiuZst in #585

  • feat: display session controller identity in browser overlays by @wzxsdf in #584

  • fix(extension): keep code and card values out of agent-visible state by @columbia11 in #579

  • fix(cooperation): preserve main-page control across iframe refreshes by @NianJiuZst in #599

  • fix(cli): prefer domestic update downloads with GitHub fallback by @NianJiuZst in #601

  • fix(extension): yield shared control on meaningful user input by @NianJiuZst in #600

  • fix(extension): never send lone surrogates to the daemon by @columbia11 in #569

  • fix(extension): listen for wheel only while cooperation is collecting by @columbia11 in #568

  • fix(extension): match sensitive autocomplete values token by token by @TheeCoderAhmed in #566

  • feat: expose BrowserSkill through an MCP server by @NianJiuZst in #590

  • fix(cli): handle cancellation before RPC registration by @iuyo5678 in #419

  • fix(waits): recheck selectors when matched nodes are replaced by @u7-u7 in #553

  • fix: unblock shared-control input and preserve action outcomes by @NianJiuZst in #608

  • chore(release): prepare 0.4.2 by @NianJiuZst in #609

Full Changelog: ext-v0.4.1...ext-v0.4.2