Skip to content

fix: use safer in-page swipe lane#631

Merged
thymikee merged 1 commit into
mainfrom
fix/ios-in-page-swipe-lane
May 31, 2026
Merged

fix: use safer in-page swipe lane#631
thymikee merged 1 commit into
mainfrom
fix/ios-in-page-swipe-lane

Conversation

@thymikee
Copy link
Copy Markdown
Member

@thymikee thymikee commented May 31, 2026

Summary

Use one consistent in-page swipe preset for native gesture swipe left|right and Maestro directional swipes: 15%↔85% horizontally at a lower 65% viewport lane.

This keeps in-page swipes away from the iOS edge-navigation zone without shortening the gesture so much that React Native pager/material-tab views stop advancing. Explicit edge-navigation presets (left-edge / right-edge) remain unchanged.

I also tried the more human-like 25%↔75% lane. It failed React Navigation iOS pager flows (material-top-tabs, tab-view-custom-tab-bar, tab-view-scrollable-tab-bar) because the 50% travel was too short. 15%↔85% was the smallest consistent lane that passed the sensitive flows locally.

Validation

  • pnpm exec vitest run src/__tests__/runtime-interactions.test.ts src/core/__tests__/dispatch-interactions.test.ts
  • pnpm build
  • pnpm check:quick
  • React Navigation iOS affected swipe flows, 15%↔85%: 4/4 passed, no retries
  • React Navigation Android showcase-material-top-tabs.yml, 15%↔85%: passed, no retries
  • React Navigation iOS full Maestro suite, 15%↔85%: 38/38 passed, no retries
  • React Navigation Android full Maestro suite, 15%↔85%: 37/38 passed; one unrelated launch/deep-link wait failure in stack-float-screen-header.yml, rerun of that flow passed in 7.6s

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 31, 2026

Size Report

Metric Base Current Diff
JS raw 1.1 MB 1.1 MB -29 B
JS gzip 355.9 kB 355.8 kB -18 B
npm tarball 452.7 kB 452.7 kB -7 B
npm unpacked 1.5 MB 1.5 MB -29 B

Startup median (7 runs, lower is better):

Scenario Base Current Diff
CLI --version 27.2 ms 27.9 ms +0.7 ms
CLI --help 42.7 ms 43.2 ms +0.5 ms

Top changed chunks:

Chunk Raw diff Gzip diff
dist/src/9533.js -29 B -18 B

@thymikee thymikee force-pushed the fix/ios-in-page-swipe-lane branch from d402ea1 to 6370caa Compare May 31, 2026 08:41
@thymikee thymikee changed the title fix: avoid iOS edge lane for in-page swipes fix: use safer in-page swipe lane May 31, 2026
@thymikee thymikee merged commit 3cb126e into main May 31, 2026
18 checks passed
@thymikee thymikee deleted the fix/ios-in-page-swipe-lane branch May 31, 2026 09:11
@github-actions
Copy link
Copy Markdown

PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-05-31 09:11 UTC

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant