@daily-co/react-native-daily-js 0.51.0 → 0.53.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.
Files changed (30) hide show
  1. package/README.md +1 -1
  2. package/dist/index.d.ts +3 -2
  3. package/dist/index.js +31 -0
  4. package/package.json +7 -5
  5. package/type-overrides/@daily-co/daily-js/index.d.ts +35 -10
  6. package/android/build/.transforms/5833eb79841e591f16c0df298146814c/results.bin +0 -1
  7. package/android/build/.transforms/9d2b38b2f625e9d9929895b2fa82c7d4/results.bin +0 -1
  8. package/android/build/.transforms/9d2b38b2f625e9d9929895b2fa82c7d4/transformed/debug/com/daily/reactlibrary/BuildConfig.dex +0 -0
  9. package/android/build/.transforms/9d2b38b2f625e9d9929895b2fa82c7d4/transformed/debug/com/daily/reactlibrary/DailyNativeUtils$1.dex +0 -0
  10. package/android/build/.transforms/9d2b38b2f625e9d9929895b2fa82c7d4/transformed/debug/com/daily/reactlibrary/DailyNativeUtils.dex +0 -0
  11. package/android/build/.transforms/9d2b38b2f625e9d9929895b2fa82c7d4/transformed/debug/com/daily/reactlibrary/DailyNativeUtilsPackage.dex +0 -0
  12. package/android/build/.transforms/9d2b38b2f625e9d9929895b2fa82c7d4/transformed/debug/com/daily/reactlibrary/DailyOngoingMeetingForegroundService.dex +0 -0
  13. package/android/build/.transforms/9d2b38b2f625e9d9929895b2fa82c7d4/transformed/desugar_graph.bin +0 -0
  14. package/android/build/generated/source/buildConfig/debug/com/daily/reactlibrary/BuildConfig.java +0 -10
  15. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +0 -9
  16. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output-metadata.json +0 -18
  17. package/android/build/intermediates/aar_metadata/debug/aar-metadata.properties +0 -4
  18. package/android/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +0 -1
  19. package/android/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
  20. package/android/build/intermediates/compile_r_class_jar/debug/R.jar +0 -0
  21. package/android/build/intermediates/compile_symbol_list/debug/R.txt +0 -1954
  22. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +0 -2
  23. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +0 -2
  24. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +0 -2
  25. package/android/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +0 -11
  26. package/android/build/intermediates/merged_manifest/debug/AndroidManifest.xml +0 -9
  27. package/android/build/intermediates/navigation_json/debug/navigation.json +0 -1
  28. package/android/build/intermediates/packaged_manifests/debug/output-metadata.json +0 -18
  29. package/android/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt +0 -1447
  30. package/android/build/outputs/logs/manifest-merger-debug-report.txt +0 -25
package/README.md CHANGED
@@ -14,7 +14,7 @@ This package introduces some constraints on what OS/SDK versions your project ca
14
14
  Install `react-native-daily-js` along with its peer dependencies:
15
15
 
16
16
  ```bash
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
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 react-native-get-random-values@^1.9.0
18
18
  npm i --save-exact @daily-co/react-native-webrtc@111.0.0-daily.2
19
19
  ```
20
20
 
package/dist/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
- import DailyIframe from '../type-overrides/@daily-co/daily-js';
1
+ import Daily from '../type-overrides/@daily-co/daily-js';
2
2
  import DailyMediaView from './DailyMediaView';
3
3
  import 'react-native-url-polyfill/auto';
4
- export default DailyIframe;
4
+ import 'react-native-get-random-values';
5
+ export default Daily;
5
6
  export * from '../type-overrides/@daily-co/daily-js';
6
7
  export { DailyMediaView };
7
8
  export * from '@daily-co/react-native-webrtc';
package/dist/index.js CHANGED
@@ -38,6 +38,9 @@ require("react-native-url-polyfill/auto"); // Applies global URL polyfill
38
38
  var react_native_background_timer_1 = __importDefault(require("react-native-background-timer"));
39
39
  var base_64_1 = require("base-64");
40
40
  var react_native_1 = require("react-native");
41
+ // Preventing RN issue getrandomvalues not supported
42
+ // https://github.com/uuidjs/uuid#getrandomvalues-not-supported
43
+ require("react-native-get-random-values");
41
44
  var DailyNativeUtils = react_native_1.NativeModules.DailyNativeUtils, WebRTCModule = react_native_1.NativeModules.WebRTCModule;
42
45
  var webRTCEventEmitter = new react_native_1.NativeEventEmitter(WebRTCModule);
43
46
  var dailyNativeUtilsEventEmitter = new react_native_1.NativeEventEmitter(DailyNativeUtils);
@@ -134,8 +137,36 @@ function setupGlobals() {
134
137
  systemScreenCaptureStartCallback = listener;
135
138
  }, platform: react_native_1.Platform });
136
139
  }
140
+ function maybeCreatePromiseAnyPolyfill() {
141
+ // Support to Promise.any has only been introduced on RN 0.70.6
142
+ // https://github.com/facebook/react-native/releases/tag/v0.70.6
143
+ // As spec: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/any
144
+ // The Promise.any() static method takes an iterable of promises as input and returns a single Promise.
145
+ // This returned promise fulfills when any of the input's promises fulfills, with this first fulfillment value.
146
+ // It rejects when all of the input's promises reject (including when an empty iterable is passed)
147
+ if (!Promise.any) {
148
+ Promise.any = function (promises) {
149
+ return new Promise(function (resolve, reject) {
150
+ var errors = [];
151
+ promises.forEach(function (promise) {
152
+ return Promise.resolve(promise)
153
+ .then(function (value) {
154
+ resolve(value);
155
+ })
156
+ .catch(function (error) {
157
+ errors.push(error);
158
+ if (errors.length === promises.length) {
159
+ reject(errors);
160
+ }
161
+ });
162
+ });
163
+ });
164
+ };
165
+ }
166
+ }
137
167
  setupEventListeners();
138
168
  setupGlobals();
169
+ maybeCreatePromiseAnyPolyfill();
139
170
  exports.default = daily_js_1.default;
140
171
  __exportStar(require("@daily-co/daily-js"), exports);
141
172
  __exportStar(require("@daily-co/react-native-webrtc"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@daily-co/react-native-daily-js",
3
- "version": "0.51.0",
3
+ "version": "0.53.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,21 +26,23 @@
26
26
  "baseUrl": "https://github.com/daily-co/react-native-daily-js"
27
27
  },
28
28
  "dependencies": {
29
- "@daily-co/daily-js": "^0.53.0",
29
+ "@daily-co/daily-js": "^0.55.0",
30
30
  "@types/react-native-background-timer": "^2.0.0",
31
31
  "base-64": "^1.0.0",
32
32
  "react-native-url-polyfill": "^1.1.2"
33
33
  },
34
+ "///": "WHEN ONE OF THESE CHANGE, PLEASE UPDATE README.md INSTALL SNIPPET ACCORDINGLY",
34
35
  "peerDependencies": {
35
36
  "@daily-co/react-native-webrtc": "^111.0.0-daily.2",
36
37
  "@react-native-async-storage/async-storage": "^1.15.7",
37
- "react-native-background-timer": "^2.3.1"
38
+ "react-native-background-timer": "^2.3.1",
39
+ "react-native-get-random-values": "^1.9.0"
38
40
  },
39
41
  "devDependencies": {
40
42
  "@daily-co/react-native-webrtc": "^111.0.0-daily.2",
41
43
  "@react-native-async-storage/async-storage": "^1.15.7",
44
+ "@types/base-64": "^1.0.0",
42
45
  "react-native-background-timer": "^2.3.1",
43
- "typescript": "^4.8.4",
44
- "@types/base-64": "^1.0.0"
46
+ "typescript": "^4.8.4"
45
47
  }
46
48
  }
@@ -78,6 +78,7 @@ export type DailyEvent =
78
78
  | 'remote-media-player-stopped'
79
79
  | 'remote-media-player-updated'
80
80
  | 'access-state-updated'
81
+ | 'meeting-session-summary-updated'
81
82
  | 'meeting-session-state-updated'
82
83
  | 'waiting-participant-added'
83
84
  | 'waiting-participant-updated'
@@ -111,6 +112,7 @@ export type DailyFatalErrorType =
111
112
  | 'nbf-token'
112
113
  | 'exp-room'
113
114
  | 'exp-token'
115
+ | 'no-room'
114
116
  | 'meeting-full'
115
117
  | 'end-of-life'
116
118
  | 'not-allowed'
@@ -273,6 +275,13 @@ export type DailyParticipantPermissionsUpdate = {
273
275
  | boolean;
274
276
  };
275
277
 
278
+ export interface DailyParticipantTracks {
279
+ audio: DailyTrackState;
280
+ video: DailyTrackState;
281
+ screenAudio: DailyTrackState;
282
+ screenVideo: DailyTrackState;
283
+ }
284
+
276
285
  export interface DailyParticipant {
277
286
  /**
278
287
  * @deprecated This property will be removed. Use tracks.audio.persistentTrack instead.
@@ -305,11 +314,7 @@ export interface DailyParticipant {
305
314
  screen: boolean;
306
315
 
307
316
  // track state
308
- tracks: {
309
- audio: DailyTrackState;
310
- video: DailyTrackState;
311
- screenAudio: DailyTrackState;
312
- screenVideo: DailyTrackState;
317
+ tracks: DailyParticipantTracks & {
313
318
  [customTrackKey: string]: DailyTrackState;
314
319
  };
315
320
 
@@ -411,6 +416,7 @@ export interface DailyNetworkStats {
411
416
  timestamp: number;
412
417
  recvBitsPerSecond: number | null;
413
418
  sendBitsPerSecond: number | null;
419
+ networkRoundTripTime: number | null;
414
420
  videoRecvBitsPerSecond: number | null;
415
421
  videoSendBitsPerSecond: number | null;
416
422
  audioRecvBitsPerSecond: number | null;
@@ -434,6 +440,7 @@ export interface DailyNetworkStats {
434
440
  worstVideoSendJitter: number;
435
441
  worstAudioRecvJitter: number;
436
442
  worstAudioSendJitter: number;
443
+ averageNetworkRoundTripTime: number | null;
437
444
  };
438
445
  threshold: 'good' | 'low' | 'very-low';
439
446
  }
@@ -576,6 +583,10 @@ export interface DailyRoomInfo {
576
583
  dialInPIN?: string;
577
584
  }
578
585
 
586
+ export interface DailyMeetingSessionSummary {
587
+ id: string;
588
+ }
589
+
579
590
  export interface DailyMeetingSessionState {
580
591
  data: unknown;
581
592
  }
@@ -689,9 +700,12 @@ export type DailyFatalError = {
689
700
  export interface DailyFatalConnectionError extends DailyFatalError {
690
701
  type: Extract<DailyFatalErrorType, 'connection-error'>;
691
702
  details: {
692
- on: 'join' | 'reconnect';
703
+ on: 'load' | 'join' | 'reconnect' | 'move';
693
704
  sourceError: Error;
694
705
  uri?: string;
706
+ workerGroup?: string;
707
+ geoGroup?: string;
708
+ bundleUrl?: string;
695
709
  };
696
710
  }
697
711
 
@@ -763,6 +777,11 @@ export interface DailyEventObjectAccessState extends DailyAccessState {
763
777
  action: Extract<DailyEvent, 'access-state-updated'>;
764
778
  }
765
779
 
780
+ export interface DailyEventObjectMeetingSessionSummaryUpdated {
781
+ action: Extract<DailyEvent, 'meeting-session-summary-updated'>;
782
+ meetingSession: DailyMeetingSessionSummary;
783
+ }
784
+
766
785
  export interface DailyEventObjectMeetingSessionStateUpdated {
767
786
  action: Extract<DailyEvent, 'meeting-session-state-updated'>;
768
787
  meetingSessionState: DailyMeetingSessionState;
@@ -873,8 +892,13 @@ export interface DailyEventObjectLiveStreamingStopped {
873
892
 
874
893
  export interface DailyEventObjectTranscriptionStarted {
875
894
  action: Extract<DailyEvent, 'transcription-started'>;
895
+ transcriptId?: string;
876
896
  language: string;
877
897
  model: string;
898
+ tier?: string;
899
+ detect_language?: boolean;
900
+ profanity_filter?: boolean;
901
+ redact?: Array<string> | Array<boolean> | boolean;
878
902
  startedBy: string;
879
903
  }
880
904
 
@@ -967,7 +991,7 @@ export type DailyNativeInCallAudioMode = 'video' | 'voice';
967
991
 
968
992
  export interface DailyCallFactory {
969
993
  createCallObject(properties?: DailyFactoryOptions): DailyCall;
970
- getCallInstance(): DailyCall;
994
+ getCallInstance(): DailyCall | undefined;
971
995
  }
972
996
 
973
997
  export interface DailyCallStaticUtils {
@@ -1150,7 +1174,7 @@ export interface DailyTranscriptionDeepgramOptions {
1150
1174
  model?: string;
1151
1175
  tier?: string;
1152
1176
  profanity_filter?: boolean;
1153
- redact?: Array<string> | boolean;
1177
+ redact?: Array<string> | Array<boolean> | boolean;
1154
1178
  }
1155
1179
 
1156
1180
  export interface DailyCall {
@@ -1251,6 +1275,7 @@ export interface DailyCall {
1251
1275
  sendAppMessage(data: any, to?: string | string[]): DailyCall;
1252
1276
  setProxyUrl(proxyUrl?: string): DailyCall;
1253
1277
  setIceConfig(iceConfig?: DailyIceConfig): DailyCall;
1278
+ meetingSessionSummary(): DailyMeetingSessionSummary;
1254
1279
  meetingSessionState(): DailyMeetingSessionState;
1255
1280
  setMeetingSessionData(
1256
1281
  data: unknown,
@@ -1279,6 +1304,6 @@ export interface DailyCall {
1279
1304
  };
1280
1305
  }
1281
1306
 
1282
- declare const DailyIframe: DailyCallFactory & DailyCallStaticUtils;
1307
+ declare const Daily: DailyCallFactory & DailyCallStaticUtils;
1283
1308
 
1284
- export default DailyIframe;
1309
+ export default Daily;
@@ -1,10 +0,0 @@
1
- /**
2
- * Automatically generated file. DO NOT MODIFY
3
- */
4
- package com.daily.reactlibrary;
5
-
6
- public final class BuildConfig {
7
- public static final boolean DEBUG = Boolean.parseBoolean("true");
8
- public static final String LIBRARY_PACKAGE_NAME = "com.daily.reactlibrary";
9
- public static final String BUILD_TYPE = "debug";
10
- }
@@ -1,9 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
3
- package="com.daily.reactlibrary" >
4
-
5
- <uses-sdk
6
- android:minSdkVersion="24"
7
- android:targetSdkVersion="31" />
8
-
9
- </manifest>
@@ -1,18 +0,0 @@
1
- {
2
- "version": 3,
3
- "artifactType": {
4
- "type": "AAPT_FRIENDLY_MERGED_MANIFESTS",
5
- "kind": "Directory"
6
- },
7
- "applicationId": "com.daily.reactlibrary",
8
- "variantName": "debug",
9
- "elements": [
10
- {
11
- "type": "SINGLE",
12
- "filters": [],
13
- "attributes": [],
14
- "outputFile": "AndroidManifest.xml"
15
- }
16
- ],
17
- "elementType": "File"
18
- }
@@ -1,4 +0,0 @@
1
- aarFormatVersion=1.0
2
- aarMetadataVersion=1.0
3
- minCompileSdk=1
4
- minAndroidGradlePluginVersion=1.0.0