@daily-co/react-native-daily-js 0.46.0 → 0.48.0

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/README.md CHANGED
@@ -15,7 +15,7 @@ Install `react-native-daily-js` along with its peer dependencies:
15
15
 
16
16
  ```bash
17
17
  npm i @daily-co/react-native-daily-js @react-native-async-storage/async-storage@^1.15.7 react-native-background-timer@^2.3.1
18
- npm i --save-exact @daily-co/react-native-webrtc@111.0.0-daily.1
18
+ npm i --save-exact @daily-co/react-native-webrtc@111.0.0-daily.2
19
19
  ```
20
20
 
21
21
  Then, follow the below steps to set up your native project on each platform. **Note that these steps assume you're using a version of React Native that supports autolinking (>= 60).**
@@ -76,7 +76,7 @@ If you view the raw file contents of `Info.plist`, it should look like this:
76
76
 
77
77
  #### Screen sharing on iOS
78
78
 
79
- To use the screen sharing functionality on iOS, you'll need to do a few manual steps to set up Daily's [React Native Screen Share Extension framework](https://github.com/daily-co/rn-screen-share-extension/) (already included in `react-native-daily-js`).
79
+ To use the screen sharing functionality on iOS, you'll need to do a few manual steps to set up Daily's [React Native Screen Share Extension framework](https://github.com/daily-co/rn-screen-share-extension/) (already included in `react-native-daily-js`).
80
80
  Please refer to its README for a detailed walkthrough.
81
81
 
82
82
  ### Android
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@daily-co/react-native-daily-js",
3
- "version": "0.46.0",
3
+ "version": "0.48.0",
4
4
  "description": "React Native library for making video calls using Daily",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -26,17 +26,17 @@
26
26
  "baseUrl": "https://github.com/daily-co/react-native-daily-js"
27
27
  },
28
28
  "dependencies": {
29
- "@daily-co/daily-js": "^0.48.0",
29
+ "@daily-co/daily-js": "^0.50.0",
30
30
  "@types/react-native-background-timer": "^2.0.0",
31
31
  "react-native-url-polyfill": "^1.1.2"
32
32
  },
33
33
  "peerDependencies": {
34
- "@daily-co/react-native-webrtc": "^111.0.0-daily.1",
34
+ "@daily-co/react-native-webrtc": "^111.0.0-daily.2",
35
35
  "@react-native-async-storage/async-storage": "^1.15.7",
36
36
  "react-native-background-timer": "^2.3.1"
37
37
  },
38
38
  "devDependencies": {
39
- "@daily-co/react-native-webrtc": "^111.0.0-daily.1",
39
+ "@daily-co/react-native-webrtc": "^111.0.0-daily.2",
40
40
  "@react-native-async-storage/async-storage": "^1.15.7",
41
41
  "react-native-background-timer": "^2.3.1",
42
42
  "typescript": "^4.8.4"
@@ -239,23 +239,35 @@ export interface DailyTrackState {
239
239
  persistentTrack?: MediaStreamTrack;
240
240
  }
241
241
 
242
+ export type DailyParticipantPermissionsCanSendValues =
243
+ | 'video'
244
+ | 'audio'
245
+ | 'screenVideo'
246
+ | 'screenAudio'
247
+ | 'customVideo'
248
+ | 'customAudio';
249
+
250
+ export type DailyParticipantPermissionsCanAdminValues =
251
+ | 'participants'
252
+ | 'streaming'
253
+ | 'transcription';
254
+
242
255
  export interface DailyParticipantPermissions {
243
256
  hasPresence: boolean;
244
- canSend:
245
- | Set<
246
- | 'video'
247
- | 'audio'
248
- | 'screenVideo'
249
- | 'screenAudio'
250
- | 'customVideo'
251
- | 'customAudio'
252
- >
253
- | boolean;
254
- canAdmin: Set<'participants' | 'streaming' | 'transcription'> | boolean;
257
+ canSend: Set<DailyParticipantPermissionsCanSendValues> | boolean;
258
+ canAdmin: Set<DailyParticipantPermissionsCanAdminValues> | boolean;
255
259
  }
256
260
 
257
261
  export type DailyParticipantPermissionsUpdate = {
258
- [Property in keyof DailyParticipantPermissions]+?: DailyParticipantPermissions[Property];
262
+ hasPresence?: boolean;
263
+ canSend?:
264
+ | Array<DailyParticipantPermissionsCanSendValues>
265
+ | Set<DailyParticipantPermissionsCanSendValues>
266
+ | boolean;
267
+ canAdmin?:
268
+ | Array<DailyParticipantPermissionsCanAdminValues>
269
+ | Set<DailyParticipantPermissionsCanAdminValues>
270
+ | boolean;
259
271
  };
260
272
 
261
273
  export interface DailyParticipant {
@@ -310,7 +322,13 @@ export interface DailyParticipant {
310
322
  record: boolean;
311
323
 
312
324
  // video element info (iframe-based calls using standard UI only)
325
+ /**
326
+ * @deprecated This property will be removed. Refer to tracks.video instead.
327
+ */
313
328
  cam_info: {} | DailyVideoElementInfo;
329
+ /**
330
+ * @deprecated This property will be removed. Refer to tracks.screenVideo instead.
331
+ */
314
332
  screen_info: {} | DailyVideoElementInfo;
315
333
  }
316
334
 
@@ -353,6 +371,12 @@ export interface DailyWaitingParticipantUpdateOptions {
353
371
  grantRequestedAccess?: boolean;
354
372
  }
355
373
 
374
+ /**
375
+ * @deprecated
376
+ * All properties will be removed as cam_info and screen_info are also deprecated.
377
+ * Use the participants() object's tracks property to retrieve track information instead.
378
+ * e.g. call.participants()['participant-id'].tracks.video.persistentTrack.getSettings()
379
+ */
356
380
  export interface DailyVideoElementInfo {
357
381
  width: number;
358
382
  height: number;
@@ -379,18 +403,24 @@ export interface DailyNetworkStats {
379
403
  quality: number;
380
404
  stats: {
381
405
  latest: {
382
- recvBitsPerSecond: number;
383
- sendBitsPerSecond: number;
384
406
  timestamp: number;
385
- videoRecvBitsPerSecond: number;
386
- videoRecvPacketLoss: number;
387
- videoSendBitsPerSecond: number;
388
- videoSendPacketLoss: number;
389
- totalSendPacketLoss: number;
390
- totalRecvPacketLoss: number;
407
+ recvBitsPerSecond: number | null;
408
+ sendBitsPerSecond: number | null;
409
+ videoRecvBitsPerSecond: number | null;
410
+ videoRecvPacketLoss: number | null;
411
+ videoSendBitsPerSecond: number | null;
412
+ videoSendPacketLoss: number | null;
413
+ audioRecvBitsPerSecond: number | null;
414
+ audioRecvPacketLoss: number | null;
415
+ audioSendBitsPerSecond: number | null;
416
+ audioSendPacketLoss: number | null;
417
+ totalSendPacketLoss: number | null;
418
+ totalRecvPacketLoss: number | null;
391
419
  };
392
420
  worstVideoRecvPacketLoss: number;
393
421
  worstVideoSendPacketLoss: number;
422
+ worstAudioRecvPacketLoss: number;
423
+ worstAudioSendPacketLoss: number;
394
424
  };
395
425
  threshold: 'good' | 'low' | 'very-low';
396
426
  }
@@ -515,7 +545,7 @@ export interface DailyRoomInfo {
515
545
  };
516
546
  tokenConfig: {
517
547
  eject_at_token_exp?: boolean;
518
- eject_after_elapsed?: boolean;
548
+ eject_after_elapsed?: number;
519
549
  nbf?: number;
520
550
  exp?: number;
521
551
  is_owner?: boolean;
@@ -1205,7 +1235,7 @@ export interface DailyCall {
1205
1235
  subscribeToTracksAutomatically(): boolean;
1206
1236
  setSubscribeToTracksAutomatically(enabled: boolean): DailyCall;
1207
1237
  enumerateDevices(): Promise<{ devices: MediaDeviceInfo[] }>;
1208
- sendAppMessage(data: any, to?: string): DailyCall;
1238
+ sendAppMessage(data: any, to?: string | string[]): DailyCall;
1209
1239
  setProxyUrl(proxyUrl?: string): DailyCall;
1210
1240
  setIceConfig(iceConfig?: DailyIceConfig): DailyCall;
1211
1241
  meetingSessionState(): DailyMeetingSessionState;