Repository navigation
docs(react-native): ringing through the Calls SDK and Push Notifications SDK - #562
Open
suraj-chauhan-cometchat wants to merge 4 commits into
Open
suraj-chauhan-cometchat wants to merge 4 commits into
suraj-chauhan-cometchat wants to merge 4 commits into
Conversation
…ons SDK Rewrites the three load-bearing calling pages for the new flow and adds the migration guide, mirroring the Android ringing PR page for page. - calls/react-native/ringing.mdx: Calls SDK 5.1 flow, prepared-session events, answering through the Push SDK, decline, cancel, ring timeout, call waiting. - calls/react-native/voip-calling.mdx -> Push Ringing: the two init shapes, the background task, FCM delegation (optional on RN), readiness and diagnostics, missed calls, killed-app behaviour, own ring screen, MANUAL mode. - calls/react-native/migrating-from-legacy-ringing.mdx (new): before/after, seven steps, method mapping, caller and callee screens, checklist. - ui-kit/react-native/calling-integration.mdx: rewritten for the new flow. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…ative pages Push SDK 2.0 splits ringing into @cometchat/push-notifications-voip-react-native, which rings in every app state. Replaces the CometChat.addCallListener + CometChatIncomingCall section both pages taught with the new wiring and a pointer to the calling pages, and corrects ringInForeground, the background-task import and the troubleshooting rows that referred to the removed component. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- events: prepared-session semantics, onParticipantConnected, the Push SDK's incoming-call events and the Calls SDK login listener. - setup: 5.1 floor, the push packages needed for ringing, initialise-once warning. - migration-guide-v5: a 5.0 to 5.1 section. - troubleshooting: a Ringing section. - ui-kit incoming-call: deprecated, with what to use instead. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
suraj-chauhan-cometchat
requested review from
jitvarpatil and
mathews-cometchat
as code owners
October 15, 2026 06:08
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Automations to automatically generate PRs for you. |
The ring pages described overriding cometchat_pn_call_* colour resources, copied from the Android page. Those resources do not exist in the React Native package: the ring screen builds its colours in code, so an app defining those names changes nothing. What IS overridable on Android is the cometchat_pn_* strings — which is also how the ring is localised — and the cometchat_pn_ic_call drawable. Replaces the colour table on both pages with what actually works, and points anyone who needs a branded ring at drawing their own in-app screen. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The React Native counterpart to #561. React Native calling no longer signals through the Chat SDK. The Calls SDK 5.1 creates, joins and ends calls; the Push Notifications SDK 2.0 rings the device in every app state (foreground, background, killed); the UI Kit hosts the screens.
Consumer-facing wording is "ringing" and "legacy ringing"; the pages never say v1 or v2. Page for page this mirrors #561 — same structure, same headings, same tables — with React Native's own APIs rather than translated Kotlin.
Where React Native genuinely differs from Android
These are deliberate, not drift. Behaviour is the same; the methods are not.
CometChatPushNotifications.init; the calls module is installed by reflectionCometChatVoipNotifications.init(config); a chat app inits the core first and callsCometChatVoipNotifications.init()with no config. Passing a config in a chat app re-runs the core init and drops every chat option — documented as a warning on every page that shows itsetAnswerActivity(...), call in the intentonCallAccepted, buffered natively and replayed to the first subscriberCometChatCalls.addIncomingCallListeneronCallRinging/onCallAccepted/onCallEnded/onRingEndedjoinSession(sessionId, settings, container, listener)connect(sessionId)then mount<CometChatCalls.Component callToken={…} />Result<T, E>frominitiateCall/endCall, andsession.addEventListener(event, fn)returning an unsubscribesetEnableCalling(true)inUIKitSettingssetEnableCallingon RNFirebaseMessagingServiceregisterBackgroundCallTask()at module scope inindex.js, or a decline on a killed app is never deliveredvoipbackground mode, and theNSMicrophoneUsageDescriptioncrash that looks exactly like a ring timeoutCalls SDK (
calls/react-native/)ringing.mdxrewritten: Calls SDK-only flow with a sequence diagram,initiateCall, prepared-session events ("Ringing…" / answered), the Push SDK's incoming-call events with the reason table, answering, declining, cancelling, ring timeout, ending withsession.leave(), call waiting, group calls, logout, status values.voip-calling.mdxrewritten as Push Ringing (slug kept, no redirect): dependencies, the two init shapes, the background task, optional FCM delegation, permissions andensureRingReady/getDiagnostics/verifyPushSetup, how a ring ends, call during a call, missed calls, killed-app behaviour, staging hosts, tokens, own incoming-call screen, theming, MANUAL mode, reporting your own outgoing call, troubleshooting.migrating-from-legacy-ringing.mdx(new, in the Migration Guide nav group): before/after diagrams, seven migration steps, a method mapping table, caller and callee screens before/after, checklist. Covers removingreact-native-callkeepandreact-native-voip-push-notification.events: prepared-session semantics,onParticipantConnected, the Push SDK's incoming-call events, the Calls SDK login listener.setup: 5.1 floor, push packages, initialise-once warning.migration-guide-v5: a 5.0 → 5.1 section.troubleshooting: a Ringing section.UI Kit (
ui-kit/react-native/)calling-integration.mdxrewritten: five steps (dependencies, init in order, the one event subscription, permissions, logout), what the kit does from there, the "Ringing… only on the push path" note, ring theming, upgrade pointer.incoming-call.mdxdeprecated, kept for apps that draw the in-app ring screen themselves, with a table of what to use instead.Notifications
notifications/react-native-push-notifications-android.mdxand-ios.mdx: both taught ringing withCometChat.addCallListener+CometChatIncomingCall. That section is replaced with the VoIP package wiring and a pointer to the calling pages;ringInForeground, the background-task import and the troubleshooting rows that referenced the removed component are corrected.Before merging
@cometchat/calls-sdk-react-native5.1.0,@cometchat/push-notifications-react-native/-voip-react-native2.0.0. Do not merge before they are published — both push packages are currently2.0.0-alpha.1.calls/react-native/setup.mdxpinned5.0.5and now pins5.1.0; check that the six peer dependency versions it pins are still right for 5.1.mint dev(links verified by file existence only).Related: #561 (Android).
🤖 Generated with Claude Code