Repository navigation
fix: anchor native Duo coordinates to application windows - #1292
Merged
Merged
Conversation
| element:(XCUIElement *)element | ||
| error:(NSError **)error | ||
| { | ||
| if (element.elementType == XCUIElementTypeApplication) { |
There was a problem hiding this comment.
can we make it to a guard for better readiblity?
mykola-mokhnach
approved these changes
Oct 6, 2026
…nto fix/duo-native-coordinates
…nto fix/duo-native-coordinates
KazuCocoa
added a commit
that referenced
this pull request
Oct 8, 2026
* feat: add currentDisplayId setting for screenshots * chore: remove boolean check from currentDisplayId validation * feat: target the currentDisplayId display with W3C actions * fix: validate display settings and report available ids * test: fix available-display assertion syntax * refactor: clarify the display coordinate correction * feat: support Duo hinge control and secondary display capture * fix: align element actions and scrolling on secondary displays * remove simulator only logic, temporary implementation * add get * refactor a bit * refactor: separate hinge capabilities and delegate screen lookup * fix: guard display APIs for older XCTest versions * refactor: name hinge timeout and document runtime loading * docs: explain why hinge events bypass the existing HID helper * revert unnecessary chnages in the readme * refactor: unify display checks and scroll geometry * fix: guard scrolling orientation APIs on watchOS (#1294) * fix: preserve display-independent actions and correct landscape scrolling * refactor: clarify display validation and action synthesis stages * test: preserve shared alert fixture in display-independent action test * fix: anchor native Duo coordinates to application windows (#1292) * fix: anchor native Duo coordinates to application windows * test: cover native coordinates across displays and orientations * fix: restrict native coordinates to windows on the selected display * refactor: use guards for native gesture coordinate routing * docs: document legacy SDK coordinate limitations on Duo * test: wait for rotated gesture fixture geometry to settle * docs: record verified Duo simulator capture and layout limitations * fix: normalize portrait geometry for landscape-native screens * fix: align application origins on secondary displays * fix: preserve native gesture edge coordinates * shorten --------- Co-authored-by: Jason Steinberg <j.steinberg702@gmail.com>
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.
On Duo's inner display, native coordinate tap, double tap, hold, and drag could return success without delivering a touch at the requested location. Anchor application-root coordinates on a selected secondary display to the containing application window, preserving XCTest's display affinity.
The window must belong to the selected display. A reproduced case selected display 3 but returned a window on display 1; the regression test now verifies that this request fails without returning a coordinate. Resolve each window before reading its screen, then require both display affinity and point containment. Element-relative and default main-display native coordinate paths retain their existing behavior.
Targets
fix/duo-display-gestures(#1288) and includes its latest regression fixes through a merge. #1291 handles screen metadata independently. Related to appium/appium#22857.Validation
Physical testing is deferred. CI for the updated heads is in progress.