Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
135 commits
Select commit Hold shift + click to select a range
e27fb98
test(cua-driver): modality recording harness + per-action effect veri…
f-trycua Jun 27, 2026
b3e332c
fix(cua-driver/windows): guard element clicks against off-screen targets
f-trycua Jun 27, 2026
3ff50a2
docs(cua-driver): update modality findings — Windows off-screen guard…
f-trycua Jun 27, 2026
9b6b36b
docs: update modality index with Windows verifier numbers
f-trycua Jun 27, 2026
5b6df9e
test(cua-driver): cross-toolkit coverage matrix (WPF/WinUI3/WebView2/…
f-trycua Jun 27, 2026
7bf6988
fix(cua-driver/windows): scope off-screen click guard to coordinate-d…
f-trycua Jun 27, 2026
fd4813c
fix(cua-driver): start_session revives an ended id; stray actions on …
f-trycua Jun 27, 2026
9c2dffd
fix(cua-driver/test-harness): pin AppKit harness window geometry acro…
f-trycua Jun 27, 2026
a35e6f3
feat(cua-driver/linux): wrap Electron harness for Linux + record 5 mo…
f-trycua Jun 27, 2026
eb43f22
test(cua-driver/gtk3): bring GTK3 harness to control parity with WPF
f-trycua Jun 27, 2026
a93bf82
test(cua-driver/winui3): add click-target + scroll-target for 8-actio…
f-trycua Jun 27, 2026
10f93e1
test-harness(macos): add WKWebView harness + Electron macOS launch glue
f-trycua Jun 27, 2026
da39808
docs(cua-driver/windows): record WinUI3 dispatch finding (double/righ…
f-trycua Jun 27, 2026
6a5a019
test(cua-driver/web): add scroll_target to shared web harness for mat…
f-trycua Jun 27, 2026
008b7d1
test(cua-driver/harness): macOS AppKit + SwiftUI control parity with …
f-trycua Jun 27, 2026
92d8aeb
fix(cua-driver/macos): set_value writes a CFNumber for numeric AXValu…
f-trycua Jun 27, 2026
5c8eaf1
test(cua-driver/linux): exercise shared scroll-target in Electron rec…
f-trycua Jun 27, 2026
1ffc940
docs(cua-driver): record control-parity pass + scroll-target + macOS …
f-trycua Jun 27, 2026
7499fed
docs(cua-driver/macos): live host verification of SwiftUI parity + sc…
f-trycua Jun 27, 2026
1cdc897
docs(cua-driver/macos): CFNumber set_value fix VERIFIED live on AppKi…
f-trycua Jun 28, 2026
d2b2923
feat(cua-driver/macos): set_value steps AXIncrement/AXDecrement when …
f-trycua Jun 28, 2026
a470b74
docs(cua-driver): keep the demo blob URL out of the public repo
f-trycua Jun 28, 2026
d95b89a
fix(cua-driver/windows): retain cached UIA element under the lock (UAF)
f-trycua Jun 28, 2026
7d35828
fix(cua-driver/linux): land GTK left-click via AT-SPI + surface value…
f-trycua Jun 28, 2026
b249716
test(cua-driver/windows): extend matrix recorder for parity controls …
f-trycua Jun 28, 2026
dfc4464
docs(cua-driver): refresh Windows matrix + record this round's driver…
f-trycua Jun 28, 2026
79e546c
feat(cua-driver/linux): land GTK right/double/middle-click + scroll v…
f-trycua Jun 28, 2026
e7145c1
fix(cua-driver/macos): pixel right-click + NSButton click + wheel scr…
f-trycua Jun 28, 2026
698a336
docs(cua-driver): document pixel-wheel scroll + windowless button-pre…
f-trycua Jun 28, 2026
531aa6d
fix(cua-driver/windows): WinUI3 double-click + Electron contract + of…
f-trycua Jun 28, 2026
0d90503
test(cua-driver/macos): fix modality recorder verdicts for the parity…
f-trycua Jun 28, 2026
80b4e3d
fix(cua-driver/macos): coordinate-space consistency for vision agents…
f-trycua Jun 28, 2026
c3efb58
fix(cua-driver/windows): off-screen scroll-into-view falls back to an…
f-trycua Jun 28, 2026
010fdd7
test(cua-driver): vision-agent coordinate-invariant test prototype
f-trycua Jun 28, 2026
49bdb41
test(cua-driver/windows): measure the no-foreground contract against …
f-trycua Jun 28, 2026
b71d2e9
docs(cua-driver): detailed modality test-suite + harness reference
f-trycua Jun 28, 2026
5c0a1d3
test(cua-driver/linux): measure the no-foreground contract against a …
f-trycua Jun 28, 2026
d42ffa1
docs(cua-driver): correct Linux contract numbers after the recorder-b…
f-trycua Jun 28, 2026
197c605
docs(cua-driver): publish the modality test-suite reference in fumadocs
f-trycua Jun 28, 2026
2f0b77e
test(cua-driver): session lifecycle/disposal coverage + stop recorder…
f-trycua Jun 28, 2026
35d3f06
docs(cua-driver): document session lifecycle & disposal in the test-s…
f-trycua Jun 28, 2026
f512e32
docs(cua-driver): real-app edge cases + Linux-Electron ax-bg 2/8 corr…
f-trycua Jun 28, 2026
0c1d9e9
docs(cua-driver): real-app edge cases round 2 (Win11 Settings/Store/P…
f-trycua Jun 28, 2026
040caed
fix(cua-driver/windows): unhandled-protocol launch_app no longer dead…
f-trycua Jun 28, 2026
6754346
docs(cua-driver): make element_index pid requirement explicit + corre…
f-trycua Jun 28, 2026
b7f66cb
fix(cua-driver/windows): resolve UWP launches to their ApplicationFra…
f-trycua Jun 28, 2026
a348721
fix(cua-driver/test-harness): WPF recorder — panel encoding + right-c…
f-trycua Jun 28, 2026
bd9d325
fix(cua-driver/test-harness): WPF recorder drag uses dispatch:foregro…
f-trycua Jun 28, 2026
5a780ec
fix(cua-driver/test-harness): WPF recorder asserts harness foreground…
f-trycua Jun 28, 2026
f44264b
fix(cua-driver/test-harness): gate WPF fg foreground-assert to coordi…
f-trycua Jun 28, 2026
13276e7
fix(cua-driver/test-harness): macOS web recorder uses live element fr…
f-trycua Jun 28, 2026
eefcfe4
fix(cua-driver/test-harness): WPF fg foreground-assert every step + E…
f-trycua Jun 28, 2026
e8ae50d
docs(cua-driver): WKWebView modality results — recorder coord fix + h…
f-trycua Jun 28, 2026
ba5ff66
fix(cua-driver/test-harness): WPF ax-mode slider drag via RangeValue …
f-trycua Jun 28, 2026
443cb5c
fix(cua-driver/macos): agent cursor sandwiches at z+1 via SkyLight SL…
f-trycua Jun 28, 2026
6a5bfeb
Revert "fix(cua-driver/macos): agent cursor sandwiches at z+1 via Sky…
f-trycua Jun 28, 2026
a09b928
fix(cua-driver/cursor): single source of truth for built-in cursor na…
f-trycua Jun 28, 2026
737e7cd
feat(cua-driver/cursor): make teardrop the default silhouette; add ru…
f-trycua Jun 28, 2026
0fd8d9d
feat(cua-driver/macos): type_text best-effort ladder + delivery_mode
f-trycua Jun 28, 2026
36baa06
feat(cua-driver/macos): click foreground rung + delivery_mode
f-trycua Jun 28, 2026
5561c50
refactor(cua-driver/macos): capture_mode + capture_scope are per-call…
f-trycua Jun 28, 2026
64b8965
feat(cua-driver/macos): honest verified:false + path on drag/scroll
f-trycua Jun 28, 2026
4d107fe
fix(cua-driver/macos): focus target element before foreground typing
f-trycua Jun 28, 2026
7b4041b
fix(cua-driver/macos): settle before first keystroke in type_text for…
f-trycua Jun 28, 2026
5ee3668
test(cua-driver): cover the dispatch ladder; fix tests broken by conf…
f-trycua Jun 28, 2026
7304446
feat(cua-driver/macos): bring_to_front persistent activation + 200ms …
f-trycua Jun 28, 2026
74f9651
docs(cua-driver): dispatch ladder — delivery_mode, verified, bring_to…
f-trycua Jun 28, 2026
0c212b5
windows: align input delivery to macOS delivery_mode model
f-trycua Jun 29, 2026
5f7662e
windows: read-back verification for background type_text + delivery_m…
f-trycua Jun 29, 2026
a8c5f69
windows: three-way type_text read-back verdict (live-test fix)
f-trycua Jun 29, 2026
e2cb987
windows: focus-independent by-handle read-back for type_text (proven …
f-trycua Jun 29, 2026
263e60c
windows: fix stale type_text element_index schema description
f-trycua Jun 29, 2026
3a14e25
all platforms: gate get_desktop_state behind global capture_scope=des…
f-trycua Jun 29, 2026
db9cec2
windows: background input never fronts/raises (macOS source of truth)
f-trycua Jun 29, 2026
59f1863
windows: foreground delivery auto-brings-to-front (robust), matching …
f-trycua Jun 29, 2026
5cc7bc2
windows: foreground pointer uses lock-free z-raise, not SetForeground…
f-trycua Jun 29, 2026
614d0ef
windows: bring_to_front raises z-order (lock-free) before the focus swap
f-trycua Jun 29, 2026
ac37bf0
feat(cua-driver/linux): port DeliveryMode contract (background|foregr…
f-trycua Jun 29, 2026
fe03229
feat(cua-driver/linux): X11 foreground-activate primitive for deliver…
f-trycua Jun 29, 2026
5d98aae
feat(cua-driver/linux): wire delivery_mode into click (X11 fg + path/…
f-trycua Jun 29, 2026
649affd
feat(cua-driver/linux): wire delivery_mode into type_text (X11 foregr…
f-trycua Jun 29, 2026
6a2f3ae
feat(cua-driver/linux): real bring_to_front (X11 EWMH) + honest Wayla…
f-trycua Jun 29, 2026
3e55ae4
feat(cua-driver/linux): delivery_mode on press_key + hotkey (X11 fg w…
f-trycua Jun 29, 2026
d7c5f92
feat(cua-driver/linux): type_text verified verdict (AT-SPI = driver-v…
f-trycua Jun 29, 2026
d806ab0
feat(cua-driver/linux): delivery_mode on double_click + right_click
f-trycua Jun 29, 2026
daa5c1b
feat(cua-driver/linux): delivery_mode on scroll — completes P2 input-…
f-trycua Jun 29, 2026
dfb9446
test(cua-driver/linux): dispatch ladder coverage (delivery_mode + bri…
f-trycua Jun 29, 2026
d151a3d
docs(cua-driver/linux): document the delivery_mode dispatch ladder
f-trycua Jun 29, 2026
42f62fe
fix(cua-driver/linux): auto-discover the session bus so AT-SPI works …
f-trycua Jun 29, 2026
0d7e8fa
test(cua-driver/linux): detached build+test runner for the XFCE conta…
f-trycua Jun 29, 2026
8f1d0fd
fix(cua-driver/linux): is_session_process rejects empty comm
f-trycua Jun 29, 2026
83f53a2
test(cua-driver/linux): full modality-matrix harness for the XFCE lane
f-trycua Jun 29, 2026
a52a255
fix(cua-driver/linux): double_click/right_click element panic (nested…
f-trycua Jun 29, 2026
6d9d880
test(cua-driver/linux): add seq action to modality matrix harness
f-trycua Jun 29, 2026
2ec7bf2
test(cua-driver/linux): harness drives both XFCE and Kasm lanes
f-trycua Jun 29, 2026
fac8497
fix(cua-driver/linux): correct GTK4 AT-SPI element coords (WINDOW + _…
f-trycua Jun 30, 2026
02140aa
fix(cua-driver/linux): gate GTK4 WINDOW-coord reconstruction on _GTK_…
f-trycua Jun 30, 2026
5cab434
test(cua-driver/linux): unit-test GTK4-coords + session-bus parse; ad…
f-trycua Jun 30, 2026
49238f0
docs(cua-driver/linux): GTK4 coords + KDE/GNOME VM lanes in the modal…
f-trycua Jun 30, 2026
ff8b47f
fix(cua-driver/linux): glide the agent cursor before element-index cl…
f-trycua Jun 30, 2026
fcf41d0
fix(cua-driver/linux): foreground rung uses real XTest input (synthet…
f-trycua Jun 30, 2026
e52e1a2
fix(cua-driver/linux): foreground keyboard input lands under Xvnc (XT…
f-trycua Jun 30, 2026
408a98a
feat(cua-driver/linux): AT-SPI window enumeration on GNOME/KDE Waylan…
f-trycua Jun 30, 2026
ed641e7
docs(cua-driver/linux): Xvnc foreground-keyboard fix + Wayland (Mutte…
f-trycua Jun 30, 2026
30e4ff0
feat(cua-driver/linux): pixel coordinates + agent cursor on GNOME Way…
f-trycua Jun 30, 2026
311bd6f
fix(cua-driver/wayland-helper): render the real gradient-arrow agent …
f-trycua Jun 30, 2026
ac2ff81
fix(cua-driver/linux): vision pixel-clicks land on Wayland (screen-pi…
f-trycua Jun 30, 2026
db76af5
chore(cua-driver/test-harness): derec.sh uses caller's $HOME, not a h…
f-trycua Jun 30, 2026
3916968
docs(cua-driver): correct Wayland/Linux capabilities + add Linux-and-…
f-trycua Jun 30, 2026
a4c094c
docs(site): remove the trycua/cua docs landing page (served from the …
f-trycua Jun 30, 2026
3024e4c
feat(cua-driver): collapse capture_mode to ax|vision, withhold screen…
f-trycua Jun 30, 2026
a8ed82a
feat(cua-driver): cross-platform tool-schema consistency — shared fra…
f-trycua Jun 30, 2026
3b2de0a
docs(cua-driver): document the cross-platform parameter contract + in…
f-trycua Jun 30, 2026
0316858
fix(cua-driver): surface element `value` in the structured elements a…
f-trycua Jun 30, 2026
d890544
refactor(cua-driver): perception returns both tree + screenshot; moda…
f-trycua Jun 30, 2026
3cd6682
chore(cua-driver): rename modality run-labels vision-* → px-*; fix in…
f-trycua Jun 30, 2026
783d1a0
test(cua-driver): fix stale protocol test asserting old capture_mode …
f-trycua Jun 30, 2026
f58d4b0
chore(cua-driver): retire the Swift backend + its release flow; Rust …
f-trycua Jun 30, 2026
c0b8fbb
docs(cua-driver): fix stale screenshot breadcrumb; clarify the compat…
f-trycua Jun 30, 2026
121f343
fix(cua-driver/macos): hotkey/press_key follow the delivery_mode ladd…
f-trycua Jun 30, 2026
408ddff
feat(cua-driver/macos): element px action for the keyboard family (ty…
f-trycua Jun 30, 2026
a231e95
feat(cua-driver): honest typing on Electron — px keyboard form (Linux…
f-trycua Jun 30, 2026
7ab26a0
feat(cua-driver/win+linux): surface-aware type_text verification — st…
f-trycua Jul 1, 2026
02bec45
fix(cua-driver/macos): element-level web-content detection — honest v…
f-trycua Jul 1, 2026
4d45f49
docs(site): slim the docs app to a local MDX preview — production is …
f-trycua Jul 1, 2026
2f2b6c4
docs(site): strip indexing + custom branding — bare fumadocs MDX preview
f-trycua Jul 1, 2026
47bc079
docs(site): drop the brand theme + unused MDX components — plain fuma…
f-trycua Jul 1, 2026
6d56532
feat(cua-driver/macos): CDP-native page typing rungs — insert_text + …
f-trycua Jul 1, 2026
adc364c
docs(cua-driver): document the response-signal contract; fix stale ca…
f-trycua Jul 1, 2026
f239cc9
feat(cua-driver): MCP integration for Qwen Code, Factory Droid, and Z…
f-trycua Jul 1, 2026
7960e30
docs(cua-driver): add an agent-terminal example and a browser-use (pa…
f-trycua Jul 1, 2026
8eb904b
fix(cua-driver): CDP re-resolves the target every call; reinforce bac…
f-trycua Jul 1, 2026
e8cdcdf
docs(cua-driver): mark insert_text/type_keystrokes macOS-only, fix Wi…
f-trycua Jul 1, 2026
9c6a6d4
fix(cua-driver): address CodeRabbit review — honest path/verified ver…
f-trycua Jul 1, 2026
4fbb379
docs(cua-driver): remove obsolete Swift-parity docs; de-stale capture…
f-trycua Jul 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
20 changes: 6 additions & 14 deletions .github/workflows/cd-rust-cua-driver.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: "CD: Cua Driver (cross-platform)"

# Matches the artifact convention from cd-swift-cua-driver.yml:
# Rust implementation release workflow — cross-platform (Windows/Linux/macOS):
# - macOS: ONE universal binary tarball + bare universal binary
# (lipo arm64 + x86_64 in a single job, no separate per-arch matrix)
# - Windows: cua-driver.exe bare + .zip
Expand Down Expand Up @@ -251,8 +251,7 @@ jobs:
APPLICATION_CERT_BASE64: ${{ secrets.APPLICATION_CERT_BASE64 }}
CERT_PASSWORD: ${{ secrets.CERT_PASSWORD }}
run: |
# Create a temporary keychain just for this job (mirrors the
# pattern from cd-swift-cua-driver.yml). The keychain is torn
# Create a temporary keychain just for this job. The keychain is torn
# down with the runner when the job exits.
security create-keychain -p "$KEYCHAIN_PASSWORD" build.keychain
security default-keychain -s build.keychain
Expand Down Expand Up @@ -325,14 +324,8 @@ jobs:
# tarball so install.sh can `ditto` it to
# /Applications/CuaDriver.app for the TCC auto-relaunch path.
#
# No codesigning at this layer — the bundle ships ad-hoc
# signed (the bare binary inherits whatever signature was
# applied at build/notarize time, currently none for the
# Rust port). TCC keys grants on the cdhash of the binary
# the user grants permission to, so ad-hoc is fine for the
# BETA release; production signing will land in a separate
# change that wires up the notarization script the way the
# Swift driver does.
# The bundle ships unsigned (notarization happens in the next step).
# TCC keys grants on the bundle identity (com.trycua.driver).
VERSION="${{ steps.version.outputs.version }}"
mkdir -p release/CuaDriver.app
cp -R scripts/CuaDriverBundle/Contents release/CuaDriver.app/Contents
Expand Down Expand Up @@ -503,9 +496,8 @@ jobs:
cp libs/cua-driver/scripts/_install-rust.sh release-upload/_install-rust.sh

# Uninstaller scripts — single canonical file per shell (no
# `_uninstall-rust.sh` helper). uninstall.sh handles Rust by
# default and keeps an explicit --backend=swift legacy path for
# retired macOS installs. uninstall.ps1 is the Windows uninstaller
# `_uninstall-rust.sh` helper). uninstall.sh handles Rust (the only
# supported backend). uninstall.ps1 is the Windows uninstaller
# and self-elevates via UAC when an -AutoStart install
# (RunLevel=Highest task) needs to be torn down.
cp libs/cua-driver/scripts/uninstall.sh release-upload/uninstall.sh
Expand Down
Loading
Loading