Skip to content

TurboModuleInteropUtils$ParsingException: Duplicate setGeoIPTrackingEnabled method causes crash on RN 0.72+ / Expo SDK 53+ #129

@dmytro-relkin

Description

@dmytro-relkin

After upgrading to React Native 0.79 / Expo SDK 53 (which uses React Native 0.72+ under the hood), I encountered the following crash on Android during app startup:

Error: Exception in HostObject::get for prop 'RNSailthruMobile':
java.lang.RuntimeException: TurboModuleInteropUtils$ParsingException: Method 'setGeoIPTrackingEnabled' annotated with '@ReactMethod' appears more than once in class RNSailthruMobileModule

It seems there are two methods with the same name setGeoIPTrackingEnabled in the native module, which was previously ignored by the old JSC runtime but is now strictly validated by the TurboModule system in RN 0.72+.

https://github.com/sailthru/sailthru-mobile-react-native-sdk/blob/main/android/src/main/java/com/marigold/rnsdk/RNMarigoldModule.kt#L105

https://github.com/sailthru/sailthru-mobile-react-native-sdk/blob/main/android/src/main/java/com/marigold/rnsdk/RNMarigoldModule.kt#L110

Steps to reproduce:

  • Use sailthru-mobile-react-native-sdk (latest)
  • Upgrade project to Expo SDK 53 / RN 0.72+
  • Launch the Android app
  • Observe the crash on startup

Expected behavior:

The module should not define duplicate methods to stay compatible with TurboModules in newer React Native.

Proposed solution:

Please remove one of the duplicate setGeoIPTrackingEnabled methods or rename it to avoid the conflict. This will make the library compatible with React Native 0.72+ and Expo SDK 53+.

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions