Skip to content

[Due for payment 2026-10-27] Migrate react-native-gesture-handler builder API to the 3.x hook API #102782

Open

Description

@MelvinBot

Problem

Bump react-native-gesture-handler to 3.3.0 upgrades react-native-gesture-handler to 3.x but keeps App on the builder API (Gesture.Pan(), Gesture.Pinch(), GestureDetector, GestureType, and so on). Gesture Handler 3 marks that whole API as @deprecated in favor of the new hook-based API (usePanGesture, usePinchGesture, useTapGesture, ...).

To keep that PR a plain version bump, it renames the types to LegacyPanGesture, LegacyPinchGesture, LegacyTapGesture and LegacyComposedGesture and grandfathers 82 @typescript-eslint/no-deprecated violations across 24 files in config/eslint/eslint.seatbelt.tsv. Reviewers agreed to split the migration into a follow-up (review thread).

Solution

Migrate every gesture in App from the builder API to the Gesture Handler 3 hook API, then remove the matching no-deprecated entries from the seatbelt baseline. Split the work into more than one PR if that lowers regression risk, for example by feature area.

Files to migrate (from the seatbelt entries added in the bump PR):

Attachments and zoom

Crop views and sliders

Video player

Charts

Other

Done when

  • No App code uses the deprecated Gesture Handler builder API or Legacy* gesture types.
  • The @typescript-eslint/no-deprecated seatbelt entries for Gesture Handler symbols are removed.
  • Gestures behave the same on all platforms (attachment pinch / pan / double tap / swipe, crop views, sliders, video controls, modal and Growl dismiss, charts, camera tap-to-focus).

Related: Upgrade react-native-gesture-handler to 3.x before RN 0.88 bump

Requested by @mountiny in #102678 (comment)

Issue OwnerCurrent Issue Owner: @QichenZhu

Activity

  1. QichenZhu commented on Oct 6, 2026

    @QichenZhu
    Contributor

    The PR this issue is on hold for has been deployed to production.

  2. changed the title [-][HOLD App#102678] Migrate react-native-gesture-handler builder API to the 3.x hook API[/-] [+]Migrate react-native-gesture-handler builder API to the 3.x hook API[/+] on Oct 7, 2026
  3. mountiny commented on Oct 7, 2026

    @mountiny
    Contributor

    @collectioneur will you work on this, or should we pull in someone else?

  4. collectioneur commented on Oct 8, 2026

    @collectioneur
    Contributor

    Yeah, I'll work on this 👌

  5. collectioneur commented on Oct 15, 2026

    @collectioneur
    Contributor

    Opened the PR for the pan gesture migration
    cc: @QichenZhu

  6. changed the title [-]Migrate react-native-gesture-handler builder API to the 3.x hook API[/-] [+][Due for payment 2026-10-22] Migrate react-native-gesture-handler builder API to the 3.x hook API[/+] on Oct 15, 2026
  7. melvin-bot commented on Oct 15, 2026

    @melvin-bot

    @QichenZhu

    The solution for this issue has been 🚀 deployed to production 🚀 in version 9.5.9-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-22. 🎊

    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]

  8. changed the title [-][Due for payment 2026-10-22] Migrate react-native-gesture-handler builder API to the 3.x hook API[/-] [+][Due for payment 2026-10-27] Migrate react-native-gesture-handler builder API to the 3.x hook API[/+] on Oct 20, 2026
  9. melvin-bot commented on Oct 20, 2026

    @melvin-bot

    @QichenZhu

    The solution for this issue has been 🚀 deployed to production 🚀 in version 9.5.14-3 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-27. 🎊

    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

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions