Duet Browser v2.1.2
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-pairsshows the individual surfaces, and JSON
surface.presentation_owneridentifies the observed activation owner. - Refs survive action-set changes. When the set of actions changes, the
notice now readsaction 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 rendereddisplay="…". 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-actionsdisables 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 | bashWindows PowerShell:
irm https://duetbrowser.com/install.ps1 | iex