[1/2] LT-22324: add FieldWorks UI automation support#869
Conversation
|
Was removing this intentional? It seemed this would produce less churn in the repo with it in. |
|
Good catch. That removal wasn't intentional. I restored the BOM-preserving behavior in |
70d6808 to
29162e5
Compare
This comment has been minimized.
This comment has been minimized.
b721182 to
3aa324a
Compare
fe6f187 to
2488da1
Compare
|
Follow-up after the PR split cleanup: Build/Agent/fix-whitespace.ps1 is no longer part of #869. This PR now contains only the 12 UI automation support files. The BOM-preserving whitespace-fixer change belongs with the base cleanup layer instead, so if you want to review that script change specifically, please look at the base branch/PR rather than this support-only PR. |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 12 out of 12 changed files in this pull request and generated 4 comments.
Comments suppressed due to low confidence (1)
.github/skills/fieldworks-winapp/SKILL.md:1
- The skill name
fieldworks-winappsuggests it is WinApp-only, but the skill is explicitly dual-driver (WinForms MCP + WinApp fallback). Consider renaming the skill to reflect its scope (e.g.,fieldworks-ui-automationorfieldworks-winforms-winapp) to avoid incorrect discovery/selection by authors and agents.
---
| "winforms-mcp": { | ||
| "type": "stdio", | ||
| "command": "npx", | ||
| "args": [ | ||
| "-y", | ||
| "@fnrhombus/winforms-mcp" | ||
| ], | ||
| "env": { | ||
| "HEADLESS": "true", | ||
| "TFM": "net48", | ||
| "TELEMETRY_OPTOUT": "true" | ||
| } |
| - a route needs UIA3-specific behavior or a control is not exposed correctly through WinForms MCP; | ||
| - troubleshooting focus, foreground-window behavior, or non-WinForms surfaces. | ||
|
|
||
| Headless WinForms MCP limitations: `send_keys`, drag/drop, and double-click paths use input simulation and require the visible desktop. Prefer `winforms_type_text`, `winforms_set_value`, `winforms_select_item`, `winforms_click_element`, and `winforms_click_menu_item` for headless work. |
| - **Headless text input does nothing** – use WinForms MCP `type_text` or `set_value`, not `send_keys`. | ||
| - **Headless screenshot is blank or stale** – pass the FieldWorks process ID to `take_screenshot` when the client exposes that parameter. |
| @@ -13,6 +14,7 @@ servers automatically: | |||
| | VS Code 1.101+ | Remote MCP + OAuth support | https://code.visualstudio.com | | |||
2488da1 to
daf921a
Compare
Keep build/test helper cleanup out of the render commit. Keep agent, installer, and xWorks cleanup separate. Normalize TonePars generated-file comparisons for Windows paths.
3aa324a to
bc7e8b1
Compare
Summary
This PR keeps only the support-side additions that are independent of the render cleanup branch: FieldWorks live-app automation guidance, screenshot evidence workflow notes, and WinForms MCP setup for UIA2 automation with WinApp/UIA3 fallback guidance.
Stack
Included
.github/skills/fieldworks-winapp..github/skills/smart-screenshot-capture.winforms-mcpto.vscode/mcp.jsonwith headlessnet48settings.Docs/mcp.md.Excluded
.agents/skills, which is split into a separate stacked PR.Verification
git diff --name-status cleanup/non-render-pr-split...HEADgit diff --check cleanup/non-render-pr-split...HEADpython -m json.tool .vscode/mcp.jsongit grep -n "LT-22324" -- .github/skills/fieldworks-winappreturned no matchesThis change is