Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
311 commits
Select commit Hold shift + click to select a range
46e8f15
test(cua-driver): type Windows web integration rows
f-trycua Jul 11, 2026
176298a
test(cua-driver): type every WPF harness row
f-trycua Jul 11, 2026
b45d676
test(cua-driver): type every GTK3 harness row
f-trycua Jul 11, 2026
aa37e47
test(cua-driver): type macOS native harness rows
f-trycua Jul 11, 2026
06440e6
test(cua-driver): type capture contract rows
f-trycua Jul 11, 2026
6271fa4
test(cua-driver): type desktop scope contracts
f-trycua Jul 11, 2026
796b0ee
test(cua-driver): reject orphan E2E recordings
f-trycua Jul 11, 2026
a995353
fix(cua-driver): honor Windows foreground targets
f-trycua Jul 11, 2026
f50b717
test(cua-driver): launch required desktop fixtures
f-trycua Jul 11, 2026
91e10cc
test(cua-driver): split keyboard behavior cells
f-trycua Jul 11, 2026
6437793
test(cua-driver): target visible Windows desktop controls
f-trycua Jul 11, 2026
2c960ea
fix(cua-driver): make Windows background delivery honest
f-trycua Jul 11, 2026
6d973d2
fix(cua-driver): await Windows minimized launch
f-trycua Jul 11, 2026
309740a
fix(cua-driver): route explicit Windows expand actions
f-trycua Jul 11, 2026
b284b52
fix(cua-driver): expose complete Linux renderer targets
f-trycua Jul 11, 2026
c473e04
test(cua-driver): expose one canonical E2E command
f-trycua Jul 11, 2026
a86f820
test(cua-driver): allocate CDP ports per web case
f-trycua Jul 11, 2026
78bf172
test(cua-driver): isolate shared fixture CDP ports
f-trycua Jul 11, 2026
94a0509
test(cua-driver): poll web harness state
f-trycua Jul 11, 2026
465f4a2
fix(cua-driver): unwrap Windows expand pattern
f-trycua Jul 11, 2026
cd922be
fix(cua-driver): preserve macOS signing identity
f-trycua Jul 11, 2026
d835c15
fix(cua-driver): refuse dropped Windows Tk input
f-trycua Jul 11, 2026
e820aaf
fix(cua-driver): activate desktop click targets
f-trycua Jul 11, 2026
541b06b
fix(cua-driver): keep Linux AT-SPI listener active
f-trycua Jul 11, 2026
2ef2d9b
fix(cua-driver): target WebView key input threads
f-trycua Jul 11, 2026
7a369cf
fix(cua-driver): initialize AT-SPI outside Tokio
f-trycua Jul 11, 2026
e8b8aee
fix(cua-driver): expose foreground activation helper
f-trycua Jul 11, 2026
c3ef25a
test(cua-driver): fail strict desktop setup
f-trycua Jul 11, 2026
676fce4
fix(cua-driver): clean interrupted signing state
f-trycua Jul 11, 2026
f7a010c
fix(cua-driver): activate foreground pointer delivery
f-trycua Jul 11, 2026
d19c770
fix(cua-driver): make Linux delivery outcomes honest
f-trycua Jul 11, 2026
a91728f
test(cua-driver): surface Linux AX diagnostics
f-trycua Jul 11, 2026
76751fb
fix(cua-driver): preserve valid Linux screen extents
f-trycua Jul 11, 2026
a7233a9
test(cua-driver): isolate WebView2 fixture state
f-trycua Jul 11, 2026
f7d1361
fix(cua-driver): preserve foreground pointer position
f-trycua Jul 11, 2026
d724ec2
Revert "fix(cua-driver): preserve foreground pointer position"
f-trycua Jul 11, 2026
fdb6b76
fix(cua-driver): preserve foreground pointer position
f-trycua Jul 11, 2026
88ae44a
fix(cua-driver): target desktop clicks before overlay
f-trycua Jul 11, 2026
dd4f239
fix(cua-driver): target late AT-SPI peers explicitly
f-trycua Jul 11, 2026
c12f2da
fix(cua-driver): choose deepest focused renderer
f-trycua Jul 11, 2026
2b9ef79
fix(cua-driver): separate foreground pointer phases
f-trycua Jul 11, 2026
55cdb09
fix(cua-driver): hold minimized launch state
f-trycua Jul 11, 2026
0a17f3a
fix(cua-driver): settle foreground pointer activation
f-trycua Jul 11, 2026
8af1d0b
test(cua-driver): verify web actions through fixture journal
f-trycua Jul 11, 2026
d33ddb7
fix(cua-driver): synchronize foreground pointer activation
f-trycua Jul 11, 2026
8f11a59
fix(cua-driver): shield background UIA focus
f-trycua Jul 11, 2026
174ff5c
fix(cua-driver): send pointer buttons at current cursor
f-trycua Jul 11, 2026
277e7f5
test(cua-driver): bridge Electron fixture journal
f-trycua Jul 11, 2026
3c7d03a
ci(cua-driver): replace legacy Linux desktop suites
f-trycua Jul 11, 2026
95baba5
fix(ci): remove unavailable Wayland shell input
f-trycua Jul 11, 2026
793def1
fix(ci): start Wayland session bus from Nix
f-trycua Jul 11, 2026
c18a814
test(cua-driver): observe handled WPF pointer events
f-trycua Jul 11, 2026
16275cb
test(cua-driver): keep fixture journal live
f-trycua Jul 11, 2026
689f732
test(cua-driver): resolve profile-local driver binary
f-trycua Jul 11, 2026
85ed9d2
refactor(cua-driver): remove speculative click delays
f-trycua Jul 11, 2026
71c0788
fix(cua-driver): target Linux text delivery exactly
f-trycua Jul 11, 2026
37700cd
fix(ci): make Wayland AT-SPI host portable
f-trycua Jul 11, 2026
9cde505
test(cua-driver): make Wayland preflight compositor-aware
f-trycua Jul 11, 2026
b0e9507
test(cua-driver): omit unavailable Wayland cursor oracle
f-trycua Jul 11, 2026
02d1d63
fix(cua-driver): make Linux delivery routes explicit
f-trycua Jul 11, 2026
628239f
fix(cua-driver): align Linux protocol discovery
f-trycua Jul 11, 2026
eefcd75
fix(cua-driver): index editable Linux controls
f-trycua Jul 11, 2026
26be364
fix(cua-driver): normalize Linux scroll coordinates
f-trycua Jul 11, 2026
cf90089
test(cua-driver): diagnose Wayland fixture startup
f-trycua Jul 11, 2026
ab12e6a
fix(cua-driver): snapshot Linux element bounds atomically
f-trycua Jul 11, 2026
ecffaf3
feat(cua-driver): render declared E2E coverage
f-trycua Jul 11, 2026
3a5eec8
fix(cua-driver): isolate Linux Electron runtime
f-trycua Jul 11, 2026
afb1682
test(cua-driver): assert platform scope schema
f-trycua Jul 11, 2026
fcb759e
ci(cua-driver): start Wayland accessibility bus
f-trycua Jul 11, 2026
4c7657f
test(cua-driver): fail incomplete E2E ownership
f-trycua Jul 11, 2026
9ac22df
test(cua-driver): tolerate cold WebView2 startup
f-trycua Jul 11, 2026
8eed773
test(cua-driver): require shared E2E fixtures
f-trycua Jul 11, 2026
349e308
fix(cua-driver): stabilize Windows background keys
f-trycua Jul 11, 2026
8b1c735
fix(cua-driver): wait for managed X11 windows
f-trycua Jul 11, 2026
19e2eaa
feat(cua-driver): align Linux cursor motion
f-trycua Jul 11, 2026
c421467
test(cua-driver): activate Windows focus sentinel
f-trycua Jul 11, 2026
cb91c55
ci(cua-driver): require live Wayland AT-SPI registry
f-trycua Jul 11, 2026
f075f3c
fix(cua-driver): type X11 absent atom explicitly
f-trycua Jul 11, 2026
4fe1047
fix(cua-driver): refuse background WPF keys
f-trycua Jul 11, 2026
470d482
fix(cua-driver): preserve background WebView input
f-trycua Jul 11, 2026
0cef499
fix(cua-driver): keep scroll future sendable
f-trycua Jul 11, 2026
eef72ea
test(cua-driver): stabilize X11 focus sentinel
f-trycua Jul 11, 2026
18dcf32
fix(cua-driver): retry exact AT-SPI text writes
f-trycua Jul 11, 2026
f36e095
ci(cua-driver): enable Chromium Wayland accessibility
f-trycua Jul 11, 2026
8c994c0
docs(cua-driver): define the canonical E2E model
f-trycua Jul 11, 2026
96c1ebf
Merge remote-tracking branch 'origin/main' into codex/link-e2e-videos
f-trycua Jul 11, 2026
c52a817
fix(cua-driver): route foreground WebKit typing
f-trycua Jul 11, 2026
557a59c
test(cua-driver): classify WebKit background typing
f-trycua Jul 11, 2026
e65f49f
fix(cua-driver): release WebView focus guard
f-trycua Jul 11, 2026
34559d5
docs(cua-driver): clarify E2E ownership and evidence
f-trycua Jul 11, 2026
eaa5995
fix(cua-driver): surface video finalization failures
f-trycua Jul 11, 2026
1800527
test(cua-driver): fix native Wayland harness targeting
f-trycua Jul 11, 2026
6f8d436
fix(cua-driver): deliver addressed WebView keys
f-trycua Jul 11, 2026
022dd53
fix(cua-driver): reject invalid finalized videos
f-trycua Jul 11, 2026
0a28495
test(cua-driver): fail closed on desktop preconditions
f-trycua Jul 11, 2026
8abf095
ci(cua-driver): pin E2E lanes to exact source
f-trycua Jul 11, 2026
9c76eb5
fix(cua-driver): reuse pixel focus for WebView keys
f-trycua Jul 11, 2026
69d3538
test(cua-driver): verify occlusion at dispatch
f-trycua Jul 11, 2026
900bfe8
test(cua-driver): separate desktop sentinel observations
f-trycua Jul 11, 2026
7fafe2c
test(cua-driver): focus sentinel in pure Wayland
f-trycua Jul 11, 2026
516cddb
test(cua-driver): await WinUI3 accessibility readiness
f-trycua Jul 11, 2026
3b67ee3
test(cua-driver): trust compositor focus on Wayland
f-trycua Jul 11, 2026
c70deb7
docs(cua-driver): close E2E convergence record
f-trycua Jul 11, 2026
3db3a6c
test(cua-driver): make E2E evidence auditable
f-trycua Jul 11, 2026
6aaa914
fix(cua-driver): restore Electron background clicks
f-trycua Jul 11, 2026
aea6b17
docs(cua-driver): record Electron background replay
f-trycua Jul 11, 2026
7623f7b
test(cua-driver): add native Windows PX background clicks
f-trycua Jul 11, 2026
e481b5e
docs(cua-driver): record native PX click rows
f-trycua Jul 11, 2026
55307b3
test(cua-driver): validate native PX click oracles
f-trycua Jul 11, 2026
106d128
docs(cua-driver): record native PX replay
f-trycua Jul 11, 2026
768f065
fix(cua-driver): validate macOS action delivery
f-trycua Jul 11, 2026
0e2c3f4
test(cua-driver): bind macOS E2E to source SHA
f-trycua Jul 11, 2026
6e05424
test(cua-driver): stabilize desktop session setup
f-trycua Jul 11, 2026
eb5f0ea
fix(cua-driver): compile Windows console discovery
f-trycua Jul 11, 2026
3112ffc
fix(cua-driver): type Windows console collection
f-trycua Jul 11, 2026
289d440
test(cua-driver): classify screenshot evidence as read-only
f-trycua Jul 11, 2026
d39c71c
test(cua-driver): physically focus Windows sentinel
f-trycua Jul 11, 2026
0c2331b
fix(cua-driver): complete Windows foreground pointer delivery
f-trycua Jul 11, 2026
4d873d4
test(cua-driver): align Windows shared contracts
f-trycua Jul 11, 2026
3f6fbd5
test(cua-driver): exercise WPF combo through UIA
f-trycua Jul 11, 2026
00a29c4
fix(cua-driver): launch explicit Windows apps minimized
f-trycua Jul 11, 2026
e43c294
fix(cua-driver): refuse unsafe minimized Windows launch
f-trycua Jul 11, 2026
1c2c6a9
docs(cua-driver): record converged desktop support
f-trycua Jul 11, 2026
8d28bee
fix(cua-driver): close macOS harness gaps
f-trycua Jul 11, 2026
b929b7b
docs(cua-driver): record macOS e2e validation
f-trycua Jul 11, 2026
17e75a9
docs(cua-driver): sync MCP reference
f-trycua Jul 11, 2026
2f07930
Merge remote-tracking branch 'origin/main' into codex/link-e2e-videos
f-trycua Jul 11, 2026
bd8857d
docs(lume): sync 0.3.13 references
f-trycua Jul 11, 2026
02ffb5b
test(cua-driver): unblock native Wayland fixture evidence
f-trycua Jul 11, 2026
6fa1662
ci(cua-driver): allow targeted Wayland diagnostics
f-trycua Jul 11, 2026
28dca7a
test(cua-driver): treat empty E2E filters as canonical
f-trycua Jul 11, 2026
820526e
fix(cua-driver/linux): surface native Wayland windows in list_windows…
ai-ag2026 Jul 8, 2026
26bf13c
fix(cua-driver/linux): skip redundant AT-SPI walk + document merge ca…
ai-ag2026 Jul 8, 2026
f03eb1e
test(cua-driver): cover native Wayland window merging
f-trycua Jul 11, 2026
7914f5c
ci(cua-driver): isolate Linux diagnostic lanes
f-trycua Jul 11, 2026
9d487cb
fix(cua-driver): isolate Linux recording AT-SPI runtime
f-trycua Jul 11, 2026
9d8caca
fix(cua-driver): refuse focus-bound Chromium background input
f-trycua Jul 11, 2026
04bf5f7
fix(cua-driver): route non-wlroots Wayland input via libei
ai-ag2026 Jul 6, 2026
95c685d
fix(cua-driver): harden libei readiness reporting
ai-ag2026 Jul 6, 2026
f7bb11e
fix(cua-driver): make GNOME/KDE Wayland input actually land via libei
ai-ag2026 Jul 8, 2026
ef4f8e2
fix(cua-driver): type layout-correctly via the compositor's xkb keymap
ai-ag2026 Jul 8, 2026
6976639
feat(cua-driver): implement libei drag (press-move-release) on GNOME/KDE
ai-ag2026 Jul 8, 2026
d6f0219
fix(cua-driver): address self-review -- drag/typing/routing edge cases
ai-ag2026 Jul 8, 2026
d3b6f6e
docs(cua-driver): clarify wayland_backend health is portal-reachabili…
ai-ag2026 Jul 8, 2026
132b242
fix(cua-driver): resolve native Sway window metadata
f-trycua Jul 11, 2026
ca2ead7
fix(cua-driver): annotate Linux AX click evidence
f-trycua Jul 11, 2026
8db45c7
test(cua-driver): stabilize GTK3 Wayland fixture runtime
f-trycua Jul 11, 2026
a3e436c
test(cua-driver): disable WebKit DMA-BUF in headless Wayland
f-trycua Jul 11, 2026
7bf607f
fix(cua-driver): preserve Sway window ids in pointer streams
f-trycua Jul 12, 2026
e6e9765
test(cua-driver): expand native GTK3 action matrix
f-trycua Jul 12, 2026
7fc0327
test(cua-driver): start WebKit process in isolated Wayland CI
f-trycua Jul 12, 2026
4c50aee
fix(cua-driver): preserve focus-free Linux click routes
f-trycua Jul 12, 2026
39b46e7
fix(cua-driver): keep Wayland AX typing target-addressed
f-trycua Jul 12, 2026
7418819
fix(cua-driver): refuse focus-bound Wayland background keys
f-trycua Jul 12, 2026
2bc5e51
fix(cua-driver): refuse Wayland background pointer gestures
f-trycua Jul 12, 2026
865ec3c
fix(cua-driver): crop Sway window captures
f-trycua Jul 12, 2026
984e0a5
fix(cua-driver): keep Linux AX value writes focus-free
f-trycua Jul 12, 2026
c1b7b04
fix(cua-driver): classify GTK background keyboard limits
f-trycua Jul 12, 2026
4d7819c
test(cua-driver): accept verified Electron background AX actions
f-trycua Jul 12, 2026
a5007e0
fix(cua-driver): scroll AT-SPI Value controls
f-trycua Jul 12, 2026
cb5aa28
fix(cua-driver): gate GTK background pointer capability
f-trycua Jul 12, 2026
4ca60ee
fix(ci): isolate Wayland GTK AT-SPI runtime
f-trycua Jul 12, 2026
9859de5
test(cua-driver): retain Linux fixture diagnostics
f-trycua Jul 12, 2026
79e5ac2
test(cua-driver): address GTK scroll viewport
f-trycua Jul 12, 2026
cd0f045
fix(cua-driver): exclude worktree metadata from VM sync
f-trycua Jul 12, 2026
8114e17
fix(cua-driver): avoid launching Orca on GNOME
f-trycua Jul 12, 2026
6b447d9
fix(cua-driver): move a11y mode into worker
f-trycua Jul 12, 2026
9efa94d
fix(ci): provide EGL-capable Wayland renderer
f-trycua Jul 12, 2026
def6297
fix(cua-driver): flush Wayland input events
f-trycua Jul 12, 2026
d5ef52b
ci(cua-driver): keep hosted Wayland on pixman
f-trycua Jul 12, 2026
b13ba51
fix(cua-driver): report Linux window identity and visibility
f-trycua Jul 12, 2026
dd40983
feat(cua-driver): ship portal input on Linux
f-trycua Jul 12, 2026
8161cf5
ci(cua-driver): compile portable portal input
f-trycua Jul 12, 2026
ca38d5b
fix(cua-driver): include portal stream metadata
f-trycua Jul 12, 2026
8719e29
fix(cua-driver): route native Wayland input precisely
f-trycua Jul 12, 2026
d6095bc
fix(cua-driver): bound Linux fixture probe
f-trycua Jul 12, 2026
9c65c15
fix(cua-driver): observe native GNOME sessions
f-trycua Jul 12, 2026
7b98527
fix(cua-driver): stabilize native Wayland discovery
f-trycua Jul 12, 2026
c9c8290
ci(cua-driver): split pure Wayland lanes
f-trycua Jul 12, 2026
a07ba76
fix(cua-driver): target native Wayland input safely
f-trycua Jul 12, 2026
b598504
test(cua-driver): expand Linux modality coverage
f-trycua Jul 12, 2026
deab912
test(cua-driver): align Wayland doctor assertion
f-trycua Jul 12, 2026
fabf4a2
fix(cua-driver): stabilize GNOME Wayland input
f-trycua Jul 12, 2026
f8e4b37
docs(cua-driver): record Linux Wayland coverage
f-trycua Jul 12, 2026
74a29a2
fix(cua-driver): publish GNOME helper v3
f-trycua Jul 12, 2026
346f6f7
fix(cua-driver): link xkbcommon in Nix package
f-trycua Jul 12, 2026
066b0d3
Merge remote-tracking branch 'origin/main' into codex/link-e2e-videos
f-trycua Jul 12, 2026
310e27c
docs(cua-driver): record final Linux matrices
f-trycua Jul 12, 2026
9736e19
fix(cua-driver): avoid nested AT-SPI runtimes
f-trycua Jul 12, 2026
b583360
fix(cua-driver): deliver Wayland renderer keys
f-trycua Jul 12, 2026
4925f94
fix(cua-driver): resolve Wayland recording targets
f-trycua Jul 12, 2026
d0041d2
fix(cua-driver): preserve Wayland target identity
f-trycua Jul 12, 2026
ff1071a
fix(cua-driver): retain Wayland action targets
f-trycua Jul 12, 2026
bf32d0b
docs(cua-driver): record Linux Wayland results
f-trycua Jul 12, 2026
935de58
docs(cua-driver): document platform validation
f-trycua Jul 12, 2026
43e2015
docs(cua-driver): clarify Wayland inject mode
f-trycua Jul 12, 2026
b9f4a77
docs: refresh contributor entry points
f-trycua Jul 12, 2026
123424e
ci: select TypeScript workspace pnpm
f-trycua Jul 12, 2026
573a2d7
fix(typescript): build core before typecheck
f-trycua Jul 12, 2026
5176ecd
chore(typescript): ignore generated output
f-trycua Jul 12, 2026
8937209
docs(cua-driver): plan Linux support completion
f-trycua Jul 12, 2026
e1e30f1
test(cua-driver): identify Linux E2E environment routes
f-trycua Jul 12, 2026
8d3ad79
docs(cua-driver): reconcile Linux validation state
f-trycua Jul 12, 2026
b91b613
fix(cua-driver): restore minimized Windows targets
f-trycua Jul 12, 2026
d11c026
fix(cua-driver): harden nested Wayland injection
f-trycua Jul 12, 2026
6c0b45f
test(cua-driver): restore nested Wayland E2E lane
f-trycua Jul 12, 2026
25eac20
feat(cua-driver): complete nested Wayland input routes
f-trycua Jul 12, 2026
88bf2ba
fix(cua-driver): preserve VM source identity
f-trycua Jul 12, 2026
edb64a2
ci(cua-driver): formalize Linux release validation
f-trycua Jul 12, 2026
3907800
ci(cua-driver): isolate nested Wayland validation
f-trycua Jul 12, 2026
a09c11c
fix(cua-driver): verify synced VM source marker
f-trycua Jul 12, 2026
84e48aa
fix(cua-driver): activate nested Wayland targets by pid
f-trycua Jul 12, 2026
08ba638
fix(cua-driver): resolve VM tar paths
f-trycua Jul 12, 2026
948a616
fix(cua-driver): prepare VM fixture staging
f-trycua Jul 12, 2026
b5a6561
test(cua-driver): preflight each Linux lane fixture
f-trycua Jul 12, 2026
8cdc28e
test(cua-driver): select GTK Wayland backend
f-trycua Jul 12, 2026
f3ae5ef
test(cua-driver): enable native Wayland desktop lanes
f-trycua Jul 12, 2026
c5c51d2
fix(cua-driver): harden nested Wayland delivery
f-trycua Jul 12, 2026
6ab4e93
fix(cua-driver): target nested Wayland clients by pid
f-trycua Jul 12, 2026
39f519b
test(cua-driver): update nested Wayland key coverage
f-trycua Jul 12, 2026
1280021
fix(cua-driver): stabilize Sway renderer geometry
f-trycua Jul 12, 2026
c1bf0f4
Merge remote-tracking branch 'origin/main' into codex/link-e2e-videos
f-trycua Jul 12, 2026
1c75cec
docs(cua-driver): refresh page tool reference
f-trycua Jul 12, 2026
b6c202f
fix(cua-driver): complete nested Wayland focus routing
f-trycua Jul 12, 2026
8518b81
fix(cua-driver): clear nested surface injection state
f-trycua Jul 12, 2026
676b9ef
fix(cua-driver): refuse missing nested keyboard resources
f-trycua Jul 12, 2026
16a3a4f
fix(cua-driver): crop Sway targets by stable identity
f-trycua Jul 12, 2026
581b563
fix(cua-driver): hit-test nested desktop input
f-trycua Jul 12, 2026
d784e67
fix(cua-driver): resolve nested surface origins
f-trycua Jul 12, 2026
a7b1d7d
fix(cua-driver): stabilize nested window identities
f-trycua Jul 12, 2026
dfc9890
fix(cua-driver): prefer nested semantic text writes
f-trycua Jul 12, 2026
15ed1f7
docs: align Linux contributor entry points
f-trycua Jul 12, 2026
6e87ea2
fix(cua-driver): align nested surface coordinates
f-trycua Jul 12, 2026
1fe2ae3
fix(cua-driver): rebase Sway renderer accessibility
f-trycua Jul 12, 2026
1734eab
fix(cua-driver): unify nested capture coordinates
f-trycua Jul 12, 2026
0b0b0e2
test(cua-driver): report nested delivery routes
f-trycua Jul 12, 2026
a2a12db
test(cua-driver): trace shared pixel coordinates
f-trycua Jul 12, 2026
b122b39
fix(cua-driver): target nested renderer subsurfaces
f-trycua Jul 12, 2026
167f651
fix(cua-driver): resolve Sway renderer origins by identity
f-trycua Jul 12, 2026
a2714c3
fix(cua-driver): expose nested scene origins
f-trycua Jul 12, 2026
8296b82
fix(cua-driver): reuse observed Wayland origins
f-trycua Jul 12, 2026
88d700f
fix(cua-driver): normalize nested fallback windows
f-trycua Jul 12, 2026
e283f6a
fix(cua-driver): route nested renderer pointer resources
f-trycua Jul 12, 2026
54c4ab7
fix(cua-driver): hit-test occluded nested targets
f-trycua Jul 12, 2026
16fb314
fix(cua-driver): preserve observed Wayland origins
f-trycua Jul 12, 2026
a78f525
fix(cua-driver): complete nested wheel frames
f-trycua Jul 12, 2026
79cc993
docs(cua-driver): record Linux completion evidence
f-trycua Jul 12, 2026
6ee1952
test(cua-driver): isolate recording phase hooks
f-trycua Jul 12, 2026
e5f6d64
docs(cua-driver): publish platform support roadmap
f-trycua Jul 12, 2026
a42fbd8
docs(cua-driver): plan second-wave PR landing
f-trycua Jul 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 0 additions & 34 deletions .dockerignore

This file was deleted.

3 changes: 3 additions & 0 deletions .github/scripts/tests/test_cua_driver_release_wiring.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@ def test_release_reminder_tracks_rust_driver(self) -> None:
workflow = self.read(".github/workflows/ci-release-reminder.yml")

self.assertIn('["libs/cua-driver/rust/"]="cua-driver-rs"', workflow)
self.assertIn("cua-driver desktop release validation", workflow)
self.assertIn("e2e-rust-linux.yml", workflow)
self.assertIn("e2e-rust-linux-wayland.yml", workflow)

def test_unreleased_digest_tracks_rust_driver(self) -> None:
workflow = self.read(".github/workflows/release-unreleased-digest.yml")
Expand Down
16 changes: 7 additions & 9 deletions .github/workflows/cd-rust-cua-driver.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,16 +74,14 @@ jobs:
- name: Install base tooling (container is bare)
run: |
apt-get update
# The PipeWire / libei deps the native-Wayland portal path uses
# are intentionally NOT installed here: bullseye ships PipeWire
# 0.3.19 (too old for libspa-sys 0.8, which needs >= 0.3.40) and
# has no libei-dev at all. They sit behind the `portal-libei`
# Cargo feature (disabled by default) and are wired in via the
# Nix build. The wlroots screencopy + virtual-pointer paths and
# the X11 fallback work without them.
# PipeWire ScreenCast capture remains Nix/modern-build only because
# bullseye's 0.3.19 headers are too old for libspa-sys 0.8. Portal
# RemoteDesktop/libei input is pure Rust plus libxkbcommon and ships
# in these portable release binaries.
apt-get install -y --no-install-recommends \
git ca-certificates curl build-essential pkg-config \
libx11-dev libxi-dev libxtst-dev libxext-dev libwayland-dev
libx11-dev libxi-dev libxtst-dev libxext-dev libwayland-dev \
libxkbcommon-dev
- uses: actions/checkout@v4
- name: Determine version
id: version
Expand All @@ -109,7 +107,7 @@ jobs:
rust-cua-driver-rs-linux-${{ matrix.arch }}-
- name: Build (release)
working-directory: libs/cua-driver/rust
run: cargo build -p cua-driver --release --target ${{ matrix.target }}
run: cargo build -p cua-driver --release --features portal-input --target ${{ matrix.target }}
- name: Package
working-directory: libs/cua-driver/rust
run: |
Expand Down
128 changes: 0 additions & 128 deletions .github/workflows/ci-cua-driver-interactive-linux.yml

This file was deleted.

10 changes: 5 additions & 5 deletions .github/workflows/ci-lint-typescript.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,14 @@ jobs:

- name: Set up pnpm
uses: pnpm/action-setup@v4
with:
package_json_file: libs/typescript/package.json

- name: Install Node dependencies
run: |
pnpm install --frozen-lockfile
pnpm -C libs/typescript install --frozen-lockfile
run: pnpm -C libs/typescript install --frozen-lockfile

- name: TypeScript typecheck
run: node ./scripts/typescript-typecheck.js
run: pnpm -C libs/typescript typecheck

- name: Prettier check
run: pnpm prettier --check "libs/typescript/**/*.{ts,tsx,js,jsx,json,md,yaml,yml}"
run: pnpm -C libs/typescript format:check
19 changes: 11 additions & 8 deletions .github/workflows/ci-nix-linux.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,21 @@
name: "CI: Nix Linux Rust source"

# This is the automatic Nix lane. Desktop-heavy legacy checks live in
# nix-build.yml and nix-wayland.yml and are maintainer-dispatched instead.
# Nix owns reproducible Linux package and Rust-source builds. Interactive
# desktop behavior is owned by the Rust E2E workflows.
on:
pull_request:
paths:
- "flake.nix"
- "flake.lock"
- "nix/cua-driver/package.nix"
- "nix/cua-driver/tests/rust-unit.nix"
- "nix/cua-driver/**"
- "libs/cua-driver/rust/**"
- ".github/workflows/ci-nix-linux.yml"
push:
branches: [main]
paths:
- "flake.nix"
- "flake.lock"
- "nix/cua-driver/package.nix"
- "nix/cua-driver/tests/rust-unit.nix"
- "nix/cua-driver/**"
- "libs/cua-driver/rust/**"
- ".github/workflows/ci-nix-linux.yml"
workflow_dispatch:
Expand All @@ -41,5 +39,10 @@ jobs:
with:
extra_nix_config: |
experimental-features = nix-command flakes
- name: Run source-built Rust check
run: nix build .#checks.x86_64-linux.cua-driver-linux-rust-unit --print-build-logs --show-trace
- name: Build package and source-owned Rust tests
run: >-
nix build
.#checks.x86_64-linux.cua-compositor-build
.#checks.x86_64-linux.cua-driver-build
.#checks.x86_64-linux.cua-driver-linux-rust-unit
--print-build-logs --show-trace
8 changes: 8 additions & 0 deletions .github/workflows/ci-release-reminder.yml
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,14 @@ jobs:
BODY+="\nOr add \`no-release\` to skip."
fi

if printf '%s\n' "${AFFECTED[@]}" | grep -qx 'cua-driver-rs'; then
BODY+="\n\n### cua-driver desktop release validation\n\n"
BODY+="Before adding the release label, a maintainer records green runs on the exact release SHA:\n"
BODY+="- [ ] [Linux X11 canonical matrix](https://github.com/${REPO}/actions/workflows/e2e-rust-linux.yml)\n"
BODY+="- [ ] [Linux Sway canonical matrix](https://github.com/${REPO}/actions/workflows/e2e-rust-linux-wayland.yml) with environment \`sway\`\n"
BODY+="- [ ] Result links and remaining experimental environment gaps are recorded in the PR\n"
fi

# Delete previous reminder comment if exists, then post new one
EXISTING_COMMENT_ID=$(gh api "repos/${REPO}/issues/${PR_NUMBER}/comments" \
--jq ".[] | select(.body | contains(\"${COMMENT_MARKER}\")) | .id" 2>/dev/null | head -1)
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/ci-rust-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,10 @@ jobs:
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
clang pkg-config libdbus-1-dev libpipewire-0.3-dev libspa-0.2-dev \
libei-dev libx11-dev libxi-dev libxtst-dev libxext-dev
libei-dev libxkbcommon-dev libx11-dev libxi-dev libxtst-dev libxext-dev
- name: Run Linux Rust tests
working-directory: libs/cua-driver/rust
run: cargo test -p cua-driver -p cua-driver-core -p cua-driver-testkit -p platform-linux --all-targets --locked
- name: Compile portable GNOME/KDE portal input
working-directory: libs/cua-driver/rust
run: cargo check -p cua-driver --features portal-input --locked
3 changes: 1 addition & 2 deletions .github/workflows/ci-rust-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ on:
- "libs/cua-driver/rust/crates/cua-driver-testkit/**"
- "libs/cua-driver/rust/crates/platform-windows/**"
- "libs/cua-driver/rust/crates/cua-driver-uia/**"
- "libs/cua-driver/rust/crates/focus-monitor-win/**"
- "libs/cua-driver/tests/fixtures/**"
- ".github/workflows/ci-rust-windows.yml"
push:
Expand Down Expand Up @@ -43,4 +42,4 @@ jobs:
working-directory: libs/cua-driver/rust
# Compile every Rust target without executing desktop-dependent integration
# tests; interactive behavior belongs in e2e-rust-windows.yml.
run: cargo test -p cua-driver -p cua-driver-core -p cua-driver-testkit -p platform-windows -p cua-driver-uia -p focus-monitor-win --all-targets --no-run --locked
run: cargo test -p cua-driver -p cua-driver-core -p cua-driver-testkit -p platform-windows -p cua-driver-uia --all-targets --no-run --locked
8 changes: 4 additions & 4 deletions .github/workflows/claude-auto-fix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ jobs:

TYPESCRIPT TOOLS:
- prettier: code formatter
- TypeScript: type checking via node ./scripts/typescript-typecheck.js
- TypeScript: type checking via pnpm -C libs/typescript typecheck
- pnpm: package manager

TASK:
Expand All @@ -269,18 +269,18 @@ jobs:
- Formatting: uv run black .
- Linting: uv run ruff check . --fix
For TypeScript lint failures:
- Formatting: pnpm prettier --write "**/*.{ts,tsx,js,jsx,json,md,yaml,yml}"
- Formatting: pnpm -C libs/typescript format
After auto-fixing, verify the fix passes:
- Python: uv run isort --check-only . && uv run black --check . && uv run ruff check .
- TypeScript: pnpm prettier --check "**/*.{ts,tsx,js,jsx,json,md,yaml,yml}"
- TypeScript: pnpm -C libs/typescript format:check

FIXING TEST FAILURES:
For Python test failures:
- Run the specific failing test: uv run python -m pytest libs/python/<package>/tests/ -v --tb=long
- The test environment uses CUA_TELEMETRY_ENABLED=false
- Tests use pytest-asyncio with asyncio_mode=auto
For TypeScript build/type failures:
- Check types: node ./scripts/typescript-typecheck.js
- Check types: pnpm -C libs/typescript typecheck
- Build: cd libs/typescript && pnpm install && pnpm build

IMPORTANT:
Expand Down
Loading