Repository navigation
Fix dynamic project card UIA bounds gate - #932
Merged
Merged
Conversation
Normalize and reacquire the project canvas before freezing exact card geometry at high DPI, while preserving strict identity, ordering, ownership, overlap, and viewport checks. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Signed-off-by: Colin Neilens <coneilen@microsoft.com>
coneilen
force-pushed
the
coneilen-fix-dynamic-card-uia-bounds
branch
from
October 26, 2026 12:54
dff22f9 to
f306161
Compare
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.
Summary
Fix the Windows live UIA gate's DPI192 dynamic-project-card cutoff without changing accessibility provider or #778 context-menu product behavior. The gate now normalizes the project canvas through the existing Fit Canvas action, reacquires the live graph, and freezes one exact card property batch before validating geometry.
Changes
UIA_DYNAMIC_PROJECT_CARD_EVIDENCEfrom cached ID/name/PID/bounds values.canvas-card-*provider children and unexpected graph children are still rejected.origin/mainat366f11f6; stable patch ID remains6d52261eca9cbd4a8b701a3128b3e3ba9858e545.Test plan
RED: pwsh -NoProfile -File Tools\windows\Tests\ValidationRunner.Tests.ps1 -> RED: dynamic project cards are not frozen after bounded Fit Canvas normalization and reacquisition
GREEN: pwsh -NoProfile -File Tools\windows\Tests\ValidationRunner.Tests.ps1 -> UiScenario 166/166 and UiCaptureDriver 182/182 passed
REGRESSION: pwsh -NoProfile -File Tools\windows\validate.ps1 -Task hardening -> repeated-runs PASS 3/3
FOCUSED_DYNAMIC_PROJECT_CARD_CONTRACT=PASS positive=1 negatives=8 dpi=192.pwsh -NoProfile -File Tools\windows\uia-live-gate.ps1 -Shell graphcode-windows\zig-out\bin\graphcode-windows.exe -Zmx D:\gcp-24cd\zmx\zig-out\bin\zmx.exe-> dynamic cards passed on the first frozen DPI192 snapshot with exact identities, non-overlap, and viewport intersection; the gate advanced through composite navigation and preserved the later unrelateddragging from the connector to the target card did not open the Create or edit edge dialogcutoff before Windows parity: Context menus carry the macOS item set and grouping #778 context-menu coverage.Tools\windows\uia-live-gate.ps1andTools\windows\Tests\ValidationRunner.Tests.ps1-> passed.git diff --check, stable patch-ID comparison, and LF checks for both changed files -> passed.f306161a9ae8018cf1e4efdd75eb8a5bcfbea7f8.Checklist
git commit -s) per the DCOmake test)make check)