fix: stabilize iOS runner gestures#800
Merged
Merged
Conversation
Size Report
Startup median (7 runs, lower is better):
Top changed chunks:
|
Member
Author
|
Addressed the review parity gap: repeated iOS swipe/sequence drag now uses |
|
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 three iOS runner issues found during replay-suite validation: avoid stale XCTest window-index queries during AX snapshot fallback viewport discovery, route iOS phone/tablet drag gestures through synthesized drag so
durationMscontrolsswipe,gesture pan,gesture fling, and repeated swipe sequences, and keep macOS/tvOS on the existing coordinate/focus paths.This stays inside the ADR 0004/0005 runner seam: Swift runner changes remain local to viewport discovery and sequence execution, while TS platform overrides only request the synthesized path for iOS touch targets. Touched files: 6 in the latest follow-up, 8 across the PR.
Validation
Static/build checks on this clean branch:
pnpm check:quick,pnpm build:xcuitest,pnpm build, focused Vitest forsrc/platforms/ios/__tests__/index.test.tsandsrc/core/__tests__/dispatch-interactions.test.ts, fulloxfmtcoverage using the local formatter binary, and local Fallow audit via./node_modules/.bin/fallow audit --base origin/main. Directpnpm check:fallow --base origin/mainwas blocked by pnpm version-switch network verification before project code ran; the local Fallow binary passed the audit gate.Live simulator evidence used iOS simulator
C25DBB5B-9254-4293-A8D5-2785C78DE03Awith React Navigationorg.reactnavigation.playground.material-top-tabs.ymlpassed in 20.1s / 20.2s wall with threeduration: 300swipes; runner drag windows were about 0.91s / 1.29s / 0.97s and the old XCTestvelocity of 500coordinate-drag log was absent.Fresh direct duration checks in session
ios-duration-gesturesalso passed:gesture pan 350 500 -300 0 300completed in 0.89s,gesture fling right 200 500 180 50in 1.12s, andswipe 350 500 50 500 300 --count 2 --pause-ms 30 --pattern ping-pongin 1.42s. Runner logs showed the expecteddrag/sequencecommands completing with nogestureFallback, noxctest-coordinate-drag, and novelocity of 500marker. Manual sessions were closed, custom daemon state dirs were cleaned, and process checks found no remaining validation runner/xcodebuild processes.