Add scoped typed targeting to explicit UI invoke - #932
Draft
Nikola Metulev (nmetulev) wants to merge 4 commits into
Draft
Nikola Metulev (nmetulev) wants to merge 4 commits into
Nikola Metulev (nmetulev) wants to merge 4 commits into
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Contributor
Build Metrics ReportValidation passed. All required build and validation jobs succeeded. Binary Sizes
.NET Test Results (TRX reports)Other suites are reflected in the overall validation status above. ✅ 7897 passed, 37 skipped out of 7934 tests in 1210.7s (+18 tests, -57.9s vs. baseline) Test Coverage✅ 86.3% line coverage, 80.9% branch coverage · ✅ no change vs. baseline CLI Startup Time65ms median (x64, Try This BuildInstalls the MSIX for your architecture, replacing any previously installed build. Needs the GitHub CLI — the command offers to install it and sign you in if it is missing. & ([scriptblock]::Create((irm https://raw.githubusercontent.com/microsoft/winappCli/main/scripts/winapp-pr.ps1))) 932Switching between builds often?Put the tool on your PATH once: & ([scriptblock]::Create((irm https://raw.githubusercontent.com/microsoft/winappCli/main/scripts/winapp-pr.ps1))) -AddToPathThen this build is just: winapp-pr 932Run Updated 2026-09-24 18:33:01 UTC · commit |
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Allow
winapp ui invoke --actionto reuse the UI read-query filters (--root,--type,--class-name). A filtered explicit action must match exactly one element in the requested app or window; it confirms the same live UIA provider inside the coordinated desktop turn before acting, without switching to a replacement, another window, or an invokable ancestor. Supplying filters without--actionis rejected, leaving automatic invoke unchanged.Usage Example
Zero matches, ambiguous matches, stale elements and invalid filters fail without acting. Use
winapp ui inspect -w <dialog-HWND>to find a current selector or narrow the query.Related Issue
N/A
Type of Change
Checklist
docs/usage.mdupdatedScreenshots / Demo
The example above is an illustrative CLI interaction; this change has no visual UI. No recording was captured because the Sandbox target could not be prepared.
Additional Notes
Focused CLI tests: 147 passed; focused UIAutomation tests: 116 passed. Debug solution build passed with zero warnings/errors. The repository build completed with
-SkipTests(full packaging/docs before integrating the latest base), and-SkipAllrepublished both architectures after integratingmain. Plugin and CLI schema validations passed. The full test run is not green locally: the initial run hit inaccessibleapi.nuget.org; a session-scoped mirror let 311 Node tests pass, but an unrelatedGuestProcessHostTests.WaitForExit_AwaitsOutputDeliveryBeforeReadingMoretimed out. CI is pending; this draft does not assert readiness.Sandbox smoke testing was attempted twice with the published CLI. Target provisioning failed on the host's Sandbox
shareoperation withE_ACCESSDENIED(sandbox_start_failed), so no guest interaction or host UI timing substitution was performed. A useful tooling improvement would be to distinguish a running-but-unattached Sandbox that cannot share from an ordinary startup failure and suggest actionable recovery beyond a generic retry/restart. No performance improvement is claimed.AI Description
This section is auto-generated by AI when the PR is opened or updated. To opt out, delete this entire section including the marker comments.