Skip to content

v0.3.1 — Interaction gaps, viewport tools, screenshot file-path, dialogOpened fix

Choose a tag to compare

@raychao-oao raychao-oao released this 03 Aug 03:06

Bundles everything since v0.2.0: the interaction-gaps batch, viewport tools, the
screenshot file-path fix, the to_be_deleted rename, and a real production bug fix
(click's dialogOpened false-positives on backgrounded tabs).

Added

  • press_key / hover / drag_and_drop / upload_file — round out interactive-element
    coverage beyond click/type
  • scroll_to — scroll an element or the page into view
  • screenshot fullPage: true — capture the entire scrollable page in one shot instead
    of just the current viewport
  • wait_for — poll a page to a target state (selector appears, text disappears, network
    idle) instead of guessing a fixed delay
  • click/type/scroll_to/hover/upload_file/drag_and_drop/press_key now fall back
    to searching other frames when frameId is omitted
  • list_elements includes table rows/headers as candidates, plus a per-element state
    object (checked/disabled/readonly/etc.) and domEpoch for detecting stale selectors
    across page changes

Changed

  • screenshot now writes the PNG to a local file and returns its absolute path, instead
    of returning inline base64 — the inline-base64 response routinely blew past the calling
    model's context/token budget on real pages. Read the file directly instead of expecting
    image bytes in the tool response.
  • move_to_pending_deletion renamed to to_be_deleted (same behavior — reversible move
    into a fixed "Pending Deletion" folder, never a real delete)
  • acquire_tab waits for navigation to commit before returning url, instead of racing
    browser.tabs.create() and sometimes reporting about:blank

Fixed

  • click's dialogOpened/domChanged fields were misreported on backgrounded tabs.
    Firefox throttles setTimeout/setInterval in a non-visible tab to a ~1000ms minimum
    interval, which made the click handler's dialog-detection heuristic time out and report a
    false dialogOpened: true even when the click succeeded normally. This was dangerous in
    practice: an agent reading dialogOpened: true could conclude the click didn't register
    and retry an already-successful destructive action (e.g. re-submitting a delete/apply on
    an admin panel). The fix detects tab visibility (tab.active AND the tab's window is
    OS-focused) and uses a longer timeout on backgrounded tabs instead of misreporting.

Install

Grab the .xpi below, drag into a Firefox window (or about:addons → gear icon → "Install
Add-on From File..."). Same add-on ID as prior releases, so this upgrades an existing install
in place — no need to remove the old one first.