expo-callkit-telecom 0.3.1 โ 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.release-please-manifest.json +1 -1
- package/CHANGELOG.md +20 -0
- package/README.md +6 -15
- package/package.json +10 -4
- package/typedoc.json +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,26 @@ All notable changes to `expo-callkit-telecom` are documented here.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.3.3](https://github.com/mfairley/expo-callkit-telecom/compare/v0.3.2...v0.3.3) (2026-05-17)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Documentation
|
|
12
|
+
|
|
13
|
+
* add Cloudflare Web Analytics ([36906d7](https://github.com/mfairley/expo-callkit-telecom/commit/36906d752aeef82639e50343a6a4044dc3ebb422))
|
|
14
|
+
* tighten doc wording ([b841554](https://github.com/mfairley/expo-callkit-telecom/commit/b841554ddf7a8393d0818d3b5af9ed065628605e))
|
|
15
|
+
|
|
16
|
+
## [0.3.2](https://github.com/mfairley/expo-callkit-telecom/compare/v0.3.1...v0.3.2) (2026-05-17)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Bug Fixes
|
|
20
|
+
|
|
21
|
+
* expose app.plugin in exports field so prebuild can resolve plugin ([559ad5a](https://github.com/mfairley/expo-callkit-telecom/commit/559ad5af6ea8d9ba91f912c6adee2dad92b2e296))
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### Documentation
|
|
25
|
+
|
|
26
|
+
* fix layout of video on mobile ([4d1d85c](https://github.com/mfairley/expo-callkit-telecom/commit/4d1d85cf0f6169f388b9f84f45eca826c98a568b))
|
|
27
|
+
|
|
8
28
|
## [0.3.1](https://github.com/mfairley/expo-callkit-telecom/compare/v0.3.0...v0.3.1) (2026-05-17)
|
|
9
29
|
|
|
10
30
|
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# ๐ expo-callkit-telecom โ
|
|
1
|
+
# ๐ expo-callkit-telecom โ CallKit & Core-Telecom for React Native + Expo (with VoIP push)
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> An Expo module โ written in Swift and Kotlin โ that wraps **CallKit** on iOS and **Jetpack Core-Telecom** on Android with API parity. It owns the system call UI, the audio session, and VoIP push โ your app owns the media (LiveKit, plain WebRTC, etc.).
|
|
4
4
|
|
|
5
5
|
The module is opinionated about *system integration* and unopinionated about *media*. You wire your media library to the events it emits.
|
|
6
6
|
|
|
@@ -49,7 +49,7 @@ The module is opinionated about *system integration* and unopinionated about *me
|
|
|
49
49
|
|
|
50
50
|
## โจ Features
|
|
51
51
|
|
|
52
|
-
- ๐ฑ **Native calling UI** โ CallKit on iOS, Telecom incoming-call notification + full-screen intent on Android
|
|
52
|
+
- ๐ฑ **Native calling UI** โ CallKit on iOS, Core-Telecom incoming-call notification + full-screen intent on Android
|
|
53
53
|
- ๐ **VoIP notifications** โ APNs VoIP on iOS (PushKit), FCM data messages on Android, parsed natively so calls can be reported from a terminated state
|
|
54
54
|
- ๐ต **Ringtones** โ system ringtone for incoming calls, configurable via the config plugin
|
|
55
55
|
- โ๏ธ **Dialtone** โ looped dialtone with fade-in for outgoing calls, configurable
|
|
@@ -61,16 +61,7 @@ The module is opinionated about *system integration* and unopinionated about *me
|
|
|
61
61
|
|
|
62
62
|
## ๐งช Verified against
|
|
63
63
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
| | Tested against |
|
|
67
|
-
| --- | --- |
|
|
68
|
-
| iOS | 26 (minimum 15.1) |
|
|
69
|
-
| Android | 15 (minimum API 26) |
|
|
70
|
-
| Expo SDK | 55 |
|
|
71
|
-
| React Native | 0.83 |
|
|
72
|
-
| New Architecture | Yes |
|
|
73
|
-
| Media transport | LiveKit RN SDK |
|
|
64
|
+
Tested end-to-end on real devices via the runnable `example/` app. Full compatibility matrix: **[Verified against](https://mfairley.github.io/expo-callkit-telecom/verified-against)**.
|
|
74
65
|
|
|
75
66
|
## ๐ฆ Install
|
|
76
67
|
|
|
@@ -241,11 +232,11 @@ See `src/Calls.ts` for full JSDoc. Main areas:
|
|
|
241
232
|
|
|
242
233
|
## โฐ Keeping connections alive in the background
|
|
243
234
|
|
|
244
|
-
This module hands the OS a CallKit/Telecom call, which keeps the *process* alive during a call โ but JS timers (`setInterval`, `setTimeout`) and JS-side network heartbeats are still subject to background throttling once the screen locks. If your media stack needs an app-level heartbeat (e.g. a WebSocket signalling channel) to survive the background, pair this module with [`react-native-nitro-keepalive-timer`](https://www.npmjs.com/package/react-native-nitro-keepalive-timer) to get native timers that fire reliably while a call is active.
|
|
235
|
+
This module hands the OS a CallKit/Core-Telecom call, which keeps the *process* alive during a call โ but JS timers (`setInterval`, `setTimeout`) and JS-side network heartbeats are still subject to background throttling once the screen locks. If your media stack needs an app-level heartbeat (e.g. a WebSocket signalling channel) to survive the background, pair this module with [`react-native-nitro-keepalive-timer`](https://www.npmjs.com/package/react-native-nitro-keepalive-timer) to get native timers that fire reliably while a call is active.
|
|
245
236
|
|
|
246
237
|
## ๐ Comparison with `react-native-callkeep`
|
|
247
238
|
|
|
248
|
-
[`react-native-callkeep`](https://github.com/react-native-webrtc/react-native-callkeep) is the long-standing React Native library in this space. `expo-callkit-telecom` solves the same problem but is built on the current generation of platform APIs: Jetpack `androidx.core:core-telecom` on Android, Swift + Kotlin, the Expo Modules API with a config plugin, and `RTCAudioSession` coordination for manual-audio WebRTC stacks like LiveKit. It also parses APNs VoIP and FCM data payloads natively, so the cold-start incoming-call case works without app-side glue.
|
|
239
|
+
[`react-native-callkeep`](https://github.com/react-native-webrtc/react-native-callkeep) is the long-standing React Native library in this space. `expo-callkit-telecom` solves the same problem but is built on the current generation of platform APIs: CallKit on iOS, Jetpack `androidx.core:core-telecom` on Android, Swift + Kotlin, the Expo Modules API with a config plugin, and `RTCAudioSession` coordination for manual-audio WebRTC stacks like LiveKit. It also parses APNs VoIP and FCM data payloads natively, so the cold-start incoming-call case works without app-side glue.
|
|
249
240
|
|
|
250
241
|
Full side-by-side, compatibility matrix, and migration notes: **[docs/vs-callkeep.md](docs/vs-callkeep.md)**.
|
|
251
242
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expo-callkit-telecom",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.3",
|
|
4
4
|
"description": "CallKit + Jetpack Core-Telecom for Expo / React Native โ native call UI, VoIP push, LiveKit-friendly audio. A modern react-native-callkeep alternative.",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
"types": "./build/index.d.ts",
|
|
10
10
|
"default": "./build/index.js"
|
|
11
11
|
},
|
|
12
|
+
"./app.plugin": "./app.plugin.js",
|
|
13
|
+
"./app.plugin.js": "./app.plugin.js",
|
|
12
14
|
"./package.json": "./package.json"
|
|
13
15
|
},
|
|
14
16
|
"scripts": {
|
|
@@ -35,16 +37,20 @@
|
|
|
35
37
|
"callkeep",
|
|
36
38
|
"telecom",
|
|
37
39
|
"core-telecom",
|
|
38
|
-
"jetpack",
|
|
39
40
|
"voip",
|
|
40
|
-
"calling",
|
|
41
41
|
"incoming-call",
|
|
42
|
+
"native-calling",
|
|
42
43
|
"webrtc",
|
|
43
44
|
"livekit",
|
|
44
45
|
"pushkit",
|
|
45
46
|
"apns",
|
|
46
47
|
"fcm",
|
|
47
|
-
"
|
|
48
|
+
"expo-callkit",
|
|
49
|
+
"expo-telecom",
|
|
50
|
+
"expo-voip",
|
|
51
|
+
"react-native-callkit",
|
|
52
|
+
"react-native-telecom",
|
|
53
|
+
"react-native-voip"
|
|
48
54
|
],
|
|
49
55
|
"repository": {
|
|
50
56
|
"type": "git",
|
package/typedoc.json
CHANGED