@voltkit-rtc/react-native 0.1.0 → 0.1.1
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/CHANGELOG.md +25 -0
- package/README.md +6 -4
- package/lib/commonjs/native-session.js +61 -10
- package/lib/commonjs/native-session.js.map +1 -1
- package/lib/commonjs/native.js +1 -1
- package/lib/commonjs/platform/common.js +1 -1
- package/lib/commonjs/provider.js +3 -1
- package/lib/commonjs/provider.js.map +1 -1
- package/lib/module/native-session.js +61 -10
- package/lib/module/native-session.js.map +1 -1
- package/lib/module/native.js +1 -1
- package/lib/module/platform/common.js +1 -1
- package/lib/module/provider.js +3 -1
- package/lib/module/provider.js.map +1 -1
- package/lib/typescript/commonjs/native-session.d.ts +1 -1
- package/lib/typescript/commonjs/native-session.d.ts.map +1 -1
- package/lib/typescript/commonjs/native.d.ts +1 -1
- package/lib/typescript/commonjs/platform/common.d.ts +1 -1
- package/lib/typescript/commonjs/provider.d.ts.map +1 -1
- package/lib/typescript/module/native-session.d.ts +1 -1
- package/lib/typescript/module/native-session.d.ts.map +1 -1
- package/lib/typescript/module/native.d.ts +1 -1
- package/lib/typescript/module/platform/common.d.ts +1 -1
- package/lib/typescript/module/provider.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/native-session.tsx +59 -13
- package/src/native.ts +1 -1
- package/src/platform/common.ts +1 -1
- package/src/provider.tsx +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.1
|
|
4
|
+
|
|
5
|
+
2026-10-27. Two fixes from the testers' report on 0.1.0 (RN010-1, RN010-2). Peer dependency `@voltkit-rtc/client`
|
|
6
|
+
`>=0.9.13 <0.10.0` (0.9.13 fixes C0912-1 and C0912-2 in the client this package runs: a noise-suppressed microphone
|
|
7
|
+
back from the background, and a repeated switch in the same direction); the other peers are unchanged. The native code
|
|
8
|
+
is the same, but build the app again after upgrading: its version check reads this package's version.
|
|
9
|
+
|
|
10
|
+
- **The call service follows the client's own background camera setting** (RN010-1). A client the app made with
|
|
11
|
+
`createClient(wsUrl, token, { background: { pauseCamera: false } })` (a live streamer) and passed as the provider's
|
|
12
|
+
`client` prop was run with the provider's default, `pauseCamera: true`: the service never asked for the `camera`
|
|
13
|
+
foreground service type, and Android cut the camera in the background; the reverse mix asked for a camera type the
|
|
14
|
+
app did not need. The service reads `pauseCameraInBackground` from the client it runs for, since the client is what
|
|
15
|
+
pauses the camera; the provider's `background.pauseCamera` stands in only when the client's options cannot be read.
|
|
16
|
+
A client the provider makes is unchanged.
|
|
17
|
+
- **One `onError` per call-service failure** (RN010-2). A refused start or update was reported twice: the native side
|
|
18
|
+
tells a `failed` event and then rejects the call, and both reached `onError`. A `failed` event while a start or update
|
|
19
|
+
is in flight is its rejection's twin and is reported once; a failure Android reports on its own, with nothing in
|
|
20
|
+
flight, still reaches `onError`.
|
|
21
|
+
- **A client whose state cannot be read never stops the call service** (the verifier's F3 on this release). A client
|
|
22
|
+
wrapped so that reading its options throws (a logging or forbidding `Proxy`) is read like one without options: the
|
|
23
|
+
provider's `background.pauseCamera` stands in, and nothing is reported. A client whose state cannot be read at all
|
|
24
|
+
(a read of `local` that throws) is left out of the service, said once through `onError` as `media-unavailable`
|
|
25
|
+
`{ feature: 'callService' }`, and never keeps the other calls in the app from theirs; before, the throw escaped the
|
|
26
|
+
provider's effect and every later decision for every call failed the same way.
|
|
27
|
+
|
|
3
28
|
## 0.1.0
|
|
4
29
|
|
|
5
30
|
2026-10-27. The first release: VoltKit RTC calls, audio rooms and live video in React Native, on Android, with iOS in
|
package/README.md
CHANGED
|
@@ -78,7 +78,7 @@ library, and under Expo's `tsconfig.base` alike.
|
|
|
78
78
|
| React Native | 0.82 or newer, with the New Architecture; tested with 0.88.0 and Hermes |
|
|
79
79
|
| React | 19.1 or newer |
|
|
80
80
|
| react-native-webrtc | 155.0.1 or a later 155.x |
|
|
81
|
-
| `@voltkit-rtc/client` | 0.9.
|
|
81
|
+
| `@voltkit-rtc/client` | 0.9.13 or a later 0.9.x |
|
|
82
82
|
| `@voltkit-rtc/react` | 0.1.1 or a later 0.1.x |
|
|
83
83
|
| Android | minSdk 24 (Android 7.0), react-native-webrtc's minimum |
|
|
84
84
|
| Expo | SDK 58 or newer, in a development build; not Expo Go |
|
|
@@ -828,7 +828,7 @@ what the user has granted and what the call publishes:
|
|
|
828
828
|
| --- | --- |
|
|
829
829
|
| `microphone` | `RECORD_AUDIO` is granted: the call keeps its microphone |
|
|
830
830
|
| `mediaPlayback` | otherwise: a listener, who keeps hearing the call |
|
|
831
|
-
| `camera` | only if you declare it, with `FOREGROUND_SERVICE_CAMERA`, and keep the camera on in the background with `background={{ pauseCamera: false }}` |
|
|
831
|
+
| `camera` | only if you declare it, with `FOREGROUND_SERVICE_CAMERA`, and keep the camera on in the background with `background={{ pauseCamera: false }}` (for a client you made, its own `createClient(..., { background: { pauseCamera: false } })`: the service reads the client's setting) |
|
|
832
832
|
| `mediaProjection` | only while a screen share is live, if you declare it (with `FOREGROUND_SERVICE_MEDIA_PROJECTION` on Android 14 and later) |
|
|
833
833
|
|
|
834
834
|
`useCallService(): CallServiceState` says whether the app declares the service
|
|
@@ -1157,7 +1157,9 @@ Flat-minute (legacy) projects get `usageLimit` instead:
|
|
|
1157
1157
|
`createClient(wsUrl, token, options?)` makes a `StreamClient` for React Native,
|
|
1158
1158
|
not yet connected: pass it to the provider's `client` prop, or call `connect()`
|
|
1159
1159
|
yourself, and `close()` it when you are done, since the provider never closes a
|
|
1160
|
-
client it was given.
|
|
1160
|
+
client it was given. The background pause and the call service's types follow
|
|
1161
|
+
that client's own `background` options; the provider's `background` prop only
|
|
1162
|
+
describes a client the provider makes. `CreateClientOptions` is
|
|
1161
1163
|
`{ background?: BackgroundOptions; clientOptions?: ClientOptions }`. It throws
|
|
1162
1164
|
`media-unavailable` (`webrtc-missing`) where react-native-webrtc's native module
|
|
1163
1165
|
is missing. Never make one with `new StreamClient(...)` alone, which would look
|
|
@@ -1495,7 +1497,7 @@ Bluetooth routing tested in unit tests, not on hardware.** Tested with:
|
|
|
1495
1497
|
| React | 19.3.0 |
|
|
1496
1498
|
| react-native-webrtc | 155.0.1 (WebRTC `org.jitsi:webrtc` 155.0.1) |
|
|
1497
1499
|
| Expo | SDK 58 (`expo` 58.0.19), development build, R8-minified release build |
|
|
1498
|
-
| `@voltkit-rtc/client` | 0.9.
|
|
1500
|
+
| `@voltkit-rtc/client` | 0.9.13 |
|
|
1499
1501
|
| `@voltkit-rtc/react` | 0.1.1 |
|
|
1500
1502
|
| Android | the Android emulator (a Pixel 10 Pro AVD, x86_64, API 37.1, Google Play image); earpiece and Bluetooth routing in unit tests, not on hardware |
|
|
1501
1503
|
| iOS | not tested: preview |
|
|
@@ -40,10 +40,14 @@ const NOT_DECLARED = Object.freeze({
|
|
|
40
40
|
types: Object.freeze([])
|
|
41
41
|
});
|
|
42
42
|
class CallServices {
|
|
43
|
-
/**
|
|
43
|
+
/**
|
|
44
|
+
* What each call wants, read afresh at every decision: a call's state is its client's, which emits no event for some
|
|
45
|
+
* changes. With how to tell the call when its state cannot be read at all.
|
|
46
|
+
*/
|
|
44
47
|
wants = new Map();
|
|
45
48
|
running = false;
|
|
46
|
-
|
|
49
|
+
/** The call to the native module under way: a `failed` event during a start or update is its rejection's twin. */
|
|
50
|
+
inFlight = null;
|
|
47
51
|
again = false;
|
|
48
52
|
/** The options the service runs with, as sent. */
|
|
49
53
|
applied = null;
|
|
@@ -52,8 +56,11 @@ class CallServices {
|
|
|
52
56
|
watching = null;
|
|
53
57
|
state = null;
|
|
54
58
|
listeners = new Set();
|
|
55
|
-
set(key, want) {
|
|
56
|
-
if (want) this.wants.set(key,
|
|
59
|
+
set(key, want, report = () => undefined) {
|
|
60
|
+
if (want) this.wants.set(key, {
|
|
61
|
+
want,
|
|
62
|
+
report
|
|
63
|
+
});else this.wants.delete(key);
|
|
57
64
|
this.reconcile();
|
|
58
65
|
}
|
|
59
66
|
|
|
@@ -99,14 +106,36 @@ class CallServices {
|
|
|
99
106
|
for (const listener of [...this.listeners]) listener();
|
|
100
107
|
}
|
|
101
108
|
live() {
|
|
102
|
-
|
|
109
|
+
const live = [];
|
|
110
|
+
for (const [key, {
|
|
111
|
+
want,
|
|
112
|
+
report
|
|
113
|
+
}] of [...this.wants]) {
|
|
114
|
+
let w;
|
|
115
|
+
try {
|
|
116
|
+
w = want();
|
|
117
|
+
} catch (err) {
|
|
118
|
+
// A client whose state cannot be read (a wrapper that throws on a read): this call is left out of the service
|
|
119
|
+
// for good, said once, and never keeps the other calls from theirs (the verifier's F3 on 0.1.1).
|
|
120
|
+
this.wants.delete(key);
|
|
121
|
+
(0, _errors.logError)('a call is left out of the call service: its client\'s state could not be read', err);
|
|
122
|
+
try {
|
|
123
|
+
report((0, _errors.callServiceFailed)(`this call is left out, its client's state could not be read: ${(0, _errors.describeError)(err)}`));
|
|
124
|
+
} catch (reportErr) {
|
|
125
|
+
(0, _errors.logError)('onError threw', reportErr);
|
|
126
|
+
}
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
if (w.live) live.push(w);
|
|
130
|
+
}
|
|
131
|
+
return live;
|
|
103
132
|
}
|
|
104
133
|
reconcile() {
|
|
105
134
|
const module = (0, _native.nativeModule)();
|
|
106
135
|
if (!module || !(0, _native.nativeConstants)()?.callServiceDeclared) return;
|
|
107
136
|
const live = this.live();
|
|
108
137
|
this.watch(module, live.length > 0 || this.running);
|
|
109
|
-
if (this.
|
|
138
|
+
if (this.inFlight) {
|
|
110
139
|
this.again = true;
|
|
111
140
|
return;
|
|
112
141
|
}
|
|
@@ -123,7 +152,7 @@ class CallServices {
|
|
|
123
152
|
this.run(module, this.running ? 'update' : 'start', options);
|
|
124
153
|
}
|
|
125
154
|
run(module, what, options) {
|
|
126
|
-
this.
|
|
155
|
+
this.inFlight = what;
|
|
127
156
|
const key = options ? JSON.stringify(options) : null;
|
|
128
157
|
const call = what === 'stop' ? module.stopCallService() : what === 'start' ? module.startCallService(options) : module.updateCallService(options);
|
|
129
158
|
call.then(status => {
|
|
@@ -144,7 +173,7 @@ class CallServices {
|
|
|
144
173
|
const error = (0, _errors.callServiceFailed)((0, _errors.describeError)(err));
|
|
145
174
|
for (const want of this.live()) want.report(error);
|
|
146
175
|
}).finally(() => {
|
|
147
|
-
this.
|
|
176
|
+
this.inFlight = null;
|
|
148
177
|
if (this.again) {
|
|
149
178
|
this.again = false;
|
|
150
179
|
this.reconcile();
|
|
@@ -201,6 +230,8 @@ class CallServices {
|
|
|
201
230
|
return;
|
|
202
231
|
case 'failed':
|
|
203
232
|
{
|
|
233
|
+
// VoltkitCallService.runWith tells `failed` and then rejects the start or update: the rejection reports it (RN010-2).
|
|
234
|
+
if (this.inFlight === 'start' || this.inFlight === 'update') return;
|
|
204
235
|
const error = (0, _errors.callServiceFailed)(message || 'Android refused it');
|
|
205
236
|
for (const want of this.live()) want.report(error);
|
|
206
237
|
return;
|
|
@@ -286,7 +317,8 @@ function NativeSession({
|
|
|
286
317
|
(0, _react.useEffect)(() => {
|
|
287
318
|
if (!client || !wantsService || !(0, _native.nativeModule)()) return;
|
|
288
319
|
const key = {};
|
|
289
|
-
|
|
320
|
+
const report = error => onError.current?.(error);
|
|
321
|
+
callServices.set(key, () => wantOf(client, latest.current, report), report);
|
|
290
322
|
const update = () => callServices.changed();
|
|
291
323
|
// publish() and a camera switch emit no event of their own: useLocalMedia's calls say so through the local session.
|
|
292
324
|
const offs = [...['connectionStateChanged', 'localMediaChanged', 'localStreamChanged', 'screenShareStarted', 'screenShareEnded'].map(event => client.on(event, update)), (0, _localMedia.localSessionOf)(client).subscribe(update)];
|
|
@@ -305,10 +337,29 @@ function wantOf(client, latest, report) {
|
|
|
305
337
|
micPublished: (local?.getAudioTracks().length ?? 0) > 0,
|
|
306
338
|
cameraPublished: (local?.getVideoTracks().length ?? 0) > 0,
|
|
307
339
|
sharing: (0, _localMedia.localSessionOf)(client).screen !== null,
|
|
308
|
-
pauseCamera: latest.pauseCamera,
|
|
340
|
+
pauseCamera: pausesCameraInBackground(client) ?? latest.pauseCamera,
|
|
309
341
|
text: latest.text,
|
|
310
342
|
leave: () => client.close(),
|
|
311
343
|
report
|
|
312
344
|
};
|
|
313
345
|
}
|
|
346
|
+
|
|
347
|
+
/**
|
|
348
|
+
* Whether the client switches its camera off in the background, from its own options: the provider's `background` only
|
|
349
|
+
* describes a client the provider made, and an app-made one (`createClient`, the `client` prop) keeps its camera on with
|
|
350
|
+
* `pauseCamera: false` while the service was asked for no camera type, so Android cut the camera (RN010-1). The client
|
|
351
|
+
* pauses only with `pauseCameraInBackground === true` (left out, the camera runs on). Null when the options cannot be
|
|
352
|
+
* read (missing, not an object, or a read that throws: a wrapped or stubbed client): the provider's setting stands in.
|
|
353
|
+
*/
|
|
354
|
+
function pausesCameraInBackground(client) {
|
|
355
|
+
let options;
|
|
356
|
+
try {
|
|
357
|
+
options = client.options;
|
|
358
|
+
} catch {
|
|
359
|
+
// A wrapper that forbids the read (a logging or sealing Proxy): not an error, the provider's setting stands in.
|
|
360
|
+
return null;
|
|
361
|
+
}
|
|
362
|
+
if (!options || typeof options !== 'object') return null;
|
|
363
|
+
return options.pauseCameraInBackground === true;
|
|
364
|
+
}
|
|
314
365
|
//# sourceMappingURL=native-session.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_react2","_native","_errors","_audio","_localMedia","_visibility","_common","NOT_DECLARED","Object","freeze","declared","running","types","CallServices","wants","Map","busy","again","applied","failed","watching","state","listeners","Set","set","key","want","delete","reconcile","changed","subscribe","listener","add","snapshot","module","nativeModule","nativeConstants","callServiceDeclared","status","getCallServiceStatus","err","logError","publish","now","next","join","live","values","map","filter","w","watch","length","run","options","merged","JSON","stringify","safeVisible","what","call","stopCallService","startCallService","updateCallService","then","error","callServiceFailed","describeError","report","finally","on","visibility","nativeVisibility","stops","visible","listen","onCallServiceEvent","event","onEvent","type","message","stop","leave","isAppVisible","text","reverse","pick","field","find","title","leaveLabel","pauseCamera","some","cameraPublished","micPublished","sharing","callServices","useCallService","useSyncExternalStore","NativeSession","audio","callService","onError","client","useVoltkitClient","manage","speakerphone","undefined","wantsService","useMemo","latest","useRef","useEffect","current","localSessionOf","hold","audioHoldOf","retain","sync","connectionState","acquire","speakerPreference","release","off","unretain","wantOf","update","offs","local","localStream","getAudioTracks","getVideoTracks","screen","close"],"sourceRoot":"../../src","sources":["native-session.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","_react2","_native","_errors","_audio","_localMedia","_visibility","_common","NOT_DECLARED","Object","freeze","declared","running","types","CallServices","wants","Map","inFlight","again","applied","failed","watching","state","listeners","Set","set","key","want","report","undefined","delete","reconcile","changed","subscribe","listener","add","snapshot","module","nativeModule","nativeConstants","callServiceDeclared","status","getCallServiceStatus","err","logError","publish","now","next","join","live","w","callServiceFailed","describeError","reportErr","push","watch","length","run","options","merged","JSON","stringify","safeVisible","what","call","stopCallService","startCallService","updateCallService","then","error","finally","on","visibility","nativeVisibility","stops","visible","listen","onCallServiceEvent","event","onEvent","type","message","stop","leave","isAppVisible","text","reverse","pick","field","find","title","leaveLabel","pauseCamera","some","cameraPublished","micPublished","sharing","callServices","useCallService","useSyncExternalStore","NativeSession","audio","callService","onError","client","useVoltkitClient","manage","speakerphone","wantsService","useMemo","latest","useRef","useEffect","current","localSessionOf","hold","audioHoldOf","retain","sync","connectionState","acquire","speakerPreference","release","off","unretain","wantOf","update","offs","map","local","localStream","getAudioTracks","getVideoTracks","screen","pausesCameraInBackground","close","pauseCameraInBackground"],"sourceRoot":"../../src","sources":["native-session.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/native.js
CHANGED
|
@@ -21,7 +21,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
21
21
|
*/
|
|
22
22
|
|
|
23
23
|
/** The version of this package: what getDiagnostics() reports, and what the native side was built from. */
|
|
24
|
-
const SDK_VERSION = exports.SDK_VERSION = '0.1.
|
|
24
|
+
const SDK_VERSION = exports.SDK_VERSION = '0.1.1';
|
|
25
25
|
|
|
26
26
|
/** The native module, or null where there is none (iOS, Expo Go, an app not rebuilt). */
|
|
27
27
|
function nativeModule() {
|
|
@@ -60,7 +60,7 @@ function localStream(client) {
|
|
|
60
60
|
return client.local ?? null;
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
/** getDiagnostics().userAgent: `ReactNative android 37; react-native-webrtc 155.0.1; @voltkit-rtc/react-native 0.1.
|
|
63
|
+
/** getDiagnostics().userAgent: `ReactNative android 37; react-native-webrtc 155.0.1; @voltkit-rtc/react-native 0.1.1`. */
|
|
64
64
|
function describePlatform() {
|
|
65
65
|
return `ReactNative ${_reactNative.Platform.OS} ${String(_reactNative.Platform.Version)}; react-native-webrtc ${(0, _globals.webrtcVersion)() ?? 'unknown'}; @voltkit-rtc/react-native ${_native.SDK_VERSION}`;
|
|
66
66
|
}
|
package/lib/commonjs/provider.js
CHANGED
|
@@ -54,7 +54,9 @@ function VoltkitProvider({
|
|
|
54
54
|
}) : undefined,
|
|
55
55
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
56
56
|
[webrtc, wsUrl, token]);
|
|
57
|
-
|
|
57
|
+
// The call service reads the setting from the client it runs for (an app-made client has its own); this stands in
|
|
58
|
+
// when the client's options cannot be read.
|
|
59
|
+
const pauseCamera = options?.pauseCameraInBackground === true;
|
|
58
60
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react2.VoltkitProvider, {
|
|
59
61
|
...rest,
|
|
60
62
|
wsUrl: webrtc ? wsUrl : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_react2","_globals","_native","_errors","_createClient","_nativeSession","_jsxRuntime","VoltkitProvider","audio","background","callService","clientOptions","client","wsUrl","token","onError","children","rest","webrtc","useMemo","registerVoltkitGlobals","errors","useRef","useEffect","current","wanted","Boolean","webrtcMissing","Platform","OS","nativeModule","nativeMissing","options","reactNativeClientOptions","undefined","pauseCamera","pauseCameraInBackground","jsxs","jsx","NativeSession"],"sourceRoot":"../../src","sources":["provider.tsx"],"mappings":";;;;;;AASA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,cAAA,GAAAP,OAAA;AAAiG,IAAAQ,WAAA,GAAAR,OAAA;AAhBjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA8BA;AACO,SAASS,eAAeA,CAAC;EAC9BC,KAAK;EACLC,UAAU;EACVC,WAAW;EACXC,aAAa;EACbC,MAAM;EACNC,KAAK;EACLC,KAAK;EACLC,OAAO;EACPC,QAAQ;EACR,GAAGC;AACiB,CAAC,EAAgB;EACrC,MAAMC,MAAM,GAAG,IAAAC,cAAO,EAAC,MAAM,IAAAC,+BAAsB,EAAC,CAAC,EAAE,EAAE,CAAC;EAC1D,MAAMC,MAAM,GAAG,IAAAC,aAAM,EAACP,OAAO,CAAC;EAC9B,IAAAQ,gBAAS,EAAC,MAAM;IACdF,MAAM,CAACG,OAAO,GAAGT,OAAO;EAC1B,CAAC,CAAC;EAEF,MAAMU,MAAM,GAAGC,OAAO,CAACd,MAAM,IAAKC,KAAK,IAAIC,KAAM,CAAC;EAClD,IAAAS,gBAAS,EAAC,MAAM;IACd,IAAI,CAACE,MAAM,EAAE;IACb,IAAI,CAACP,MAAM,EAAEG,MAAM,CAACG,OAAO,GAAG,IAAAG,qBAAa,EAAC,CAAC,CAAC,CAAC,KAC1C,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAAI,CAAC,IAAAC,oBAAY,EAAC,CAAC,EAAET,MAAM,CAACG,OAAO,GAAG,IAAAO,qBAAa,EAAC,mDAAmD,CAAC,CAAC;EAC7I,CAAC,EAAE,CAACb,MAAM,EAAEO,MAAM,CAAC,CAAC;;EAEpB;EACA,MAAMO,OAAO,GAAG,IAAAb,cAAO,EACrB,MAAOD,MAAM,GAAG,IAAAe,sCAAwB,EAAC;IAAExB,UAAU;IAAEE;EAAc,CAAC,CAAC,GAAGuB,SAAU;EACpF;EACA,CAAChB,MAAM,EAAEL,KAAK,EAAEC,KAAK,CACvB,CAAC;EACD,MAAMqB,WAAW,GAAGH,OAAO,EAAEI,uBAAuB,KAAK,
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_react2","_globals","_native","_errors","_createClient","_nativeSession","_jsxRuntime","VoltkitProvider","audio","background","callService","clientOptions","client","wsUrl","token","onError","children","rest","webrtc","useMemo","registerVoltkitGlobals","errors","useRef","useEffect","current","wanted","Boolean","webrtcMissing","Platform","OS","nativeModule","nativeMissing","options","reactNativeClientOptions","undefined","pauseCamera","pauseCameraInBackground","jsxs","jsx","NativeSession"],"sourceRoot":"../../src","sources":["provider.tsx"],"mappings":";;;;;;AASA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,cAAA,GAAAP,OAAA;AAAiG,IAAAQ,WAAA,GAAAR,OAAA;AAhBjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA8BA;AACO,SAASS,eAAeA,CAAC;EAC9BC,KAAK;EACLC,UAAU;EACVC,WAAW;EACXC,aAAa;EACbC,MAAM;EACNC,KAAK;EACLC,KAAK;EACLC,OAAO;EACPC,QAAQ;EACR,GAAGC;AACiB,CAAC,EAAgB;EACrC,MAAMC,MAAM,GAAG,IAAAC,cAAO,EAAC,MAAM,IAAAC,+BAAsB,EAAC,CAAC,EAAE,EAAE,CAAC;EAC1D,MAAMC,MAAM,GAAG,IAAAC,aAAM,EAACP,OAAO,CAAC;EAC9B,IAAAQ,gBAAS,EAAC,MAAM;IACdF,MAAM,CAACG,OAAO,GAAGT,OAAO;EAC1B,CAAC,CAAC;EAEF,MAAMU,MAAM,GAAGC,OAAO,CAACd,MAAM,IAAKC,KAAK,IAAIC,KAAM,CAAC;EAClD,IAAAS,gBAAS,EAAC,MAAM;IACd,IAAI,CAACE,MAAM,EAAE;IACb,IAAI,CAACP,MAAM,EAAEG,MAAM,CAACG,OAAO,GAAG,IAAAG,qBAAa,EAAC,CAAC,CAAC,CAAC,KAC1C,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAAI,CAAC,IAAAC,oBAAY,EAAC,CAAC,EAAET,MAAM,CAACG,OAAO,GAAG,IAAAO,qBAAa,EAAC,mDAAmD,CAAC,CAAC;EAC7I,CAAC,EAAE,CAACb,MAAM,EAAEO,MAAM,CAAC,CAAC;;EAEpB;EACA,MAAMO,OAAO,GAAG,IAAAb,cAAO,EACrB,MAAOD,MAAM,GAAG,IAAAe,sCAAwB,EAAC;IAAExB,UAAU;IAAEE;EAAc,CAAC,CAAC,GAAGuB,SAAU;EACpF;EACA,CAAChB,MAAM,EAAEL,KAAK,EAAEC,KAAK,CACvB,CAAC;EACD;EACA;EACA,MAAMqB,WAAW,GAAGH,OAAO,EAAEI,uBAAuB,KAAK,IAAI;EAE7D,oBACE,IAAA9B,WAAA,CAAA+B,IAAA,EAACrC,OAAA,CAAAO,eAAoB;IAAA,GACfU,IAAI;IACRJ,KAAK,EAAEK,MAAM,GAAGL,KAAK,GAAGqB,SAAU;IAClCpB,KAAK,EAAEI,MAAM,GAAGJ,KAAK,GAAGoB,SAAU;IAClCtB,MAAM,EAAEM,MAAM,GAAGN,MAAM,GAAG,IAAK;IAC/BD,aAAa,EAAEqB,OAAQ;IACvBjB,OAAO,EAAEA,OAAQ;IAAAC,QAAA,GAEhBE,MAAM,gBAAG,IAAAZ,WAAA,CAAAgC,GAAA,EAACjC,cAAA,CAAAkC,aAAa;MAAC/B,KAAK,EAAEA,KAAM;MAACE,WAAW,EAAEA,WAAY;MAACyB,WAAW,EAAEA,WAAY;MAACpB,OAAO,EAAEM;IAAO,CAAE,CAAC,GAAG,IAAI,EACpHL,QAAQ;EAAA,CACW,CAAC;AAE3B","ignoreList":[]}
|
|
@@ -35,10 +35,14 @@ const NOT_DECLARED = Object.freeze({
|
|
|
35
35
|
types: Object.freeze([])
|
|
36
36
|
});
|
|
37
37
|
class CallServices {
|
|
38
|
-
/**
|
|
38
|
+
/**
|
|
39
|
+
* What each call wants, read afresh at every decision: a call's state is its client's, which emits no event for some
|
|
40
|
+
* changes. With how to tell the call when its state cannot be read at all.
|
|
41
|
+
*/
|
|
39
42
|
wants = new Map();
|
|
40
43
|
running = false;
|
|
41
|
-
|
|
44
|
+
/** The call to the native module under way: a `failed` event during a start or update is its rejection's twin. */
|
|
45
|
+
inFlight = null;
|
|
42
46
|
again = false;
|
|
43
47
|
/** The options the service runs with, as sent. */
|
|
44
48
|
applied = null;
|
|
@@ -47,8 +51,11 @@ class CallServices {
|
|
|
47
51
|
watching = null;
|
|
48
52
|
state = null;
|
|
49
53
|
listeners = new Set();
|
|
50
|
-
set(key, want) {
|
|
51
|
-
if (want) this.wants.set(key,
|
|
54
|
+
set(key, want, report = () => undefined) {
|
|
55
|
+
if (want) this.wants.set(key, {
|
|
56
|
+
want,
|
|
57
|
+
report
|
|
58
|
+
});else this.wants.delete(key);
|
|
52
59
|
this.reconcile();
|
|
53
60
|
}
|
|
54
61
|
|
|
@@ -94,14 +101,36 @@ class CallServices {
|
|
|
94
101
|
for (const listener of [...this.listeners]) listener();
|
|
95
102
|
}
|
|
96
103
|
live() {
|
|
97
|
-
|
|
104
|
+
const live = [];
|
|
105
|
+
for (const [key, {
|
|
106
|
+
want,
|
|
107
|
+
report
|
|
108
|
+
}] of [...this.wants]) {
|
|
109
|
+
let w;
|
|
110
|
+
try {
|
|
111
|
+
w = want();
|
|
112
|
+
} catch (err) {
|
|
113
|
+
// A client whose state cannot be read (a wrapper that throws on a read): this call is left out of the service
|
|
114
|
+
// for good, said once, and never keeps the other calls from theirs (the verifier's F3 on 0.1.1).
|
|
115
|
+
this.wants.delete(key);
|
|
116
|
+
logError('a call is left out of the call service: its client\'s state could not be read', err);
|
|
117
|
+
try {
|
|
118
|
+
report(callServiceFailed(`this call is left out, its client's state could not be read: ${describeError(err)}`));
|
|
119
|
+
} catch (reportErr) {
|
|
120
|
+
logError('onError threw', reportErr);
|
|
121
|
+
}
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
if (w.live) live.push(w);
|
|
125
|
+
}
|
|
126
|
+
return live;
|
|
98
127
|
}
|
|
99
128
|
reconcile() {
|
|
100
129
|
const module = nativeModule();
|
|
101
130
|
if (!module || !nativeConstants()?.callServiceDeclared) return;
|
|
102
131
|
const live = this.live();
|
|
103
132
|
this.watch(module, live.length > 0 || this.running);
|
|
104
|
-
if (this.
|
|
133
|
+
if (this.inFlight) {
|
|
105
134
|
this.again = true;
|
|
106
135
|
return;
|
|
107
136
|
}
|
|
@@ -118,7 +147,7 @@ class CallServices {
|
|
|
118
147
|
this.run(module, this.running ? 'update' : 'start', options);
|
|
119
148
|
}
|
|
120
149
|
run(module, what, options) {
|
|
121
|
-
this.
|
|
150
|
+
this.inFlight = what;
|
|
122
151
|
const key = options ? JSON.stringify(options) : null;
|
|
123
152
|
const call = what === 'stop' ? module.stopCallService() : what === 'start' ? module.startCallService(options) : module.updateCallService(options);
|
|
124
153
|
call.then(status => {
|
|
@@ -139,7 +168,7 @@ class CallServices {
|
|
|
139
168
|
const error = callServiceFailed(describeError(err));
|
|
140
169
|
for (const want of this.live()) want.report(error);
|
|
141
170
|
}).finally(() => {
|
|
142
|
-
this.
|
|
171
|
+
this.inFlight = null;
|
|
143
172
|
if (this.again) {
|
|
144
173
|
this.again = false;
|
|
145
174
|
this.reconcile();
|
|
@@ -196,6 +225,8 @@ class CallServices {
|
|
|
196
225
|
return;
|
|
197
226
|
case 'failed':
|
|
198
227
|
{
|
|
228
|
+
// VoltkitCallService.runWith tells `failed` and then rejects the start or update: the rejection reports it (RN010-2).
|
|
229
|
+
if (this.inFlight === 'start' || this.inFlight === 'update') return;
|
|
199
230
|
const error = callServiceFailed(message || 'Android refused it');
|
|
200
231
|
for (const want of this.live()) want.report(error);
|
|
201
232
|
return;
|
|
@@ -281,7 +312,8 @@ export function NativeSession({
|
|
|
281
312
|
useEffect(() => {
|
|
282
313
|
if (!client || !wantsService || !nativeModule()) return;
|
|
283
314
|
const key = {};
|
|
284
|
-
|
|
315
|
+
const report = error => onError.current?.(error);
|
|
316
|
+
callServices.set(key, () => wantOf(client, latest.current, report), report);
|
|
285
317
|
const update = () => callServices.changed();
|
|
286
318
|
// publish() and a camera switch emit no event of their own: useLocalMedia's calls say so through the local session.
|
|
287
319
|
const offs = [...['connectionStateChanged', 'localMediaChanged', 'localStreamChanged', 'screenShareStarted', 'screenShareEnded'].map(event => client.on(event, update)), localSessionOf(client).subscribe(update)];
|
|
@@ -300,10 +332,29 @@ function wantOf(client, latest, report) {
|
|
|
300
332
|
micPublished: (local?.getAudioTracks().length ?? 0) > 0,
|
|
301
333
|
cameraPublished: (local?.getVideoTracks().length ?? 0) > 0,
|
|
302
334
|
sharing: localSessionOf(client).screen !== null,
|
|
303
|
-
pauseCamera: latest.pauseCamera,
|
|
335
|
+
pauseCamera: pausesCameraInBackground(client) ?? latest.pauseCamera,
|
|
304
336
|
text: latest.text,
|
|
305
337
|
leave: () => client.close(),
|
|
306
338
|
report
|
|
307
339
|
};
|
|
308
340
|
}
|
|
341
|
+
|
|
342
|
+
/**
|
|
343
|
+
* Whether the client switches its camera off in the background, from its own options: the provider's `background` only
|
|
344
|
+
* describes a client the provider made, and an app-made one (`createClient`, the `client` prop) keeps its camera on with
|
|
345
|
+
* `pauseCamera: false` while the service was asked for no camera type, so Android cut the camera (RN010-1). The client
|
|
346
|
+
* pauses only with `pauseCameraInBackground === true` (left out, the camera runs on). Null when the options cannot be
|
|
347
|
+
* read (missing, not an object, or a read that throws: a wrapped or stubbed client): the provider's setting stands in.
|
|
348
|
+
*/
|
|
349
|
+
function pausesCameraInBackground(client) {
|
|
350
|
+
let options;
|
|
351
|
+
try {
|
|
352
|
+
options = client.options;
|
|
353
|
+
} catch {
|
|
354
|
+
// A wrapper that forbids the read (a logging or sealing Proxy): not an error, the provider's setting stands in.
|
|
355
|
+
return null;
|
|
356
|
+
}
|
|
357
|
+
if (!options || typeof options !== 'object') return null;
|
|
358
|
+
return options.pauseCameraInBackground === true;
|
|
359
|
+
}
|
|
309
360
|
//# sourceMappingURL=native-session.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useMemo","useRef","useSyncExternalStore","useVoltkitClient","listen","nativeConstants","nativeModule","callServiceFailed","describeError","logError","audioHoldOf","speakerPreference","localSessionOf","nativeVisibility","localStream","NOT_DECLARED","Object","freeze","declared","running","types","CallServices","wants","Map","busy","again","applied","failed","watching","state","listeners","Set","set","key","want","delete","reconcile","changed","subscribe","listener","add","snapshot","module","callServiceDeclared","status","getCallServiceStatus","err","publish","now","next","join","live","values","map","filter","w","watch","length","run","options","merged","JSON","stringify","safeVisible","what","call","stopCallService","startCallService","updateCallService","then","error","report","finally","on","visibility","stops","visible","onCallServiceEvent","event","onEvent","type","message","stop","leave","isAppVisible","text","reverse","pick","field","find","title","leaveLabel","pauseCamera","some","cameraPublished","micPublished","sharing","callServices","useCallService","NativeSession","audio","callService","onError","client","manage","speakerphone","undefined","wantsService","latest","current","hold","retain","sync","connectionState","acquire","release","off","unretain","wantOf","update","offs","local","getAudioTracks","getVideoTracks","screen","close"],"sourceRoot":"../../src","sources":["native-session.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,oBAAoB,QAAQ,OAAO;AAExE,SAASC,gBAAgB,QAAQ,oBAAoB;AAErD,SAASC,MAAM,EAAEC,eAAe,EAAEC,YAAY,QAAQ,aAAU;AAChE,SAASC,iBAAiB,EAAEC,aAAa,EAAEC,QAAQ,QAAQ,aAAU;AACrE,SAASC,WAAW,EAAEC,iBAAiB,QAAQ,YAAS;AACxD,SAASC,cAAc,QAAQ,kBAAe;AAC9C,SAASC,gBAAgB,QAAQ,0BAAuB;AACxD,SAASC,WAAW,QAAQ,sBAAmB;;AAE/C;;AAUA;;AAQA;;AAsBA,MAAMC,YAA8B,GAAGC,MAAM,CAACC,MAAM,CAAC;EAAEC,QAAQ,EAAE,KAAK;EAAEC,OAAO,EAAE,KAAK;EAAEC,KAAK,EAAEJ,MAAM,CAACC,MAAM,CAAC,EAAE;AAAyB,CAAC,CAAC;AAE1I,MAAMI,YAAY,CAAC;EACjB;EACiBC,KAAK,GAAG,IAAIC,GAAG,CAAqB,CAAC;EAC9CJ,OAAO,GAAG,KAAK;EACfK,IAAI,GAAG,KAAK;EACZC,KAAK,GAAG,KAAK;EACrB;EACQC,OAAO,GAAkB,IAAI;EACrC;EACQC,MAAM,GAAkB,IAAI;EAC5BC,QAAQ,GAAwB,IAAI;EACpCC,KAAK,GAA4B,IAAI;EAC5BC,SAAS,GAAG,IAAIC,GAAG,CAAa,CAAC;EAElDC,GAAGA,CAACC,GAAW,EAAEC,IAAyB,EAAQ;IAChD,IAAIA,IAAI,EAAE,IAAI,CAACZ,KAAK,CAACU,GAAG,CAACC,GAAG,EAAEC,IAAI,CAAC,CAAC,KAC/B,IAAI,CAACZ,KAAK,CAACa,MAAM,CAACF,GAAG,CAAC;IAC3B,IAAI,CAACG,SAAS,CAAC,CAAC;EAClB;;EAEA;EACAC,OAAOA,CAAA,EAAS;IACd,IAAI,CAACD,SAAS,CAAC,CAAC;EAClB;EAEAE,SAAS,GAAIC,QAAoB,IAAmB;IAClD,IAAI,CAACT,SAAS,CAACU,GAAG,CAACD,QAAQ,CAAC;IAC5B,OAAO,MAAM;MACX,IAAI,CAACT,SAAS,CAACK,MAAM,CAACI,QAAQ,CAAC;IACjC,CAAC;EACH,CAAC;EAEDE,QAAQ,GAAGA,CAAA,KAAwB;IACjC,IAAI,IAAI,CAACZ,KAAK,EAAE,OAAO,IAAI,CAACA,KAAK;IACjC,MAAMa,MAAM,GAAGpC,YAAY,CAAC,CAAC;IAC7B,IAAI,CAACoC,MAAM,IAAI,CAACrC,eAAe,CAAC,CAAC,EAAEsC,mBAAmB,EAAE,OAAO5B,YAAY;IAC3E,IAAI6B,MAAyB,GAAG;MAAE1B,QAAQ,EAAE,IAAI;MAAEC,OAAO,EAAE,KAAK;MAAEC,KAAK,EAAE;IAAG,CAAC;IAC7E,IAAI;MACFwB,MAAM,GAAGF,MAAM,CAACG,oBAAoB,CAAC,CAAC;IACxC,CAAC,CAAC,OAAOC,GAAG,EAAE;MACZrC,QAAQ,CAAC,2CAA2C,EAAEqC,GAAG,CAAC;IAC5D;IACA,IAAI,CAACjB,KAAK,GAAG;MAAEX,QAAQ,EAAE0B,MAAM,CAAC1B,QAAQ;MAAEC,OAAO,EAAEyB,MAAM,CAACzB,OAAO;MAAEC,KAAK,EAAE,CAAC,GAAGwB,MAAM,CAACxB,KAAK;IAAE,CAAC;IAC7F,OAAO,IAAI,CAACS,KAAK;EACnB,CAAC;EAEOkB,OAAOA,CAACH,MAAiC,EAAQ;IACvD,MAAMI,GAAG,GAAG,IAAI,CAACP,QAAQ,CAAC,CAAC;IAC3B,MAAMQ,IAAI,GAAG;MAAE,GAAGD,GAAG;MAAE,GAAGJ;IAAO,CAAC;IAClC,IAAIK,IAAI,CAAC9B,OAAO,KAAK6B,GAAG,CAAC7B,OAAO,IAAI8B,IAAI,CAAC/B,QAAQ,KAAK8B,GAAG,CAAC9B,QAAQ,IAAI+B,IAAI,CAAC7B,KAAK,CAAC8B,IAAI,CAAC,CAAC,KAAKF,GAAG,CAAC5B,KAAK,CAAC8B,IAAI,CAAC,CAAC,EAAE;IAC9G,IAAI,CAACrB,KAAK,GAAGoB,IAAI;IACjB,KAAK,MAAMV,QAAQ,IAAI,CAAC,GAAG,IAAI,CAACT,SAAS,CAAC,EAAES,QAAQ,CAAC,CAAC;EACxD;EAEQY,IAAIA,CAAA,EAAW;IACrB,OAAO,CAAC,GAAG,IAAI,CAAC7B,KAAK,CAAC8B,MAAM,CAAC,CAAC,CAAC,CAACC,GAAG,CAAEnB,IAAI,IAAKA,IAAI,CAAC,CAAC,CAAC,CAACoB,MAAM,CAAEC,CAAC,IAAKA,CAAC,CAACJ,IAAI,CAAC;EAC7E;EAEQf,SAASA,CAAA,EAAS;IACxB,MAAMM,MAAM,GAAGpC,YAAY,CAAC,CAAC;IAC7B,IAAI,CAACoC,MAAM,IAAI,CAACrC,eAAe,CAAC,CAAC,EAAEsC,mBAAmB,EAAE;IACxD,MAAMQ,IAAI,GAAG,IAAI,CAACA,IAAI,CAAC,CAAC;IACxB,IAAI,CAACK,KAAK,CAACd,MAAM,EAAES,IAAI,CAACM,MAAM,GAAG,CAAC,IAAI,IAAI,CAACtC,OAAO,CAAC;IACnD,IAAI,IAAI,CAACK,IAAI,EAAE;MACb,IAAI,CAACC,KAAK,GAAG,IAAI;MACjB;IACF;IACA,IAAI0B,IAAI,CAACM,MAAM,KAAK,CAAC,EAAE;MACrB,IAAI,CAAC9B,MAAM,GAAG,IAAI;MAClB,IAAI,IAAI,CAACR,OAAO,IAAI,IAAI,CAACO,OAAO,KAAK,IAAI,EAAE,IAAI,CAACgC,GAAG,CAAChB,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;MACzE;IACF;IACA,MAAMiB,OAAO,GAAGC,MAAM,CAACT,IAAI,CAAC;IAC5B,MAAMlB,GAAG,GAAG4B,IAAI,CAACC,SAAS,CAACH,OAAO,CAAC;IACnC,IAAK,IAAI,CAACxC,OAAO,IAAIc,GAAG,KAAK,IAAI,CAACP,OAAO,IAAKO,GAAG,KAAK,IAAI,CAACN,MAAM,EAAE;IACnE;IACA,IAAI,CAACoC,WAAW,CAACrB,MAAM,CAAC,EAAE;IAC1B,IAAI,CAACgB,GAAG,CAAChB,MAAM,EAAE,IAAI,CAACvB,OAAO,GAAG,QAAQ,GAAG,OAAO,EAAEwC,OAAO,CAAC;EAC9D;EAEQD,GAAGA,CAAChB,MAAY,EAAEsB,IAAiC,EAAEL,OAAwC,EAAQ;IAC3G,IAAI,CAACnC,IAAI,GAAG,IAAI;IAChB,MAAMS,GAAG,GAAG0B,OAAO,GAAGE,IAAI,CAACC,SAAS,CAACH,OAAO,CAAC,GAAG,IAAI;IACpD,MAAMM,IAAI,GAAGD,IAAI,KAAK,MAAM,GAAGtB,MAAM,CAACwB,eAAe,CAAC,CAAC,GAAGF,IAAI,KAAK,OAAO,GAAGtB,MAAM,CAACyB,gBAAgB,CAACR,OAAQ,CAAC,GAAGjB,MAAM,CAAC0B,iBAAiB,CAACT,OAAQ,CAAC;IACnJM,IAAI,CAACI,IAAI,CACNzB,MAAM,IAAK;MACV,IAAI,CAACzB,OAAO,GAAGyB,MAAM,CAACzB,OAAO;MAC7B,IAAI,CAACO,OAAO,GAAGkB,MAAM,CAACzB,OAAO,GAAGc,GAAG,GAAG,IAAI;MAC1C,IAAIW,MAAM,CAACzB,OAAO,EAAE,IAAI,CAACQ,MAAM,GAAG,IAAI;MACtC,IAAI,CAACoB,OAAO,CAAC;QAAE7B,QAAQ,EAAE0B,MAAM,CAAC1B,QAAQ;QAAEC,OAAO,EAAEyB,MAAM,CAACzB,OAAO;QAAEC,KAAK,EAAE,CAAC,GAAGwB,MAAM,CAACxB,KAAK;MAAE,CAAC,CAAC;IAChG,CAAC,EACA0B,GAAY,IAAK;MAChB,IAAIkB,IAAI,KAAK,MAAM,EAAE;QACnBvD,QAAQ,CAAC,iCAAiC,EAAEqC,GAAG,CAAC;QAChD;MACF;MACA,IAAI,CAACnB,MAAM,GAAGM,GAAG;MACjB,MAAMqC,KAAK,GAAG/D,iBAAiB,CAACC,aAAa,CAACsC,GAAG,CAAC,CAAC;MACnD,KAAK,MAAMZ,IAAI,IAAI,IAAI,CAACiB,IAAI,CAAC,CAAC,EAAEjB,IAAI,CAACqC,MAAM,CAACD,KAAK,CAAC;IACpD,CACF,CAAC,CAACE,OAAO,CAAC,MAAM;MACd,IAAI,CAAChD,IAAI,GAAG,KAAK;MACjB,IAAI,IAAI,CAACC,KAAK,EAAE;QACd,IAAI,CAACA,KAAK,GAAG,KAAK;QAClB,IAAI,CAACW,SAAS,CAAC,CAAC;QAChB;MACF;MACA;MACA,IAAI,CAAC,IAAI,CAACjB,OAAO,IAAI,IAAI,CAACgC,IAAI,CAAC,CAAC,CAACM,MAAM,KAAK,CAAC,EAAE,IAAI,CAACD,KAAK,CAACd,MAAM,EAAE,KAAK,CAAC;IAC1E,CAAC,CAAC;EACJ;;EAEA;EACQc,KAAKA,CAACd,MAAY,EAAE+B,EAAW,EAAQ;IAC7C,IAAIA,EAAE,MAAM,IAAI,CAAC7C,QAAQ,KAAK,IAAI,CAAC,EAAE;IACrC,IAAI,CAAC6C,EAAE,EAAE;MACP,IAAI,CAAC7C,QAAQ,GAAG,CAAC;MACjB,IAAI,CAACA,QAAQ,GAAG,IAAI;MACpB;IACF;IACA,MAAM8C,UAAU,GAAG7D,gBAAgB,CAAC6B,MAAM,CAAC;IAC3C,MAAMiC,KAAK,GAAG,CACZD,UAAU,CAACpC,SAAS,CAAEsC,OAAO,IAAK;MAChC,IAAI,CAACA,OAAO,EAAE;MACd;MACA,IAAI,CAACjD,MAAM,GAAG,IAAI;MAClB,IAAI,CAACS,SAAS,CAAC,CAAC;IAClB,CAAC,CAAC,EACFhC,MAAM,CAACsC,MAAM,CAACmC,kBAAkB,EAAE,oBAAoB,EAAGC,KAAK,IAAK,IAAI,CAACC,OAAO,CAACD,KAAK,CAACE,IAAI,EAAEF,KAAK,CAAC1D,KAAK,EAAE0D,KAAK,CAACG,OAAO,CAAC,CAAC,CACzH;IACD,IAAI,CAACrD,QAAQ,GAAG,MAAM;MACpB,KAAK,MAAMsD,IAAI,IAAIP,KAAK,EAAEO,IAAI,CAAC,CAAC;IAClC,CAAC;EACH;EAEQH,OAAOA,CAACC,IAAY,EAAE5D,KAAe,EAAE6D,OAAe,EAAQ;IACpE,QAAQD,IAAI;MACV,KAAK,SAAS;MACd,KAAK,SAAS;QACZ,IAAI,CAAC7D,OAAO,GAAG,IAAI;QACnB,IAAI,CAAC4B,OAAO,CAAC;UAAE5B,OAAO,EAAE,IAAI;UAAEC,KAAK,EAAE,CAAC,GAAGA,KAAK;QAAE,CAAC,CAAC;QAClD;MACF,KAAK,SAAS;QACZ,IAAI,CAACD,OAAO,GAAG,KAAK;QACpB,IAAI,CAACO,OAAO,GAAG,IAAI;QACnB;QACA,IAAI,IAAI,CAACyB,IAAI,CAAC,CAAC,CAACM,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC9B,MAAM,GAAGkC,IAAI,CAACC,SAAS,CAACF,MAAM,CAAC,IAAI,CAACT,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7E,IAAI,CAACJ,OAAO,CAAC;UAAE5B,OAAO,EAAE,KAAK;UAAEC,KAAK,EAAE;QAAG,CAAC,CAAC;QAC3C,IAAI,CAACgB,SAAS,CAAC,CAAC;QAChB;MACF,KAAK,OAAO;MACZ,KAAK,aAAa;QAChB,KAAK,MAAMF,IAAI,IAAI,IAAI,CAACiB,IAAI,CAAC,CAAC,EAAEjB,IAAI,CAACiD,KAAK,CAAC,CAAC;QAC5C;MACF,KAAK,QAAQ;QAAE;UACb,MAAMb,KAAK,GAAG/D,iBAAiB,CAAC0E,OAAO,IAAI,oBAAoB,CAAC;UAChE,KAAK,MAAM/C,IAAI,IAAI,IAAI,CAACiB,IAAI,CAAC,CAAC,EAAEjB,IAAI,CAACqC,MAAM,CAACD,KAAK,CAAC;UAClD;QACF;MACA;IACF;EACF;AACF;AAEA,SAASP,WAAWA,CAACrB,MAAY,EAAW;EAC1C,IAAI;IACF,OAAOA,MAAM,CAAC0C,YAAY,CAAC,CAAC;EAC9B,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF;;AAEA;AACA,SAASxB,MAAMA,CAACT,IAAY,EAA4B;EACtD,MAAMkC,IAAI,GAAG,CAAC,GAAGlC,IAAI,CAAC,CAACmC,OAAO,CAAC,CAAC;EAChC,MAAMC,IAAI,GAAIC,KAA4B,IAAKH,IAAI,CAACI,IAAI,CAAElC,CAAC,IAAKA,CAAC,CAAC8B,IAAI,CAACG,KAAK,CAAC,CAAC,EAAEH,IAAI,CAACG,KAAK,CAAC,IAAI,EAAE;EACjG,OAAO;IACLE,KAAK,EAAEH,IAAI,CAAC,OAAO,CAAC;IACpBF,IAAI,EAAEE,IAAI,CAAC,MAAM,CAAC;IAClBI,UAAU,EAAEJ,IAAI,CAAC,YAAY,CAAC;IAC9B;IACAK,WAAW,EAAE,CAACzC,IAAI,CAAC0C,IAAI,CAAEtC,CAAC,IAAKA,CAAC,CAACuC,eAAe,IAAI,CAACvC,CAAC,CAACqC,WAAW,CAAC;IACnEG,YAAY,EAAE5C,IAAI,CAAC0C,IAAI,CAAEtC,CAAC,IAAKA,CAAC,CAACwC,YAAY,CAAC;IAC9CD,eAAe,EAAE3C,IAAI,CAAC0C,IAAI,CAAEtC,CAAC,IAAKA,CAAC,CAACuC,eAAe,CAAC;IACpDE,OAAO,EAAE7C,IAAI,CAAC0C,IAAI,CAAEtC,CAAC,IAAKA,CAAC,CAACyC,OAAO;EACrC,CAAC;AACH;AAEA,MAAMC,YAAY,GAAG,IAAI5E,YAAY,CAAC,CAAC;;AAEvC;AACA,OAAO,SAAS6E,cAAcA,CAAA,EAAqB;EACjD,OAAOhG,oBAAoB,CAAC+F,YAAY,CAAC3D,SAAS,EAAE2D,YAAY,CAACxD,QAAQ,EAAEwD,YAAY,CAACxD,QAAQ,CAAC;AACnG;;AAEA;;AAUA;AACA,OAAO,SAAS0D,aAAaA,CAAC;EAAEC,KAAK;EAAEC,WAAW;EAAET,WAAW;EAAEU;AAA4B,CAAC,EAAQ;EACpG,MAAMC,MAAM,GAAGpG,gBAAgB,CAAC,CAAC;EACjC,MAAMqG,MAAM,GAAGJ,KAAK,KAAK,KAAK,IAAIA,KAAK,EAAEI,MAAM,KAAK,KAAK;EACzD,MAAMC,YAAY,GAAGL,KAAK,KAAK,KAAK,GAAGM,SAAS,GAAGN,KAAK,EAAEK,YAAY;EACtE,MAAME,YAAY,GAAGN,WAAW,KAAK,KAAK;EAC1C,MAAMhB,IAAI,GAAGrF,OAAO,CAAC,MAAO,OAAOqG,WAAW,KAAK,QAAQ,IAAIA,WAAW,KAAK,IAAI,GAAGA,WAAW,GAAG,CAAC,CAAE,EAAE,CAACA,WAAW,CAAC,CAAC;EACvH,MAAMO,MAAM,GAAG3G,MAAM,CAAC;IAAEwG,YAAY;IAAEpB,IAAI;IAAEO;EAAY,CAAC,CAAC;EAC1D7F,SAAS,CAAC,MAAM;IACd6G,MAAM,CAACC,OAAO,GAAG;MAAEJ,YAAY;MAAEpB,IAAI;MAAEO;IAAY,CAAC;EACtD,CAAC,CAAC;;EAEF;EACA7F,SAAS,CAAC,MAAOwG,MAAM,GAAG3F,cAAc,CAAC2F,MAAM,CAAC,CAACO,IAAI,CAAC,CAAC,GAAGJ,SAAU,EAAE,CAACH,MAAM,CAAC,CAAC;EAE/ExG,SAAS,CAAC,MAAM;IACd,IAAI,CAACwG,MAAM,IAAI,CAACC,MAAM,IAAI,CAAClG,YAAY,CAAC,CAAC,EAAE;IAC3C,MAAMwG,IAAI,GAAGpG,WAAW,CAAC6F,MAAM,EAAGjC,KAAK,IAAKgC,OAAO,CAACO,OAAO,GAAGvC,KAAK,CAAC,CAAC;IACrEwC,IAAI,CAACC,MAAM,CAAC,CAAC;IACb,MAAMC,IAAI,GAAGA,CAAA,KAAM;MACjB,MAAMnF,KAAK,GAAG0E,MAAM,CAACU,eAAe;MACpC,IAAIpF,KAAK,KAAK,WAAW,IAAIA,KAAK,KAAK,cAAc,EAAEiF,IAAI,CAACI,OAAO,CAACvG,iBAAiB,CAACiG,MAAM,CAACC,OAAO,CAACJ,YAAY,CAAC,CAAC,CAAC,KAC/G,IAAI5E,KAAK,KAAK,QAAQ,EAAEiF,IAAI,CAACK,OAAO,CAAC,CAAC;IAC7C,CAAC;IACDH,IAAI,CAAC,CAAC;IACN,MAAMI,GAAG,GAAGb,MAAM,CAAC9B,EAAE,CAAC,wBAAwB,EAAEuC,IAAI,CAAC;IACrD,OAAO,MAAM;MACXI,GAAG,CAAC,CAAC;MACLN,IAAI,CAACO,QAAQ,CAAC,CAAC;IACjB,CAAC;EACH,CAAC,EAAE,CAACd,MAAM,EAAEC,MAAM,EAAEF,OAAO,CAAC,CAAC;EAE7BvG,SAAS,CAAC,MAAM;IACd,IAAI,CAACwG,MAAM,IAAI,CAACI,YAAY,IAAI,CAACrG,YAAY,CAAC,CAAC,EAAE;IACjD,MAAM2B,GAAG,GAAG,CAAC,CAAC;IACdgE,YAAY,CAACjE,GAAG,CAACC,GAAG,EAAE,MAAMqF,MAAM,CAACf,MAAM,EAAEK,MAAM,CAACC,OAAO,EAAGvC,KAAK,IAAKgC,OAAO,CAACO,OAAO,GAAGvC,KAAK,CAAC,CAAC,CAAC;IAChG,MAAMiD,MAAM,GAAGA,CAAA,KAAMtB,YAAY,CAAC5D,OAAO,CAAC,CAAC;IAC3C;IACA,MAAMmF,IAAI,GAAG,CACX,GAAI,CAAC,wBAAwB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,kBAAkB,CAAC,CAChHnE,GAAG,CAAEyB,KAAK,IAAKyB,MAAM,CAAC9B,EAAE,CAACK,KAAK,EAAEyC,MAAM,CAAC,CAAC,EAC3C3G,cAAc,CAAC2F,MAAM,CAAC,CAACjE,SAAS,CAACiF,MAAM,CAAC,CACzC;IACD,OAAO,MAAM;MACX,KAAK,MAAMH,GAAG,IAAII,IAAI,EAAEJ,GAAG,CAAC,CAAC;MAC7BnB,YAAY,CAACjE,GAAG,CAACC,GAAG,EAAE,IAAI,CAAC;IAC7B,CAAC;EACH,CAAC,EAAE,CAACsE,MAAM,EAAEI,YAAY,EAAEL,OAAO,CAAC,CAAC;EAEnC,OAAO,IAAI;AACb;AAEA,SAASgB,MAAMA,CAACf,MAAoB,EAAEK,MAAuD,EAAErC,MAA8B,EAAQ;EACnI,MAAM1C,KAAK,GAAG0E,MAAM,CAACU,eAAe;EACpC,MAAMQ,KAAK,GAAG3G,WAAW,CAACyF,MAAM,CAAC;EACjC,OAAO;IACLpD,IAAI,EAAEtB,KAAK,KAAK,WAAW,IAAIA,KAAK,KAAK,cAAc;IACvDkE,YAAY,EAAE,CAAC0B,KAAK,EAAEC,cAAc,CAAC,CAAC,CAACjE,MAAM,IAAI,CAAC,IAAI,CAAC;IACvDqC,eAAe,EAAE,CAAC2B,KAAK,EAAEE,cAAc,CAAC,CAAC,CAAClE,MAAM,IAAI,CAAC,IAAI,CAAC;IAC1DuC,OAAO,EAAEpF,cAAc,CAAC2F,MAAM,CAAC,CAACqB,MAAM,KAAK,IAAI;IAC/ChC,WAAW,EAAEgB,MAAM,CAAChB,WAAW;IAC/BP,IAAI,EAAEuB,MAAM,CAACvB,IAAI;IACjBF,KAAK,EAAEA,CAAA,KAAMoB,MAAM,CAACsB,KAAK,CAAC,CAAC;IAC3BtD;EACF,CAAC;AACH","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useEffect","useMemo","useRef","useSyncExternalStore","useVoltkitClient","listen","nativeConstants","nativeModule","callServiceFailed","describeError","logError","audioHoldOf","speakerPreference","localSessionOf","nativeVisibility","localStream","NOT_DECLARED","Object","freeze","declared","running","types","CallServices","wants","Map","inFlight","again","applied","failed","watching","state","listeners","Set","set","key","want","report","undefined","delete","reconcile","changed","subscribe","listener","add","snapshot","module","callServiceDeclared","status","getCallServiceStatus","err","publish","now","next","join","live","w","reportErr","push","watch","length","run","options","merged","JSON","stringify","safeVisible","what","call","stopCallService","startCallService","updateCallService","then","error","finally","on","visibility","stops","visible","onCallServiceEvent","event","onEvent","type","message","stop","leave","isAppVisible","text","reverse","pick","field","find","title","leaveLabel","pauseCamera","some","cameraPublished","micPublished","sharing","callServices","useCallService","NativeSession","audio","callService","onError","client","manage","speakerphone","wantsService","latest","current","hold","retain","sync","connectionState","acquire","release","off","unretain","wantOf","update","offs","map","local","getAudioTracks","getVideoTracks","screen","pausesCameraInBackground","close","pauseCameraInBackground"],"sourceRoot":"../../src","sources":["native-session.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/native.js
CHANGED
|
@@ -9,7 +9,7 @@ import { Platform } from 'react-native';
|
|
|
9
9
|
import NativeVoltkitRtc from "./specs/NativeVoltkitRtc.js";
|
|
10
10
|
import { iosUnsupported, logError, nativeMissing } from "./errors.js";
|
|
11
11
|
/** The version of this package: what getDiagnostics() reports, and what the native side was built from. */
|
|
12
|
-
export const SDK_VERSION = '0.1.
|
|
12
|
+
export const SDK_VERSION = '0.1.1';
|
|
13
13
|
|
|
14
14
|
/** The native module, or null where there is none (iOS, Expo Go, an app not rebuilt). */
|
|
15
15
|
export function nativeModule() {
|
|
@@ -51,7 +51,7 @@ export function localStream(client) {
|
|
|
51
51
|
return client.local ?? null;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
/** getDiagnostics().userAgent: `ReactNative android 37; react-native-webrtc 155.0.1; @voltkit-rtc/react-native 0.1.
|
|
54
|
+
/** getDiagnostics().userAgent: `ReactNative android 37; react-native-webrtc 155.0.1; @voltkit-rtc/react-native 0.1.1`. */
|
|
55
55
|
export function describePlatform() {
|
|
56
56
|
return `ReactNative ${Platform.OS} ${String(Platform.Version)}; react-native-webrtc ${webrtcVersion() ?? 'unknown'}; @voltkit-rtc/react-native ${SDK_VERSION}`;
|
|
57
57
|
}
|
package/lib/module/provider.js
CHANGED
|
@@ -49,7 +49,9 @@ export function VoltkitProvider({
|
|
|
49
49
|
}) : undefined,
|
|
50
50
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51
51
|
[webrtc, wsUrl, token]);
|
|
52
|
-
|
|
52
|
+
// The call service reads the setting from the client it runs for (an app-made client has its own); this stands in
|
|
53
|
+
// when the client's options cannot be read.
|
|
54
|
+
const pauseCamera = options?.pauseCameraInBackground === true;
|
|
53
55
|
return /*#__PURE__*/_jsxs(ReactVoltkitProvider, {
|
|
54
56
|
...rest,
|
|
55
57
|
wsUrl: webrtc ? wsUrl : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useMemo","useRef","Platform","VoltkitProvider","ReactVoltkitProvider","registerVoltkitGlobals","nativeModule","nativeMissing","webrtcMissing","reactNativeClientOptions","NativeSession","jsx","_jsx","jsxs","_jsxs","audio","background","callService","clientOptions","client","wsUrl","token","onError","children","rest","webrtc","errors","current","wanted","Boolean","OS","options","undefined","pauseCamera","pauseCameraInBackground"],"sourceRoot":"../../src","sources":["provider.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAA2B,OAAO;AACrE,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,eAAe,IAAIC,oBAAoB,QAAgE,oBAAoB;AACpI,SAASC,sBAAsB,QAAQ,cAAW;AAClD,SAASC,YAAY,QAAQ,aAAU;AACvC,SAASC,aAAa,EAAEC,aAAa,QAAQ,aAAU;AACvD,SAASC,wBAAwB,QAAgC,oBAAiB;AAClF,SAASC,aAAa,QAAwD,qBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAsBjG;AACA,OAAO,SAASX,eAAeA,CAAC;EAC9BY,KAAK;EACLC,UAAU;EACVC,WAAW;EACXC,aAAa;EACbC,MAAM;EACNC,KAAK;EACLC,KAAK;EACLC,OAAO;EACPC,QAAQ;EACR,GAAGC;AACiB,CAAC,EAAgB;EACrC,MAAMC,MAAM,GAAGzB,OAAO,CAAC,MAAMK,sBAAsB,CAAC,CAAC,EAAE,EAAE,CAAC;EAC1D,MAAMqB,MAAM,GAAGzB,MAAM,CAACqB,OAAO,CAAC;EAC9BvB,SAAS,CAAC,MAAM;IACd2B,MAAM,CAACC,OAAO,GAAGL,OAAO;EAC1B,CAAC,CAAC;EAEF,MAAMM,MAAM,GAAGC,OAAO,CAACV,MAAM,IAAKC,KAAK,IAAIC,KAAM,CAAC;EAClDtB,SAAS,CAAC,MAAM;IACd,IAAI,CAAC6B,MAAM,EAAE;IACb,IAAI,CAACH,MAAM,EAAEC,MAAM,CAACC,OAAO,GAAGnB,aAAa,CAAC,CAAC,CAAC,CAAC,KAC1C,IAAIN,QAAQ,CAAC4B,EAAE,KAAK,SAAS,IAAI,CAACxB,YAAY,CAAC,CAAC,EAAEoB,MAAM,CAACC,OAAO,GAAGpB,aAAa,CAAC,mDAAmD,CAAC,CAAC;EAC7I,CAAC,EAAE,CAACkB,MAAM,EAAEG,MAAM,CAAC,CAAC;;EAEpB;EACA,MAAMG,OAAO,GAAG/B,OAAO,CACrB,MAAOyB,MAAM,GAAGhB,wBAAwB,CAAC;IAAEO,UAAU;IAAEE;EAAc,CAAC,CAAC,GAAGc,SAAU;EACpF;EACA,CAACP,MAAM,EAAEL,KAAK,EAAEC,KAAK,CACvB,CAAC;EACD,MAAMY,WAAW,GAAGF,OAAO,EAAEG,uBAAuB,KAAK,
|
|
1
|
+
{"version":3,"names":["useEffect","useMemo","useRef","Platform","VoltkitProvider","ReactVoltkitProvider","registerVoltkitGlobals","nativeModule","nativeMissing","webrtcMissing","reactNativeClientOptions","NativeSession","jsx","_jsx","jsxs","_jsxs","audio","background","callService","clientOptions","client","wsUrl","token","onError","children","rest","webrtc","errors","current","wanted","Boolean","OS","options","undefined","pauseCamera","pauseCameraInBackground"],"sourceRoot":"../../src","sources":["provider.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAA2B,OAAO;AACrE,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,eAAe,IAAIC,oBAAoB,QAAgE,oBAAoB;AACpI,SAASC,sBAAsB,QAAQ,cAAW;AAClD,SAASC,YAAY,QAAQ,aAAU;AACvC,SAASC,aAAa,EAAEC,aAAa,QAAQ,aAAU;AACvD,SAASC,wBAAwB,QAAgC,oBAAiB;AAClF,SAASC,aAAa,QAAwD,qBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAsBjG;AACA,OAAO,SAASX,eAAeA,CAAC;EAC9BY,KAAK;EACLC,UAAU;EACVC,WAAW;EACXC,aAAa;EACbC,MAAM;EACNC,KAAK;EACLC,KAAK;EACLC,OAAO;EACPC,QAAQ;EACR,GAAGC;AACiB,CAAC,EAAgB;EACrC,MAAMC,MAAM,GAAGzB,OAAO,CAAC,MAAMK,sBAAsB,CAAC,CAAC,EAAE,EAAE,CAAC;EAC1D,MAAMqB,MAAM,GAAGzB,MAAM,CAACqB,OAAO,CAAC;EAC9BvB,SAAS,CAAC,MAAM;IACd2B,MAAM,CAACC,OAAO,GAAGL,OAAO;EAC1B,CAAC,CAAC;EAEF,MAAMM,MAAM,GAAGC,OAAO,CAACV,MAAM,IAAKC,KAAK,IAAIC,KAAM,CAAC;EAClDtB,SAAS,CAAC,MAAM;IACd,IAAI,CAAC6B,MAAM,EAAE;IACb,IAAI,CAACH,MAAM,EAAEC,MAAM,CAACC,OAAO,GAAGnB,aAAa,CAAC,CAAC,CAAC,CAAC,KAC1C,IAAIN,QAAQ,CAAC4B,EAAE,KAAK,SAAS,IAAI,CAACxB,YAAY,CAAC,CAAC,EAAEoB,MAAM,CAACC,OAAO,GAAGpB,aAAa,CAAC,mDAAmD,CAAC,CAAC;EAC7I,CAAC,EAAE,CAACkB,MAAM,EAAEG,MAAM,CAAC,CAAC;;EAEpB;EACA,MAAMG,OAAO,GAAG/B,OAAO,CACrB,MAAOyB,MAAM,GAAGhB,wBAAwB,CAAC;IAAEO,UAAU;IAAEE;EAAc,CAAC,CAAC,GAAGc,SAAU;EACpF;EACA,CAACP,MAAM,EAAEL,KAAK,EAAEC,KAAK,CACvB,CAAC;EACD;EACA;EACA,MAAMY,WAAW,GAAGF,OAAO,EAAEG,uBAAuB,KAAK,IAAI;EAE7D,oBACEpB,KAAA,CAACV,oBAAoB;IAAA,GACfoB,IAAI;IACRJ,KAAK,EAAEK,MAAM,GAAGL,KAAK,GAAGY,SAAU;IAClCX,KAAK,EAAEI,MAAM,GAAGJ,KAAK,GAAGW,SAAU;IAClCb,MAAM,EAAEM,MAAM,GAAGN,MAAM,GAAG,IAAK;IAC/BD,aAAa,EAAEa,OAAQ;IACvBT,OAAO,EAAEA,OAAQ;IAAAC,QAAA,GAEhBE,MAAM,gBAAGb,IAAA,CAACF,aAAa;MAACK,KAAK,EAAEA,KAAM;MAACE,WAAW,EAAEA,WAAY;MAACgB,WAAW,EAAEA,WAAY;MAACX,OAAO,EAAEI;IAAO,CAAE,CAAC,GAAG,IAAI,EACpHH,QAAQ;EAAA,CACW,CAAC;AAE3B","ignoreList":[]}
|
|
@@ -27,7 +27,7 @@ export declare function useCallService(): CallServiceState;
|
|
|
27
27
|
export interface NativeSessionProps {
|
|
28
28
|
audio: AudioSessionOptions | false | undefined;
|
|
29
29
|
callService: boolean | CallServiceText | undefined;
|
|
30
|
-
/** The
|
|
30
|
+
/** The provider's background.pauseCamera: for a client whose own options cannot be read (see pausesCameraInBackground). */
|
|
31
31
|
pauseCamera: boolean;
|
|
32
32
|
onError: {
|
|
33
33
|
readonly current: ((error: Error) => void) | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-session.d.ts","sourceRoot":"","sources":["../../../src/native-session.tsx"],"names":[],"mappings":"AAyBA,uCAAuC;AACvC,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,+CAA+C;AAC/C,MAAM,WAAW,mBAAmB;IAClC,wHAAwH;IACxH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,4FAA4F;IAC5F,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"native-session.d.ts","sourceRoot":"","sources":["../../../src/native-session.tsx"],"names":[],"mappings":"AAyBA,uCAAuC;AACvC,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,+CAA+C;AAC/C,MAAM,WAAW,mBAAmB;IAClC,wHAAwH;IACxH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,4FAA4F;IAC5F,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAgBD,MAAM,WAAW,gBAAgB;IAC/B,yEAAyE;IACzE,QAAQ,EAAE,OAAO,CAAC;IAClB,mBAAmB;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,6GAA6G;IAC7G,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AA2ND,2FAA2F;AAC3F,wBAAgB,cAAc,IAAI,gBAAgB,CAEjD;AAID,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,mBAAmB,GAAG,KAAK,GAAG,SAAS,CAAC;IAC/C,WAAW,EAAE,OAAO,GAAG,eAAe,GAAG,SAAS,CAAC;IACnD,2HAA2H;IAC3H,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;KAAE,CAAC;CACrE;AAED,+HAA+H;AAC/H,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,kBAAkB,GAAG,IAAI,CAkDpG"}
|
|
@@ -2,7 +2,7 @@ import type { EventSubscription } from 'react-native';
|
|
|
2
2
|
import { type AudioDevice, type Constants, type Spec } from './specs/NativeVoltkitRtc';
|
|
3
3
|
import type { MediaDevice } from '@voltkit-rtc/client';
|
|
4
4
|
/** The version of this package: what getDiagnostics() reports, and what the native side was built from. */
|
|
5
|
-
export declare const SDK_VERSION = "0.1.
|
|
5
|
+
export declare const SDK_VERSION = "0.1.1";
|
|
6
6
|
/** The native module, or null where there is none (iOS, Expo Go, an app not rebuilt). */
|
|
7
7
|
export declare function nativeModule(): Spec | null;
|
|
8
8
|
/** The module's constants, read once: the audio mode, screen sharing, the call service as the manifest declares them. */
|
|
@@ -72,7 +72,7 @@ export interface MediaStreamLike {
|
|
|
72
72
|
export declare function localStream(client: {
|
|
73
73
|
readonly local: unknown;
|
|
74
74
|
}): MediaStreamLike | null;
|
|
75
|
-
/** getDiagnostics().userAgent: `ReactNative android 37; react-native-webrtc 155.0.1; @voltkit-rtc/react-native 0.1.
|
|
75
|
+
/** getDiagnostics().userAgent: `ReactNative android 37; react-native-webrtc 155.0.1; @voltkit-rtc/react-native 0.1.1`. */
|
|
76
76
|
export declare function describePlatform(): string;
|
|
77
77
|
/**
|
|
78
78
|
* What the client reads to pick its defaults: a phone or tablet, so two simulcast layers and the H.264 decision
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/provider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAA8B,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAEtE,OAAO,EAA2C,KAAK,oBAAoB,IAAI,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAIrI,OAAO,EAA4B,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAiB,KAAK,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEjG,MAAM,WAAW,oBAAqB,SAAQ,yBAAyB;IACrE;;;;OAIG;IACH,KAAK,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAAC;IACpC;;;OAGG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,eAAe,CAAC;CACzC;AAED,qHAAqH;AACrH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,UAAU,EACV,WAAW,EACX,aAAa,EACb,MAAM,EACN,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,oBAAoB,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/provider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAA8B,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAEtE,OAAO,EAA2C,KAAK,oBAAoB,IAAI,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAIrI,OAAO,EAA4B,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAiB,KAAK,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEjG,MAAM,WAAW,oBAAqB,SAAQ,yBAAyB;IACrE;;;;OAIG;IACH,KAAK,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAAC;IACpC;;;OAGG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,eAAe,CAAC;CACzC;AAED,qHAAqH;AACrH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,UAAU,EACV,WAAW,EACX,aAAa,EACb,MAAM,EACN,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,oBAAoB,GAAG,YAAY,CAqCrC"}
|
|
@@ -27,7 +27,7 @@ export declare function useCallService(): CallServiceState;
|
|
|
27
27
|
export interface NativeSessionProps {
|
|
28
28
|
audio: AudioSessionOptions | false | undefined;
|
|
29
29
|
callService: boolean | CallServiceText | undefined;
|
|
30
|
-
/** The
|
|
30
|
+
/** The provider's background.pauseCamera: for a client whose own options cannot be read (see pausesCameraInBackground). */
|
|
31
31
|
pauseCamera: boolean;
|
|
32
32
|
onError: {
|
|
33
33
|
readonly current: ((error: Error) => void) | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-session.d.ts","sourceRoot":"","sources":["../../../src/native-session.tsx"],"names":[],"mappings":"AAyBA,uCAAuC;AACvC,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,+CAA+C;AAC/C,MAAM,WAAW,mBAAmB;IAClC,wHAAwH;IACxH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,4FAA4F;IAC5F,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"native-session.d.ts","sourceRoot":"","sources":["../../../src/native-session.tsx"],"names":[],"mappings":"AAyBA,uCAAuC;AACvC,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,+CAA+C;AAC/C,MAAM,WAAW,mBAAmB;IAClC,wHAAwH;IACxH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,4FAA4F;IAC5F,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAgBD,MAAM,WAAW,gBAAgB;IAC/B,yEAAyE;IACzE,QAAQ,EAAE,OAAO,CAAC;IAClB,mBAAmB;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,6GAA6G;IAC7G,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AA2ND,2FAA2F;AAC3F,wBAAgB,cAAc,IAAI,gBAAgB,CAEjD;AAID,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,mBAAmB,GAAG,KAAK,GAAG,SAAS,CAAC;IAC/C,WAAW,EAAE,OAAO,GAAG,eAAe,GAAG,SAAS,CAAC;IACnD,2HAA2H;IAC3H,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;KAAE,CAAC;CACrE;AAED,+HAA+H;AAC/H,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,kBAAkB,GAAG,IAAI,CAkDpG"}
|
|
@@ -2,7 +2,7 @@ import type { EventSubscription } from 'react-native';
|
|
|
2
2
|
import { type AudioDevice, type Constants, type Spec } from './specs/NativeVoltkitRtc.js';
|
|
3
3
|
import type { MediaDevice } from '@voltkit-rtc/client';
|
|
4
4
|
/** The version of this package: what getDiagnostics() reports, and what the native side was built from. */
|
|
5
|
-
export declare const SDK_VERSION = "0.1.
|
|
5
|
+
export declare const SDK_VERSION = "0.1.1";
|
|
6
6
|
/** The native module, or null where there is none (iOS, Expo Go, an app not rebuilt). */
|
|
7
7
|
export declare function nativeModule(): Spec | null;
|
|
8
8
|
/** The module's constants, read once: the audio mode, screen sharing, the call service as the manifest declares them. */
|
|
@@ -72,7 +72,7 @@ export interface MediaStreamLike {
|
|
|
72
72
|
export declare function localStream(client: {
|
|
73
73
|
readonly local: unknown;
|
|
74
74
|
}): MediaStreamLike | null;
|
|
75
|
-
/** getDiagnostics().userAgent: `ReactNative android 37; react-native-webrtc 155.0.1; @voltkit-rtc/react-native 0.1.
|
|
75
|
+
/** getDiagnostics().userAgent: `ReactNative android 37; react-native-webrtc 155.0.1; @voltkit-rtc/react-native 0.1.1`. */
|
|
76
76
|
export declare function describePlatform(): string;
|
|
77
77
|
/**
|
|
78
78
|
* What the client reads to pick its defaults: a phone or tablet, so two simulcast layers and the H.264 decision
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/provider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAA8B,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAEtE,OAAO,EAA2C,KAAK,oBAAoB,IAAI,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAIrI,OAAO,EAA4B,KAAK,iBAAiB,EAAE,MAAM,oBAAiB,CAAC;AACnF,OAAO,EAAiB,KAAK,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAkB,CAAC;AAEjG,MAAM,WAAW,oBAAqB,SAAQ,yBAAyB;IACrE;;;;OAIG;IACH,KAAK,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAAC;IACpC;;;OAGG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,eAAe,CAAC;CACzC;AAED,qHAAqH;AACrH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,UAAU,EACV,WAAW,EACX,aAAa,EACb,MAAM,EACN,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,oBAAoB,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/provider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAA8B,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAEtE,OAAO,EAA2C,KAAK,oBAAoB,IAAI,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAIrI,OAAO,EAA4B,KAAK,iBAAiB,EAAE,MAAM,oBAAiB,CAAC;AACnF,OAAO,EAAiB,KAAK,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAkB,CAAC;AAEjG,MAAM,WAAW,oBAAqB,SAAQ,yBAAyB;IACrE;;;;OAIG;IACH,KAAK,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAAC;IACpC;;;OAGG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,eAAe,CAAC;CACzC;AAED,qHAAqH;AACrH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,UAAU,EACV,WAAW,EACX,aAAa,EACb,MAAM,EACN,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,oBAAoB,GAAG,YAAY,CAqCrC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voltkit-rtc/react-native",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "React Native SDK for VoltKit RTC: calls, audio rooms and live video on Android (iOS in preview), with the hooks of @voltkit-rtc/react, background calls, audio routing and an Expo config plugin.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"voltkit",
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
]
|
|
112
112
|
},
|
|
113
113
|
"peerDependencies": {
|
|
114
|
-
"@voltkit-rtc/client": ">=0.9.
|
|
114
|
+
"@voltkit-rtc/client": ">=0.9.13 <0.10.0",
|
|
115
115
|
"@voltkit-rtc/react": "^0.1.1",
|
|
116
116
|
"expo": ">=58",
|
|
117
117
|
"react": ">=19.1.0",
|
package/src/native-session.tsx
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* Failures reach the provider's onError as `media-unavailable` with `{ feature: 'callService' }`.
|
|
14
14
|
*/
|
|
15
15
|
import { useEffect, useMemo, useRef, useSyncExternalStore } from 'react';
|
|
16
|
-
import type { StreamClient } from '@voltkit-rtc/client';
|
|
16
|
+
import type { ClientOptions, StreamClient } from '@voltkit-rtc/client';
|
|
17
17
|
import { useVoltkitClient } from '@voltkit-rtc/react';
|
|
18
18
|
import type { CallServiceOptions as NativeCallServiceOptions, CallServiceStatus, Spec } from './specs/NativeVoltkitRtc';
|
|
19
19
|
import { listen, nativeConstants, nativeModule } from './native';
|
|
@@ -48,6 +48,7 @@ interface Want {
|
|
|
48
48
|
micPublished: boolean;
|
|
49
49
|
cameraPublished: boolean;
|
|
50
50
|
sharing: boolean;
|
|
51
|
+
/** The client switches its camera off in the background, so the service needs no camera type. */
|
|
51
52
|
pauseCamera: boolean;
|
|
52
53
|
text: CallServiceText;
|
|
53
54
|
leave(): void;
|
|
@@ -66,10 +67,14 @@ export interface CallServiceState {
|
|
|
66
67
|
const NOT_DECLARED: CallServiceState = Object.freeze({ declared: false, running: false, types: Object.freeze([]) as unknown as string[] });
|
|
67
68
|
|
|
68
69
|
class CallServices {
|
|
69
|
-
/**
|
|
70
|
-
|
|
70
|
+
/**
|
|
71
|
+
* What each call wants, read afresh at every decision: a call's state is its client's, which emits no event for some
|
|
72
|
+
* changes. With how to tell the call when its state cannot be read at all.
|
|
73
|
+
*/
|
|
74
|
+
private readonly wants = new Map<object, { want: () => Want; report: (error: Error) => void }>();
|
|
71
75
|
private running = false;
|
|
72
|
-
|
|
76
|
+
/** The call to the native module under way: a `failed` event during a start or update is its rejection's twin. */
|
|
77
|
+
private inFlight: 'start' | 'update' | 'stop' | null = null;
|
|
73
78
|
private again = false;
|
|
74
79
|
/** The options the service runs with, as sent. */
|
|
75
80
|
private applied: string | null = null;
|
|
@@ -79,8 +84,8 @@ class CallServices {
|
|
|
79
84
|
private state: CallServiceState | null = null;
|
|
80
85
|
private readonly listeners = new Set<() => void>();
|
|
81
86
|
|
|
82
|
-
set(key: object, want: (() => Want) | null): void {
|
|
83
|
-
if (want) this.wants.set(key, want);
|
|
87
|
+
set(key: object, want: (() => Want) | null, report: (error: Error) => void = () => undefined): void {
|
|
88
|
+
if (want) this.wants.set(key, { want, report });
|
|
84
89
|
else this.wants.delete(key);
|
|
85
90
|
this.reconcile();
|
|
86
91
|
}
|
|
@@ -120,7 +125,26 @@ class CallServices {
|
|
|
120
125
|
}
|
|
121
126
|
|
|
122
127
|
private live(): Want[] {
|
|
123
|
-
|
|
128
|
+
const live: Want[] = [];
|
|
129
|
+
for (const [key, { want, report }] of [...this.wants]) {
|
|
130
|
+
let w: Want;
|
|
131
|
+
try {
|
|
132
|
+
w = want();
|
|
133
|
+
} catch (err) {
|
|
134
|
+
// A client whose state cannot be read (a wrapper that throws on a read): this call is left out of the service
|
|
135
|
+
// for good, said once, and never keeps the other calls from theirs (the verifier's F3 on 0.1.1).
|
|
136
|
+
this.wants.delete(key);
|
|
137
|
+
logError('a call is left out of the call service: its client\'s state could not be read', err);
|
|
138
|
+
try {
|
|
139
|
+
report(callServiceFailed(`this call is left out, its client's state could not be read: ${describeError(err)}`));
|
|
140
|
+
} catch (reportErr) {
|
|
141
|
+
logError('onError threw', reportErr);
|
|
142
|
+
}
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
if (w.live) live.push(w);
|
|
146
|
+
}
|
|
147
|
+
return live;
|
|
124
148
|
}
|
|
125
149
|
|
|
126
150
|
private reconcile(): void {
|
|
@@ -128,7 +152,7 @@ class CallServices {
|
|
|
128
152
|
if (!module || !nativeConstants()?.callServiceDeclared) return;
|
|
129
153
|
const live = this.live();
|
|
130
154
|
this.watch(module, live.length > 0 || this.running);
|
|
131
|
-
if (this.
|
|
155
|
+
if (this.inFlight) {
|
|
132
156
|
this.again = true;
|
|
133
157
|
return;
|
|
134
158
|
}
|
|
@@ -146,7 +170,7 @@ class CallServices {
|
|
|
146
170
|
}
|
|
147
171
|
|
|
148
172
|
private run(module: Spec, what: 'start' | 'update' | 'stop', options: NativeCallServiceOptions | null): void {
|
|
149
|
-
this.
|
|
173
|
+
this.inFlight = what;
|
|
150
174
|
const key = options ? JSON.stringify(options) : null;
|
|
151
175
|
const call = what === 'stop' ? module.stopCallService() : what === 'start' ? module.startCallService(options!) : module.updateCallService(options!);
|
|
152
176
|
call.then(
|
|
@@ -166,7 +190,7 @@ class CallServices {
|
|
|
166
190
|
for (const want of this.live()) want.report(error);
|
|
167
191
|
},
|
|
168
192
|
).finally(() => {
|
|
169
|
-
this.
|
|
193
|
+
this.inFlight = null;
|
|
170
194
|
if (this.again) {
|
|
171
195
|
this.again = false;
|
|
172
196
|
this.reconcile();
|
|
@@ -220,6 +244,8 @@ class CallServices {
|
|
|
220
244
|
for (const want of this.live()) want.leave();
|
|
221
245
|
return;
|
|
222
246
|
case 'failed': {
|
|
247
|
+
// VoltkitCallService.runWith tells `failed` and then rejects the start or update: the rejection reports it (RN010-2).
|
|
248
|
+
if (this.inFlight === 'start' || this.inFlight === 'update') return;
|
|
223
249
|
const error = callServiceFailed(message || 'Android refused it');
|
|
224
250
|
for (const want of this.live()) want.report(error);
|
|
225
251
|
return;
|
|
@@ -265,7 +291,7 @@ export function useCallService(): CallServiceState {
|
|
|
265
291
|
export interface NativeSessionProps {
|
|
266
292
|
audio: AudioSessionOptions | false | undefined;
|
|
267
293
|
callService: boolean | CallServiceText | undefined;
|
|
268
|
-
/** The
|
|
294
|
+
/** The provider's background.pauseCamera: for a client whose own options cannot be read (see pausesCameraInBackground). */
|
|
269
295
|
pauseCamera: boolean;
|
|
270
296
|
onError: { readonly current: ((error: Error) => void) | undefined };
|
|
271
297
|
}
|
|
@@ -305,7 +331,8 @@ export function NativeSession({ audio, callService, pauseCamera, onError }: Nati
|
|
|
305
331
|
useEffect(() => {
|
|
306
332
|
if (!client || !wantsService || !nativeModule()) return;
|
|
307
333
|
const key = {};
|
|
308
|
-
|
|
334
|
+
const report = (error: Error) => onError.current?.(error);
|
|
335
|
+
callServices.set(key, () => wantOf(client, latest.current, report), report);
|
|
309
336
|
const update = () => callServices.changed();
|
|
310
337
|
// publish() and a camera switch emit no event of their own: useLocalMedia's calls say so through the local session.
|
|
311
338
|
const offs = [
|
|
@@ -330,9 +357,28 @@ function wantOf(client: StreamClient, latest: { text: CallServiceText; pauseCame
|
|
|
330
357
|
micPublished: (local?.getAudioTracks().length ?? 0) > 0,
|
|
331
358
|
cameraPublished: (local?.getVideoTracks().length ?? 0) > 0,
|
|
332
359
|
sharing: localSessionOf(client).screen !== null,
|
|
333
|
-
pauseCamera: latest.pauseCamera,
|
|
360
|
+
pauseCamera: pausesCameraInBackground(client) ?? latest.pauseCamera,
|
|
334
361
|
text: latest.text,
|
|
335
362
|
leave: () => client.close(),
|
|
336
363
|
report,
|
|
337
364
|
};
|
|
338
365
|
}
|
|
366
|
+
|
|
367
|
+
/**
|
|
368
|
+
* Whether the client switches its camera off in the background, from its own options: the provider's `background` only
|
|
369
|
+
* describes a client the provider made, and an app-made one (`createClient`, the `client` prop) keeps its camera on with
|
|
370
|
+
* `pauseCamera: false` while the service was asked for no camera type, so Android cut the camera (RN010-1). The client
|
|
371
|
+
* pauses only with `pauseCameraInBackground === true` (left out, the camera runs on). Null when the options cannot be
|
|
372
|
+
* read (missing, not an object, or a read that throws: a wrapped or stubbed client): the provider's setting stands in.
|
|
373
|
+
*/
|
|
374
|
+
function pausesCameraInBackground(client: StreamClient): boolean | null {
|
|
375
|
+
let options: unknown;
|
|
376
|
+
try {
|
|
377
|
+
options = (client as unknown as { options?: unknown }).options;
|
|
378
|
+
} catch {
|
|
379
|
+
// A wrapper that forbids the read (a logging or sealing Proxy): not an error, the provider's setting stands in.
|
|
380
|
+
return null;
|
|
381
|
+
}
|
|
382
|
+
if (!options || typeof options !== 'object') return null;
|
|
383
|
+
return (options as ClientOptions).pauseCameraInBackground === true;
|
|
384
|
+
}
|
package/src/native.ts
CHANGED
|
@@ -10,7 +10,7 @@ import { iosUnsupported, logError, nativeMissing } from './errors';
|
|
|
10
10
|
import type { AudioDeviceType, DeviceKind, MediaDevice } from '@voltkit-rtc/client';
|
|
11
11
|
|
|
12
12
|
/** The version of this package: what getDiagnostics() reports, and what the native side was built from. */
|
|
13
|
-
export const SDK_VERSION = '0.1.
|
|
13
|
+
export const SDK_VERSION = '0.1.1';
|
|
14
14
|
|
|
15
15
|
/** The native module, or null where there is none (iOS, Expo Go, an app not rebuilt). */
|
|
16
16
|
export function nativeModule(): Spec | null {
|
package/src/platform/common.ts
CHANGED
|
@@ -89,7 +89,7 @@ export function localStream(client: { readonly local: unknown }): MediaStreamLik
|
|
|
89
89
|
return (client.local as MediaStreamLike | null | undefined) ?? null;
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
/** getDiagnostics().userAgent: `ReactNative android 37; react-native-webrtc 155.0.1; @voltkit-rtc/react-native 0.1.
|
|
92
|
+
/** getDiagnostics().userAgent: `ReactNative android 37; react-native-webrtc 155.0.1; @voltkit-rtc/react-native 0.1.1`. */
|
|
93
93
|
export function describePlatform(): string {
|
|
94
94
|
return `ReactNative ${Platform.OS} ${String(Platform.Version)}; react-native-webrtc ${webrtcVersion() ?? 'unknown'}; @voltkit-rtc/react-native ${SDK_VERSION}`;
|
|
95
95
|
}
|
package/src/provider.tsx
CHANGED
|
@@ -68,7 +68,9 @@ export function VoltkitProvider({
|
|
|
68
68
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
69
69
|
[webrtc, wsUrl, token],
|
|
70
70
|
);
|
|
71
|
-
|
|
71
|
+
// The call service reads the setting from the client it runs for (an app-made client has its own); this stands in
|
|
72
|
+
// when the client's options cannot be read.
|
|
73
|
+
const pauseCamera = options?.pauseCameraInBackground === true;
|
|
72
74
|
|
|
73
75
|
return (
|
|
74
76
|
<ReactVoltkitProvider
|