Skip to content

[Due for payment 2026-10-12] Upgrade react-native-gesture-handler to 3.x before RN 0.88 bump #101442

Closed

Description

@MelvinBot

Parent issue

Part of #101427 — must land before the main React Native 0.88 / Expo SDK 58 bump PR.

Background

Expo SDK 58 bundles react-native-gesture-handler ~3.2.1. main is on 2.32.0. Gesture Handler declares react-native: *, so it is not gated on the RN bump and can land on the current RN 0.86 / Expo SDK 57 stack.

This is the largest of the prerequisite upgrades and should be landed early and on its own. Gesture Handler 3 was rebuilt for the New Architecture (old-arch/paper support was removed — App already runs newArchEnabled=true) and ships a new hook-based API, a new Touchable, a deeper Reanimated integration, removal of deprecated components, removal of gestureHandlerRootHOC and RNGestureHandlerEnabledRootView, and a reorganized set of exported types.

App has roughly 54 import sites from react-native-gesture-handler, using Gesture, GestureDetector, GestureHandlerRootView, the RNGH FlatList / ScrollView / TextInput wrappers, and event payload types such as PanGestureHandlerEventPayload and PanGestureChangeEventPayload.

Scope

  • Bump react-native-gesture-handler 2.32.0 → ~3.2.1 in App (and Mobile-Expensify if required for HybridApp parity)
  • Migrate breaking API and type changes across all import sites
  • Verify no remaining use of removed APIs (gestureHandlerRootHOC, RNGestureHandlerEnabledRootView, deprecated handler components)
  • Review the Gesture Handler 3 release notes and the 3.x migration guide

Target

  • react-native-gesture-handler@~3.2.1 (Expo SDK 58 bundled version)

Acceptance criteria

  • App builds on iOS, Android, and web
  • HybridApp builds if Mobile-Expensify changes are needed
  • tsc passes with no new type errors
  • Swipe-to-reply / swipe actions, pinch-to-zoom on receipts and attachments, the avatar crop and receipt crop views, the video player scrubber and volume slider, and drawer/modal swipe dismissal all behave as before
  • No new JS console errors

Notes

  • Keep this PR focused — do not include the RN / Expo version bump here
  • There are no patches under patches/react-native-gesture-handler/ today

Activity

  1. self-assigned this
    on Sep 17, 2026
  2. melvin-bot commented on Sep 21, 2026

    @melvin-bot

    @war-in Whoops! This issue is 2 days overdue. Let's get this updated quick!

  3. melvin-bot commented on Sep 23, 2026

    @melvin-bot

    @war-in Huh... This is 4 days overdue. Who can take care of this?

  4. melvin-bot commented on Sep 25, 2026

    @melvin-bot

    @war-in Still overdue 6 days?! Let's take care of this!

  5. melvin-bot commented on Sep 29, 2026

    @melvin-bot

    @war-in 10 days overdue. I'm getting more depressed than Marvin.

  6. changed the title [-]Upgrade react-native-gesture-handler to 3.x before RN 0.88 bump[/-] [+][Due for payment 2026-10-12] Upgrade react-native-gesture-handler to 3.x before RN 0.88 bump[/+] on Oct 5, 2026
  7. melvin-bot commented on Oct 5, 2026

    @melvin-bot

    @Julesssss / @mountiny / @roryabraham @shubham1206agra / @war-in / @jakubstec / @collectioneur

    The solution for this issue has been 🚀 deployed to production 🚀 in version 9.5.2-4 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:

    If no regressions arise, payment will be issued on 2026-10-12. 🎊

    The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the Contributor+ Checklist from here into a new comment on this GH and complete it. If you have the K2 extension, you can simply click: [this button]. If no checklist is needed for this issue, you can click: [no checklist button]

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

Metadata

Metadata

Labels

DailyKSv2EngineeringInternalRequires API changes or must be handled by Expensify staffTask

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions