react-native-webrtc / react-native-webrtc/react-native-callkeep

[Feature-Request, iOS] Add completion for fulfilling action of 'performEndCallAction' delegate

Open
#593 6 comments 0 reactions 0 assignees View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.