Skip to content

Duet Browser v2.1.2

Choose a tag to compare

@crisdosaygo crisdosaygo released this 14 Sep 02:54
· 1 commit to main since this release

One owner per action

A native label and its control, a disclosure summary and its body, a choice
field and its popup: each is one action to an agent, not two. Duet Browser now
resolves which surface actually owns an activation and shows that one, while
keeping every existing ref usable.

This is the first public release since v1.7.0 and includes all changes made
since then.

What's new

  • One primary action per observed owner. HUD and find show a single action
    for aliases such as a native label and its control. The reachable surface
    wins; matching text or overlapping rectangles alone never merge actions.
    dub hud --explode-pairs shows the individual surfaces, and JSON
    surface.presentation_owner identifies the observed activation owner.
  • Refs survive action-set changes. When the set of actions changes, the
    notice now reads action set changed; surviving refs retained. Surviving
    elements keep their refs; the nonzero exit still stops && chains.
  • Choice controls. Choice fields carry opens=choices, [expanded] /
    [collapsed], and a separately rendered display="…". Opening a menu or
    highlighting an option is not reported as a selection. Popup options carry
    their controlling field's context when the page supplies an unambiguous
    relationship, and an expanded choice popup counts as an active layer.
  • Native disclosures. Summary actions show [collapsed] or [expanded];
    controls inside a closed disclosure appear after opening it.
  • Listener action discovery on by default. Chrome HUD now includes controls
    discovered from registered click/pointer listeners without opting in. Existing
    profiles adopt the new default; dub unset listener-actions disables it, and
    explicit settings persist. Firefox keeps the baseline sheet.
  • Quieter Chrome. Every launch now suppresses the "Translate this page?"
    bubble and the "Restore pages?" crash bubble, which could race the requested
    URL after a relaunch. Explicit session restore still works.

Install or update

macOS / Linux:

curl -fsSL https://duetbrowser.com/install.sh | bash

Windows PowerShell:

irm https://duetbrowser.com/install.ps1 | iex