react-native-webrtc / react-native-webrtc/react-native-callkeep
[Feature-Request, iOS] Add completion for fulfilling action of 'performEndCallAction' delegate
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 1.1k
- Forks
- 511
- Avg merge
- 9h 12m
- Merged PRs (30d)
- 2
Description
Hey guys! Thank you all for the great project. It's absolutely must-have for calling apps based on react-native!
In our project we use the event 'endCall' to let know a server that incoming call was declined on the client side. The problem is when user declines an incoming call by system notification at the top of screen on iOS, while having the closed app, OS soon pauses all JS execution until a user opens the application.
I has been debugging the issue and finally figured out that implementation of performEndCallAction https://github.com/react-native-webrtc/react-native-callkeep/blob/2a4b0c0dc134021bedd85f57a2cc7dc68a717430/ios/RNCallKeep/RNCallKeep.m#L1051-L1059
fulfills the end call action right after emitting the event to JS-runtime. For example, if fulfillment will be delayed for 5 seconds then RN-side would be able to process properly notifying the server about declining call in my case.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with ios/RNCallKeep/RNCallKeep.m around performEndCallAction, especially the implementation linked in the issue, and trace how the delegate action is emitted to the JavaScript runtime and fulfilled. Define the completion behavior needed for a delayed fulfillment, then verify that an end-call notification can be processed before the action is fulfilled.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ios, objective-c, react-native
- Domain
- mobile
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100