@voltkit-rtc/react-native 0.1.1 → 0.1.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.
@@ -217,8 +217,12 @@ function localActions(client) {
217
217
 
218
218
  // ----------------------------------------------------------------------------------------------------- publish
219
219
 
220
- /** Clients with a publish() between asking for permissions and publishing. */
221
- const publishing = new WeakSet();
220
+ /** The publish() between asking for the permissions and publishing, per client: the one start under way. */
221
+ const publishing = new WeakMap();
222
+ const mayPublish = client => {
223
+ const role = client.info?.role;
224
+ return role === 'host' || role === 'cohost';
225
+ };
222
226
  async function publishDevices(client, options) {
223
227
  // facingMode is a capture choice, not a publish option.
224
228
  const {
@@ -230,44 +234,118 @@ async function publishDevices(client, options) {
230
234
  if (audio === false && video === false) throw new TypeError('publish: ask for audio, video or both');
231
235
  // Everything that would refuse the publish is checked before a permission is asked for or a device opens.
232
236
  if (client.connectionState !== 'connected') throw new RpcError('not-connected', 'connect before publishing');
233
- const role = client.info?.role;
234
- if (role !== 'host' && role !== 'cohost') throw new RpcError('forbidden', 'only hosts and cohosts can publish');
235
- if (publishing.has(client) || localStream(client)?.getTracks().some(track => track.readyState === 'live')) {
237
+ if (!mayPublish(client)) throw new RpcError('forbidden', 'only hosts and cohosts can publish');
238
+ // What is on air goes on as it is, and only the rest is asked for and opened (0.1.3, decision D2): a retry after the
239
+ // server took the microphone and refused the camera sends the camera alone. Everything asked for on air already, or
240
+ // a start under way: unpublish first.
241
+ const onAir = kind => localStream(client)?.getTracks().some(track => track.kind === kind && track.readyState === 'live') ?? false;
242
+ const wantAudio = audio !== false && !onAir('audio');
243
+ const wantVideo = video !== false && !onAir('video');
244
+ if (publishing.has(client) || !wantAudio && !wantVideo) {
236
245
  throw new RpcError('source-already-published', 'already publishing: unpublish() first');
237
246
  }
238
- const permissions = client.mediaPermissions;
239
- if (audio !== false && !permissions.audio) throw new RpcError('media-disabled', 'audio is switched off for this project');
240
- if (video !== false && !permissions.video) throw new RpcError('media-disabled', 'video is switched off for this project');
241
- if (!registerVoltkitGlobals()) throw webrtcMissing();
242
- publishing.add(client);
247
+ const start = {};
248
+ publishing.set(client, start);
249
+ const ended = () => {
250
+ if (publishing.get(client) === start) publishing.delete(client);
251
+ };
252
+ // Stop wins over a start still under way (0.1.2): unpublish() -- the user's Stop -- while the permission dialog is up
253
+ // or the camera is opening says so with localStreamChanged(null). No device opens after it, what opened is released,
254
+ // nothing is published, and this start rejects with `unpublished`. It is over from that moment: a Go live right
255
+ // after the Stop is the user's last word and its own start, not this one's double tap (RN012-3).
256
+ let stopped = false;
257
+ const unwatch = client.on('localStreamChanged', local => {
258
+ if (local !== null) return;
259
+ stopped = true;
260
+ ended();
261
+ });
262
+ const stoppedError = () => new RpcError('unpublished', 'unpublish() ran while the camera and microphone were opening');
263
+ const demotedError = () => new RpcError('forbidden', 'the role changed while the camera and microphone were opening: only hosts and cohosts can publish');
243
264
  try {
265
+ let permissions = client.mediaPermissions;
266
+ if (wantAudio && !permissions.audio || wantVideo && !permissions.video) {
267
+ // A hint from the join (client 0.9.14): the controller is asked before refusing. Null: it cannot say, and the
268
+ // client's publish lets it decide.
269
+ const fresh = await refreshPermissions(client, permissions);
270
+ permissions = fresh ?? {
271
+ ...permissions,
272
+ audio: true,
273
+ video: true
274
+ };
275
+ if (stopped) throw stoppedError();
276
+ }
277
+ if (wantAudio && !permissions.audio) throw new RpcError('media-disabled', 'audio is switched off for this project');
278
+ if (wantVideo && !permissions.video) throw new RpcError('media-disabled', 'video is switched off for this project');
279
+ if (!registerVoltkitGlobals()) throw webrtcMissing();
244
280
  const kinds = [];
245
- if (video !== false) kinds.push('camera');
246
- if (audio !== false) kinds.push('microphone');
281
+ if (wantVideo) kinds.push('camera');
282
+ if (wantAudio) kinds.push('microphone');
247
283
  const statuses = await requestMediaPermissions(kinds);
248
284
  for (const kind of kinds) {
249
285
  const status = statuses[kind];
250
286
  if (status !== 'granted') throw permissionRefused(kind, status);
251
287
  }
252
288
  // The dialog stays up as long as the user thinks: the call may be over by now (the screen unmounted, a kick, the
253
- // room closed). Nothing opens a device for a session that is gone.
289
+ // room closed), the user tapped Stop, or a demotion came (RN012-2: a viewer's camera light never comes on). Nothing
290
+ // opens a device then.
291
+ if (stopped) throw stoppedError();
254
292
  if (client.connectionState !== 'connected') throw new RpcError('not-connected', 'the session ended while the permissions were being asked for');
255
- const constraints = captureConstraints(options, permissions);
293
+ if (!mayPublish(client)) throw demotedError();
294
+ const constraints = captureConstraints({
295
+ ...options,
296
+ audio: wantAudio ? audio : false,
297
+ video: wantVideo ? video : false
298
+ }, permissions);
256
299
  const platform = reactNativePlatform();
257
300
  const stream = await platform.getUserMedia(constraints);
258
- try {
259
- // With the constraints, a reconnect that finds the devices gone opens them again.
260
- await client.publish(stream, constraints, publishOptions);
261
- } catch (error) {
262
- // Released here, the stream before its tracks (platform/streams.ts): the client kept none of it.
301
+ // Released here, the stream before its tracks (platform/streams.ts), while the client kept none of it.
302
+ const release = () => {
263
303
  const book = streamBook();
264
304
  const tracks = stream.getTracks();
265
305
  book.release(stream);
266
306
  for (const track of tracks) book.stop(track);
307
+ };
308
+ if (stopped) {
309
+ release();
310
+ throw stoppedError();
311
+ }
312
+ // Demoted while the devices were opening: closed again at once, nothing is published.
313
+ if (!mayPublish(client)) {
314
+ release();
315
+ throw demotedError();
316
+ }
317
+ try {
318
+ // With the constraints, a reconnect that finds the devices gone opens them again.
319
+ await client.publish(stream, constraints, publishOptions);
320
+ } catch (error) {
321
+ // Only what the client let go of. A microphone it kept on air (the server took it, then refused the camera)
322
+ // stays live, in a stream the client holds now: stopped here, it stayed on air as a dead track with micEnabled
323
+ // saying true (the R012-2 class), and the stream is never released under a track the client keeps. By kind:
324
+ // behind a video processor `local` holds the picture, not the camera.
325
+ const kept = localStream(client)?.getTracks().filter(track => track.readyState === 'live').map(track => track.kind) ?? [];
326
+ if (kept.length === 0) release();else {
327
+ const book = streamBook();
328
+ for (const track of stream.getTracks()) if (!kept.includes(track.kind)) book.stop(track);
329
+ }
267
330
  throw error;
268
331
  }
269
332
  } finally {
270
- publishing.delete(client);
333
+ if (typeof unwatch === 'function') unwatch();
334
+ ended();
335
+ }
336
+ }
337
+
338
+ /**
339
+ * The project's permissions as the controller says now (client 0.9.14), or null when it cannot say. A client older
340
+ * than 0.9.14 cannot ask: its hint stands. A failed question leaves the hint standing too.
341
+ */
342
+ async function refreshPermissions(client, hint) {
343
+ const refresh = client.refreshMediaPermissions;
344
+ if (typeof refresh !== 'function') return hint;
345
+ try {
346
+ return await refresh.call(client);
347
+ } catch {
348
+ return hint;
271
349
  }
272
350
  }
273
351
 
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useSyncExternalStore","allowedQuality","DEFAULT_MEDIA_PERMISSIONS","RpcError","useVoltkitClient","permissionRefused","webrtcMissing","requestMediaPermissions","registerVoltkitGlobals","reactNativePlatform","streamBook","listCameras","localStream","LocalSession","screen","listeners","Set","holders","stopListening","constructor","client","hold","listen","held","subscribe","listener","add","delete","changed","offs","on","stream","endScreen","state","off","sessions","WeakMap","localSessionOf","session","get","set","EVENTS","FALLBACK","Object","freeze","publishing","micEnabled","camEnabled","audioQuality","videoQuality","maxVideoQuality","videoFrameRate","screenSharing","screenStream","permissions","facingMode","facingOf","settings","getVideoTracks","getSettings","facing","read","mediaPermissions","sameFields","a","b","keys","length","every","key","is","localSource","version","cache","onChange","map","event","push","getSnapshot","value","next","settled","noSubscription","undefined","fallback","useLocalMedia","source","actions","localActions","call","task","publish","options","c","publishDevices","unpublish","setMicEnabled","setCamEnabled","setAudioQuality","quality","setVideoQuality","raiseCapture","setVideoFrameRate","frameRate","switchCamera","startScreenShare","publishScreen","stopScreenShare","unpublishScreen","WeakSet","audio","video","_facingMode","publishOptions","TypeError","connectionState","role","info","has","getTracks","some","track","readyState","kinds","statuses","kind","status","constraints","captureConstraints","platform","getUserMedia","error","book","tracks","release","stop","FRAMES","width","height","microphone","audioQualityMax","camera","hd","echoCancellation","noiseSuppression","autoGainControl","channelCount","ideal","fps","maxFrameRate","maxQuality","max","frame","Math","min","applyConstraints","getConstraints","switching","previous","Promise","resolve","catch","then","flipCamera","cameras","current","find","deviceId","front","target","switchDevice"],"sourceRoot":"../../src","sources":["local-media.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","useSyncExternalStore","allowedQuality","DEFAULT_MEDIA_PERMISSIONS","RpcError","useVoltkitClient","permissionRefused","webrtcMissing","requestMediaPermissions","registerVoltkitGlobals","reactNativePlatform","streamBook","listCameras","localStream","LocalSession","screen","listeners","Set","holders","stopListening","constructor","client","hold","listen","held","subscribe","listener","add","delete","changed","offs","on","stream","endScreen","state","off","sessions","WeakMap","localSessionOf","session","get","set","EVENTS","FALLBACK","Object","freeze","publishing","micEnabled","camEnabled","audioQuality","videoQuality","maxVideoQuality","videoFrameRate","screenSharing","screenStream","permissions","facingMode","facingOf","settings","getVideoTracks","getSettings","facing","read","mediaPermissions","sameFields","a","b","keys","length","every","key","is","localSource","version","cache","onChange","map","event","push","getSnapshot","value","next","settled","noSubscription","undefined","fallback","useLocalMedia","source","actions","localActions","call","task","publish","options","c","publishDevices","unpublish","setMicEnabled","setCamEnabled","setAudioQuality","quality","setVideoQuality","raiseCapture","setVideoFrameRate","frameRate","switchCamera","startScreenShare","publishScreen","stopScreenShare","unpublishScreen","mayPublish","role","info","audio","video","_facingMode","publishOptions","TypeError","connectionState","onAir","kind","getTracks","some","track","readyState","wantAudio","wantVideo","has","start","ended","stopped","unwatch","local","stoppedError","demotedError","fresh","refreshPermissions","kinds","statuses","status","constraints","captureConstraints","platform","getUserMedia","release","book","tracks","stop","error","kept","filter","includes","hint","refresh","refreshMediaPermissions","FRAMES","width","height","microphone","audioQualityMax","camera","hd","echoCancellation","noiseSuppression","autoGainControl","channelCount","ideal","fps","maxFrameRate","maxQuality","max","frame","Math","min","applyConstraints","getConstraints","switching","previous","Promise","resolve","catch","then","flipCamera","cameras","current","find","deviceId","front","target","switchDevice"],"sourceRoot":"../../src","sources":["local-media.ts"],"mappings":"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","ignoreList":[]}
@@ -51,12 +51,37 @@ class CallServices {
51
51
  watching = null;
52
52
  state = null;
53
53
  listeners = new Set();
54
+ /** A call gone: decided after this turn of the JavaScript thread (see `set`). */
55
+ settling = null;
54
56
  set(key, want, report = () => undefined) {
55
- if (want) this.wants.set(key, {
56
- want,
57
- report
58
- });else this.wants.delete(key);
59
- this.reconcile();
57
+ if (want) {
58
+ this.wants.set(key, {
59
+ want,
60
+ report
61
+ });
62
+ this.reconcile();
63
+ return;
64
+ }
65
+ this.wants.delete(key);
66
+ // React replaces a screen's provider by another's in one commit: the old effect's cleanup first, the new effect
67
+ // right after. Decided at once, the stop would be on its way to Android when the new provider registers the same
68
+ // live client, and the service would bounce (RN012-1); in the background, where Android lets it stop but not start
69
+ // again, the call would then be cut. So a call gone is decided once the turn is over.
70
+ this.settling ??= Promise.resolve().then(() => {
71
+ this.settling = null;
72
+ this.reconcile();
73
+ });
74
+ }
75
+
76
+ /** Each live call told in turn: an app's listener that throws (RN012-5) or a close that throws never silences the next call. */
77
+ each(wants, tell, context) {
78
+ for (const want of wants) {
79
+ try {
80
+ tell(want);
81
+ } catch (err) {
82
+ logError(context, err);
83
+ }
84
+ }
60
85
  }
61
86
 
62
87
  /** Something a call publishes may have changed: decide again. */
@@ -149,7 +174,8 @@ class CallServices {
149
174
  run(module, what, options) {
150
175
  this.inFlight = what;
151
176
  const key = options ? JSON.stringify(options) : null;
152
- const call = what === 'stop' ? module.stopCallService() : what === 'start' ? module.startCallService(options) : module.updateCallService(options);
177
+ // Called now; a module that throws instead of rejecting (its bridge gone) is a rejection all the same.
178
+ const call = (async () => what === 'stop' ? module.stopCallService() : what === 'start' ? module.startCallService(options) : module.updateCallService(options))();
153
179
  call.then(status => {
154
180
  this.running = status.running;
155
181
  this.applied = status.running ? key : null;
@@ -166,7 +192,7 @@ class CallServices {
166
192
  }
167
193
  this.failed = key;
168
194
  const error = callServiceFailed(describeError(err));
169
- for (const want of this.live()) want.report(error);
195
+ this.each(this.live(), want => want.report(error), 'onError threw');
170
196
  }).finally(() => {
171
197
  this.inFlight = null;
172
198
  if (this.again) {
@@ -209,10 +235,14 @@ class CallServices {
209
235
  });
210
236
  return;
211
237
  case 'stopped':
238
+ // The service's real state, whatever stopped it: a stop of ours, asked when no call was live and run by Android
239
+ // later, when a call may be live again (a screen's provider replaced by another holding the same client,
240
+ // RN012-1), or something outside (an app's own stopService). The calls decide again: a live call gets it back
241
+ // now while the app is visible, as after a join; in the background it waits for the front, as every start does.
242
+ // Until 0.1.2 a live call here was held as a failure until the next front, and the first background stay would
243
+ // have cut the call.
212
244
  this.running = false;
213
245
  this.applied = null;
214
- // Stopped from outside while a call is live: started again when the app next comes to the front, not now.
215
- if (this.live().length > 0) this.failed = JSON.stringify(merged(this.live()));
216
246
  this.publish({
217
247
  running: false,
218
248
  types: []
@@ -221,14 +251,14 @@ class CallServices {
221
251
  return;
222
252
  case 'leave':
223
253
  case 'taskRemoved':
224
- for (const want of this.live()) want.leave();
254
+ this.each(this.live(), want => want.leave(), 'a call could not be closed');
225
255
  return;
226
256
  case 'failed':
227
257
  {
228
258
  // VoltkitCallService.runWith tells `failed` and then rejects the start or update: the rejection reports it (RN010-2).
229
259
  if (this.inFlight === 'start' || this.inFlight === 'update') return;
230
260
  const error = callServiceFailed(message || 'Android refused it');
231
- for (const want of this.live()) want.report(error);
261
+ this.each(this.live(), want => want.report(error), 'onError threw');
232
262
  return;
233
263
  }
234
264
  default:
@@ -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","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":[]}
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","settling","set","key","want","report","undefined","reconcile","delete","Promise","resolve","then","each","tell","context","err","changed","subscribe","listener","add","snapshot","module","callServiceDeclared","status","getCallServiceStatus","publish","now","next","join","live","w","reportErr","push","watch","length","run","options","merged","JSON","stringify","safeVisible","what","call","stopCallService","startCallService","updateCallService","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":[]}
@@ -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.1';
12
+ export const SDK_VERSION = '0.1.3';
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.1`. */
54
+ /** getDiagnostics().userAgent: `ReactNative android 37; react-native-webrtc 155.0.1; @voltkit-rtc/react-native 0.1.3`. */
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
  }
@@ -37,8 +37,16 @@ export function VoltkitProvider({
37
37
  errors.current = onError;
38
38
  });
39
39
  const wanted = Boolean(client || wsUrl && token);
40
+ // Said once per ask: StrictMode runs an effect twice on mount (development only), and onError heard
41
+ // webrtc-missing twice (RN012-4). Asked for a client anew (a new token after none), it is said again.
42
+ const said = useRef(false);
40
43
  useEffect(() => {
41
- if (!wanted) return;
44
+ if (!wanted) {
45
+ said.current = false;
46
+ return;
47
+ }
48
+ if (said.current) return;
49
+ said.current = true;
42
50
  if (!webrtc) errors.current?.(webrtcMissing());else if (Platform.OS === 'android' && !nativeModule()) errors.current?.(nativeMissing('Background calls, audio routing and native timers'));
43
51
  }, [webrtc, wanted]);
44
52
 
@@ -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;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":[]}
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","said","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;EAClD;EACA;EACA,MAAMS,IAAI,GAAG7B,MAAM,CAAC,KAAK,CAAC;EAC1BF,SAAS,CAAC,MAAM;IACd,IAAI,CAAC6B,MAAM,EAAE;MACXE,IAAI,CAACH,OAAO,GAAG,KAAK;MACpB;IACF;IACA,IAAIG,IAAI,CAACH,OAAO,EAAE;IAClBG,IAAI,CAACH,OAAO,GAAG,IAAI;IACnB,IAAI,CAACF,MAAM,EAAEC,MAAM,CAACC,OAAO,GAAGnB,aAAa,CAAC,CAAC,CAAC,CAAC,KAC1C,IAAIN,QAAQ,CAAC6B,EAAE,KAAK,SAAS,IAAI,CAACzB,YAAY,CAAC,CAAC,EAAEoB,MAAM,CAACC,OAAO,GAAGpB,aAAa,CAAC,mDAAmD,CAAC,CAAC;EAC7I,CAAC,EAAE,CAACkB,MAAM,EAAEG,MAAM,CAAC,CAAC;;EAEpB;EACA,MAAMI,OAAO,GAAGhC,OAAO,CACrB,MAAOyB,MAAM,GAAGhB,wBAAwB,CAAC;IAAEO,UAAU;IAAEE;EAAc,CAAC,CAAC,GAAGe,SAAU;EACpF;EACA,CAACR,MAAM,EAAEL,KAAK,EAAEC,KAAK,CACvB,CAAC;EACD;EACA;EACA,MAAMa,WAAW,GAAGF,OAAO,EAAEG,uBAAuB,KAAK,IAAI;EAE7D,oBACErB,KAAA,CAACV,oBAAoB;IAAA,GACfoB,IAAI;IACRJ,KAAK,EAAEK,MAAM,GAAGL,KAAK,GAAGa,SAAU;IAClCZ,KAAK,EAAEI,MAAM,GAAGJ,KAAK,GAAGY,SAAU;IAClCd,MAAM,EAAEM,MAAM,GAAGN,MAAM,GAAG,IAAK;IAC/BD,aAAa,EAAEc,OAAQ;IACvBV,OAAO,EAAEA,OAAQ;IAAAC,QAAA,GAEhBE,MAAM,gBAAGb,IAAA,CAACF,aAAa;MAACK,KAAK,EAAEA,KAAM;MAACE,WAAW,EAAEA,WAAY;MAACiB,WAAW,EAAEA,WAAY;MAACZ,OAAO,EAAEI;IAAO,CAAE,CAAC,GAAG,IAAI,EACpHH,QAAQ;EAAA,CACW,CAAC;AAE3B","ignoreList":[]}
@@ -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;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"}
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;AAwPD,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.1";
5
+ export declare const SDK_VERSION = "0.1.3";
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.1`. */
75
+ /** getDiagnostics().userAgent: `ReactNative android 37; react-native-webrtc 155.0.1; @voltkit-rtc/react-native 0.1.3`. */
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,CAqCrC"}
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,CA6CrC"}
@@ -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;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"}
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;AAwPD,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.1";
5
+ export declare const SDK_VERSION = "0.1.3";
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.1`. */
75
+ /** getDiagnostics().userAgent: `ReactNative android 37; react-native-webrtc 155.0.1; @voltkit-rtc/react-native 0.1.3`. */
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,CAqCrC"}
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,CA6CrC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voltkit-rtc/react-native",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
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,8 +111,8 @@
111
111
  ]
112
112
  },
113
113
  "peerDependencies": {
114
- "@voltkit-rtc/client": ">=0.9.13 <0.10.0",
115
- "@voltkit-rtc/react": "^0.1.1",
114
+ "@voltkit-rtc/client": ">=0.9.15 <0.10.0",
115
+ "@voltkit-rtc/react": "^0.1.3",
116
116
  "expo": ">=58",
117
117
  "react": ">=19.1.0",
118
118
  "react-native": ">=0.82.0",