react-native-webrtc/react-native-callkeep

com.facebook.react.internal.turbomodule.core.TurboModuleInteropUtils$ParsingException: Unable to parse @ReactMethod annotations from native module: RNCallKeep. Details: Module exports two methods to JavaScript with the same name: "displayIncomingCall

kmamtora opened this issue ยท 18 comments

Bug report

  • I've checked the example to reproduce the issue.

Error: Exception in HostObject::get for prop 'RNCallKeep': com.facebook.react.internal.turbomodule.core.TurboModuleInteropUtils$ParsingException: Unable to parse @ReactMethod annotations from native module: RNCallKeep. Details: Module exports two methods to JavaScript with the same name: "displayIncomingCall

  • Reproduced on:
  • Android
  • iOS

Description

Steps to Reproduce

Versions

- Callkeep:
- React Native:
- iOS:
- Android:
- Phone model: 

Logs

Paste here

having the same issue

Same issue on latest "react-native": "^0.76.1", but not "react-native": "^0.75.4",

having the same issue

C0rren commented

Same issue. RN 0.76.1. newArch enabled.

Same issue. It happens only on Android when "new arch" is enabled.

To reproduce:

  • create a new React Native repo
  • make sure "new arch" is enabled newArchEnabled=true in gradle.properties
  • install CallKeep and import CallKeep in the index.js file import RNCallKeep from 'react-native-callkeep';
  • App crashes on start and the error message mentioned in the OP is displayed

Removing the CallKeep import gets rid of the error message.
Disabling "new arch" gets rid of the error message.

This happens on React Native 0.76 (where new architecture is enabled by default) and also happens in earlier versions if you enable the new architecture manually.

Same issue.

Same issue. RN 0.76.1. newArch enabled.

The issue below describes the problem:

facebook/react-native#45193


Temporarily disabled newArch on gradle.properties as workaround:
# newArchEnabled=true

same issue.

there is one more issue.

com.facebook.react.internal.turbomodule.core.TurboModuleInteropUtils$ParsingException: Unable to parse @ReactMethod annotations from native module: RNCallKeep. Details: Module exports two methods to JavaScript with the same name: "startCall

TSk198 commented

i think RN Callkeep dose not support New Arch yet. Check here

I was able to get around the error by commenting out one of the methods.
Here's how I did it:
edit the file node_modules/react-native-callkeep/android/src/main/java/io/wazo/callkeep/RNCallKeepModule.java
look for this:

@ReactMethod
public void displayIncomingCall(String uuid, String number, String callerName) {
        this.displayIncomingCall(uuid, number, callerName, false, null);
}

and this:

@ReactMethod
 public void startCall(String uuid, String number, String callerName) {
        this.startCall(uuid, number, callerName, false, null);
 }

comment or delete them and rebuilt, it should work.

I was able to get around the error by commenting out one of the methods. Here's how I did it: edit the file node_modules/react-native-callkeep/android/src/main/java/io/wazo/callkeep/RNCallKeepModule.java look for this:

@ReactMethod
public void displayIncomingCall(String uuid, String number, String callerName) {
        this.displayIncomingCall(uuid, number, callerName, false, null);
}

and this:

@ReactMethod
 public void startCall(String uuid, String number, String callerName) {
        this.startCall(uuid, number, callerName, false, null);
 }

comment or delete them and rebuilt, it should work.
react-native-callkeep+4.3.16.patch
I've created the patch to be used with patch-package