react-native-webrtc / react-native-webrtc/react-native-callkeep
Answer events lost when app launched from killed state - has anyone encountered this?
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 1.1k
- Forks
- 511
- Avg merge
- 9h 12m
- Merged PRs (30d)
- 2
Description
Problem
Has anyone encountered an issue where answerCall events are lost when the app is launched from a killed state via VoIP push?
Scenario
- App is completely killed (not in background)
- VoIP push arrives → CallKit interface appears immediately
- User taps "Answer" quickly (within first few seconds)
- Bundle is still loading/initializing
answerCallevent is never received by RNApp
Why we need the answer event
We need to detect when user answers to notify our server that the client is ready to receive a SIP INVITE. Our flow is:
- User answers → Send "ready" signal to server
- Server receives "ready" → Initiates SIP INVITE
- SIP connection established
Without the answer event, we can't notify the server, so the SIP call never gets initiated.
Question
- Has anyone experienced this issue with early answer events?
- Are there recommended patterns for handling CallKit events when RNApp isn't ready yet?
- Should events be buffered somehow until the JS bridge is fully initialized?
The issue only happens when app is killed and VoIP push launches it. When app is already running (background or foreground), answer events work perfectly.
Any insights would be appreciated!
Environment
- iOS: Testing on physical devices
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
No file or test is identified. Start by tracing the iOS CallKit answerCall event from a VoIP push launch through the React Native bridge, focusing on the killed-state initialization path. Done means an early Answer action is reliably delivered after the JS bridge initializes, with a documented verification scenario on a physical device.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ios, react-native
- Domain
- audio-video-rtc, mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100