@daily-co/react-native-daily-js 0.64.0 → 0.66.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@daily-co/react-native-daily-js",
3
- "version": "0.64.0",
3
+ "version": "0.66.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",
@@ -28,7 +28,7 @@
28
28
  "baseUrl": "https://github.com/daily-co/react-native-daily-js"
29
29
  },
30
30
  "dependencies": {
31
- "@daily-co/daily-js": "^0.66.0",
31
+ "@daily-co/daily-js": "^0.68.0",
32
32
  "@types/react-native-background-timer": "^2.0.0",
33
33
  "base-64": "^1.0.0",
34
34
  "react-native-url-polyfill": "^1.1.2"
@@ -10,7 +10,6 @@ import {
10
10
  MediaStreamTrack,
11
11
  MediaDeviceInfo,
12
12
  MediaTrackConstraints,
13
- MediaStream,
14
13
  } from '@daily-co/react-native-webrtc';
15
14
 
16
15
  import RTCRtpEncodingParameters from '@daily-co/react-native-webrtc/lib/typescript/RTCRtpEncodingParameters';
@@ -292,6 +291,7 @@ export interface DailyParticipantTracks {
292
291
  video: DailyTrackState;
293
292
  screenAudio: DailyTrackState;
294
293
  screenVideo: DailyTrackState;
294
+ [customTrackKey: string]: DailyTrackState | undefined;
295
295
  }
296
296
 
297
297
  export interface DailyParticipant {
@@ -326,9 +326,7 @@ export interface DailyParticipant {
326
326
  screen: boolean;
327
327
 
328
328
  // track state
329
- tracks: DailyParticipantTracks & {
330
- [customTrackKey: string]: DailyTrackState;
331
- };
329
+ tracks: DailyParticipantTracks;
332
330
 
333
331
  // user/session info
334
332
  user_id: string;
@@ -646,7 +644,12 @@ export interface DailyReceiveSettingsUpdates {
646
644
  | 'inherit';
647
645
  }
648
646
 
649
- export interface DailyEventObjectNoPayload {
647
+ export type DailyEventObjectBase = {
648
+ action: DailyEvent;
649
+ callClientId: string;
650
+ };
651
+
652
+ export interface DailyEventObjectNoPayload extends DailyEventObjectBase {
650
653
  action: Extract<
651
654
  DailyEvent,
652
655
  | 'loading'
@@ -708,7 +711,7 @@ export type DailyCameraErrorObject<T extends DailyCameraErrorType> =
708
711
  ? DailyCamUnknownError
709
712
  : any;
710
713
 
711
- export interface DailyEventObjectCameraError {
714
+ export interface DailyEventObjectCameraError extends DailyEventObjectBase {
712
715
  action: Extract<DailyEvent, 'camera-error'>;
713
716
  errorMsg: {
714
717
  errorMsg: string;
@@ -744,37 +747,38 @@ export interface DailyFatalConnectionError extends DailyFatalError {
744
747
  export type DailyFatalErrorObject<T extends DailyFatalErrorType> =
745
748
  T extends DailyFatalConnectionError['type'] ? DailyFatalConnectionError : any;
746
749
 
747
- export interface DailyEventObjectFatalError {
750
+ export interface DailyEventObjectFatalError extends DailyEventObjectBase {
748
751
  action: Extract<DailyEvent, 'error'>;
749
752
  errorMsg: string;
750
753
  error?: DailyFatalErrorObject<DailyFatalErrorType>;
751
754
  }
752
755
 
753
- export interface DailyEventObjectNonFatalError {
756
+ export interface DailyEventObjectNonFatalError extends DailyEventObjectBase {
754
757
  action: Extract<DailyEvent, 'nonfatal-error'>;
755
758
  type: DailyNonFatalErrorType;
756
759
  errorMsg: string;
757
760
  details?: any;
758
761
  }
759
762
 
760
- export interface DailyEventObjectGenericError {
763
+ export interface DailyEventObjectGenericError extends DailyEventObjectBase {
761
764
  action: Extract<DailyEvent, 'load-attempt-failed'>;
762
765
  errorMsg: string;
763
766
  }
764
767
 
765
- export interface DailyEventObjectLiveStreamingError {
768
+ export interface DailyEventObjectLiveStreamingError
769
+ extends DailyEventObjectBase {
766
770
  action: Extract<DailyEvent, 'live-streaming-error'>;
767
771
  errorMsg: string;
768
772
  instanceId?: string;
769
773
  actionTraceId?: string;
770
774
  }
771
775
 
772
- export interface DailyEventObjectParticipants {
776
+ export interface DailyEventObjectParticipants extends DailyEventObjectBase {
773
777
  action: Extract<DailyEvent, 'joined-meeting'>;
774
778
  participants: DailyParticipantsObject;
775
779
  }
776
780
 
777
- export interface DailyEventObjectParticipant {
781
+ export interface DailyEventObjectParticipant extends DailyEventObjectBase {
778
782
  action: Extract<DailyEvent, 'participant-joined' | 'participant-updated'>;
779
783
  participant: DailyParticipant;
780
784
  }
@@ -782,7 +786,7 @@ export interface DailyEventObjectParticipant {
782
786
  // only 1 reason reported for now. more to come.
783
787
  export type DailyParticipantLeftReason = 'hidden';
784
788
 
785
- export interface DailyEventObjectParticipantLeft {
789
+ export interface DailyEventObjectParticipantLeft extends DailyEventObjectBase {
786
790
  action: Extract<DailyEvent, 'participant-left'>;
787
791
  participant: DailyParticipant;
788
792
  // reason undefined if participant left for any reason other than those listed
@@ -790,12 +794,14 @@ export interface DailyEventObjectParticipantLeft {
790
794
  reason?: DailyParticipantLeftReason;
791
795
  }
792
796
 
793
- export interface DailyEventObjectParticipantCounts {
797
+ export interface DailyEventObjectParticipantCounts
798
+ extends DailyEventObjectBase {
794
799
  action: Extract<DailyEvent, 'participant-counts-updated'>;
795
800
  participantCounts: DailyParticipantCounts;
796
801
  }
797
802
 
798
- export interface DailyEventObjectWaitingParticipant {
803
+ export interface DailyEventObjectWaitingParticipant
804
+ extends DailyEventObjectBase {
799
805
  action: Extract<
800
806
  DailyEvent,
801
807
  | 'waiting-participant-added'
@@ -805,21 +811,25 @@ export interface DailyEventObjectWaitingParticipant {
805
811
  participant: DailyWaitingParticipant;
806
812
  }
807
813
 
808
- export interface DailyEventObjectAccessState extends DailyAccessState {
814
+ export interface DailyEventObjectAccessState
815
+ extends DailyAccessState,
816
+ DailyEventObjectBase {
809
817
  action: Extract<DailyEvent, 'access-state-updated'>;
810
818
  }
811
819
 
812
- export interface DailyEventObjectMeetingSessionSummaryUpdated {
820
+ export interface DailyEventObjectMeetingSessionSummaryUpdated
821
+ extends DailyEventObjectBase {
813
822
  action: Extract<DailyEvent, 'meeting-session-summary-updated'>;
814
823
  meetingSession: DailyMeetingSessionSummary;
815
824
  }
816
825
 
817
- export interface DailyEventObjectMeetingSessionStateUpdated {
826
+ export interface DailyEventObjectMeetingSessionStateUpdated
827
+ extends DailyEventObjectBase {
818
828
  action: Extract<DailyEvent, 'meeting-session-state-updated'>;
819
829
  meetingSessionState: DailyMeetingSessionState;
820
830
  }
821
831
 
822
- export interface DailyEventObjectTrack {
832
+ export interface DailyEventObjectTrack extends DailyEventObjectBase {
823
833
  action: Extract<DailyEvent, 'track-started' | 'track-stopped'>;
824
834
  participant: DailyParticipant | null; // null if participant left meeting
825
835
  track: MediaStreamTrack;
@@ -833,7 +843,7 @@ export interface DailyEventObjectTrack {
833
843
  | string; // string - for custom tracks
834
844
  }
835
845
 
836
- export interface DailyEventObjectRecordingStarted {
846
+ export interface DailyEventObjectRecordingStarted extends DailyEventObjectBase {
837
847
  action: Extract<DailyEvent, 'recording-started'>;
838
848
  local?: boolean;
839
849
  recordingId?: string;
@@ -843,25 +853,26 @@ export interface DailyEventObjectRecordingStarted {
843
853
  instanceId?: string;
844
854
  }
845
855
 
846
- export interface DailyEventObjectRecordingStopped {
856
+ export interface DailyEventObjectRecordingStopped extends DailyEventObjectBase {
847
857
  action: Extract<DailyEvent, 'recording-stopped'>;
848
858
  instanceId?: string;
849
859
  }
850
860
 
851
- export interface DailyEventObjectRecordingError {
861
+ export interface DailyEventObjectRecordingError extends DailyEventObjectBase {
852
862
  action: Extract<DailyEvent, 'recording-error'>;
853
863
  errorMsg: string;
854
864
  instanceId?: string;
855
865
  actionTraceId?: string;
856
866
  }
857
867
 
858
- export interface DailyEventObjectNetworkQualityEvent {
868
+ export interface DailyEventObjectNetworkQualityEvent
869
+ extends DailyEventObjectBase {
859
870
  action: Extract<DailyEvent, 'network-quality-change'>;
860
871
  threshold: string;
861
872
  quality: number;
862
873
  }
863
874
 
864
- export interface DailyEventObjectCpuLoadEvent {
875
+ export interface DailyEventObjectCpuLoadEvent extends DailyEventObjectBase {
865
876
  action: Extract<DailyEvent, 'cpu-load-change'>;
866
877
  cpuLoadState: 'low' | 'high';
867
878
  cpuLoadStateReason: 'encode' | 'decode' | 'scheduleDuration' | 'none'; // We are currently not using the Inter frame Delay to change the cpu load state
@@ -869,7 +880,8 @@ export interface DailyEventObjectCpuLoadEvent {
869
880
 
870
881
  export type DailyNetworkConnectionType = 'signaling' | 'peer-to-peer' | 'sfu';
871
882
 
872
- export interface DailyEventObjectNetworkConnectionEvent {
883
+ export interface DailyEventObjectNetworkConnectionEvent
884
+ extends DailyEventObjectBase {
873
885
  action: Extract<DailyEvent, 'network-connection'>;
874
886
  type: DailyNetworkConnectionType;
875
887
  event: string;
@@ -877,20 +889,22 @@ export interface DailyEventObjectNetworkConnectionEvent {
877
889
  sfu_id?: string;
878
890
  }
879
891
 
880
- export interface DailyEventObjectActiveSpeakerChange {
892
+ export interface DailyEventObjectActiveSpeakerChange
893
+ extends DailyEventObjectBase {
881
894
  action: Extract<DailyEvent, 'active-speaker-change'>;
882
895
  activeSpeaker: {
883
896
  peerId: string;
884
897
  };
885
898
  }
886
899
 
887
- export interface DailyEventObjectAppMessage {
900
+ export interface DailyEventObjectAppMessage extends DailyEventObjectBase {
888
901
  action: Extract<DailyEvent, 'app-message'>;
889
902
  data: any;
890
903
  fromId: string;
891
904
  }
892
905
 
893
- export interface DailyEventObjectTranscriptionMessage {
906
+ export interface DailyEventObjectTranscriptionMessage
907
+ extends DailyEventObjectBase {
894
908
  action: Extract<DailyEvent, 'transcription-message'>;
895
909
  participantId: string;
896
910
  text: string;
@@ -898,49 +912,57 @@ export interface DailyEventObjectTranscriptionMessage {
898
912
  rawResponse: Record<string, any>;
899
913
  }
900
914
 
901
- export interface DailyEventObjectReceiveSettingsUpdated {
915
+ export interface DailyEventObjectReceiveSettingsUpdated
916
+ extends DailyEventObjectBase {
902
917
  action: Extract<DailyEvent, 'receive-settings-updated'>;
903
918
  receiveSettings: DailyReceiveSettings;
904
919
  }
905
920
 
906
- export interface DailyEventObjectAvailableDevicesUpdated {
921
+ export interface DailyEventObjectAvailableDevicesUpdated
922
+ extends DailyEventObjectBase {
907
923
  action: Extract<DailyEvent, 'available-devices-updated'>;
908
924
  availableDevices: MediaDeviceInfo[];
909
925
  }
910
926
 
911
- export interface DailyEventObjectSendSettingsUpdated {
927
+ export interface DailyEventObjectSendSettingsUpdated
928
+ extends DailyEventObjectBase {
912
929
  action: Extract<DailyEvent, 'send-settings-updated'>;
913
930
  sendSettings: DailySendSettings;
914
931
  }
915
932
 
916
- export interface DailyEventObjectLocalAudioLevel {
933
+ export interface DailyEventObjectLocalAudioLevel extends DailyEventObjectBase {
917
934
  action: Extract<DailyEvent, 'local-audio-level'>;
918
935
  audioLevel: number;
919
936
  }
920
937
 
921
- export interface DailyEventObjectRemoteParticipantsAudioLevel {
938
+ export interface DailyEventObjectRemoteParticipantsAudioLevel
939
+ extends DailyEventObjectBase {
922
940
  action: Extract<DailyEvent, 'remote-participants-audio-level'>;
923
941
  participantsAudioLevel: DailyParticipantsAudioLevel;
924
942
  }
925
943
 
926
- export interface DailyEventObjectLiveStreamingStarted {
944
+ export interface DailyEventObjectLiveStreamingStarted
945
+ extends DailyEventObjectBase {
927
946
  action: Extract<DailyEvent, 'live-streaming-started'>;
928
947
  layout?: DailyLiveStreamingLayoutConfig<'start'>;
929
948
  instanceId?: string;
930
949
  }
931
- export interface DailyEventObjectLiveStreamingUpdated {
950
+ export interface DailyEventObjectLiveStreamingUpdated
951
+ extends DailyEventObjectBase {
932
952
  action: Extract<DailyEvent, 'live-streaming-updated'>;
933
953
  endpoint?: DailyStreamingEndpoint;
934
954
  state: DailyStreamingState;
935
955
  instanceId?: string;
936
956
  }
937
957
 
938
- export interface DailyEventObjectLiveStreamingStopped {
958
+ export interface DailyEventObjectLiveStreamingStopped
959
+ extends DailyEventObjectBase {
939
960
  action: Extract<DailyEvent, 'live-streaming-stopped'>;
940
961
  instanceId?: string;
941
962
  }
942
963
 
943
- export interface DailyEventObjectTranscriptionStarted {
964
+ export interface DailyEventObjectTranscriptionStarted
965
+ extends DailyEventObjectBase {
944
966
  action: Extract<DailyEvent, 'transcription-started'>;
945
967
  transcriptId?: string;
946
968
  language: string;
@@ -955,12 +977,19 @@ export interface DailyEventObjectTranscriptionStarted {
955
977
  startedBy: string;
956
978
  }
957
979
 
958
- export interface DailyEventObjectTranscriptionStopped {
980
+ export interface DailyEventObjectTranscriptionStopped
981
+ extends DailyEventObjectBase {
959
982
  action: Extract<DailyEvent, 'transcription-stopped'>;
960
983
  updatedBy: string;
961
984
  }
962
985
 
963
- export interface DailyEventObjectRemoteMediaPlayerUpdate {
986
+ export interface DailyEventObjectTranscriptionError
987
+ extends DailyEventObjectBase {
988
+ action: Extract<DailyEvent, 'transcription-error'>;
989
+ errorMsg?: string;
990
+ }
991
+ export interface DailyEventObjectRemoteMediaPlayerUpdate
992
+ extends DailyEventObjectBase {
964
993
  action: Extract<
965
994
  DailyEvent,
966
995
  'remote-media-player-started' | 'remote-media-player-updated'
@@ -970,54 +999,55 @@ export interface DailyEventObjectRemoteMediaPlayerUpdate {
970
999
  remoteMediaPlayerState: DailyRemoteMediaPlayerState;
971
1000
  }
972
1001
 
973
- export interface DailyEventObjectRemoteMediaPlayerStopped {
1002
+ export interface DailyEventObjectRemoteMediaPlayerStopped
1003
+ extends DailyEventObjectBase {
974
1004
  action: Extract<DailyEvent, 'remote-media-player-stopped'>;
975
1005
  session_id: string;
976
1006
  updatedBy: string;
977
1007
  reason: DailyRemoteMediaPlayerStopReason;
978
1008
  }
979
- export interface DailyEventObjectDialinConnected {
1009
+ export interface DailyEventObjectDialinConnected extends DailyEventObjectBase {
980
1010
  action: Extract<DailyEvent, 'dialin-connected'>;
981
1011
  actionTraceId?: string;
982
1012
  }
983
1013
 
984
- export interface DailyEventObjectDialinError {
1014
+ export interface DailyEventObjectDialinError extends DailyEventObjectBase {
985
1015
  action: Extract<DailyEvent, 'dialin-error'>;
986
1016
  errorMsg: string;
987
1017
  actionTraceId?: string;
988
1018
  }
989
1019
 
990
- export interface DailyEventObjectDialinStopped {
1020
+ export interface DailyEventObjectDialinStopped extends DailyEventObjectBase {
991
1021
  action: Extract<DailyEvent, 'dialin-stopped'>;
992
1022
  actionTraceId?: string;
993
1023
  }
994
1024
 
995
- export interface DailyEventObjectDialinWarning {
1025
+ export interface DailyEventObjectDialinWarning extends DailyEventObjectBase {
996
1026
  action: Extract<DailyEvent, 'dialin-warning'>;
997
1027
  errorMsg: string;
998
1028
  actionTraceId?: string;
999
1029
  }
1000
1030
 
1001
- export interface DailyEventObjectDialOutConnected {
1031
+ export interface DailyEventObjectDialOutConnected extends DailyEventObjectBase {
1002
1032
  action: Extract<DailyEvent, 'dialout-connected'>;
1003
1033
  sessionId?: string;
1004
1034
  actionTraceId?: string;
1005
1035
  }
1006
1036
 
1007
- export interface DailyEventObjectDialOutError {
1037
+ export interface DailyEventObjectDialOutError extends DailyEventObjectBase {
1008
1038
  action: Extract<DailyEvent, 'dialout-error'>;
1009
1039
  errorMsg: string;
1010
1040
  sessionId?: string;
1011
1041
  actionTraceId?: string;
1012
1042
  }
1013
1043
 
1014
- export interface DailyEventObjectDialOutStopped {
1044
+ export interface DailyEventObjectDialOutStopped extends DailyEventObjectBase {
1015
1045
  action: Extract<DailyEvent, 'dialout-stopped'>;
1016
1046
  sessionId?: string;
1017
1047
  actionTraceId?: string;
1018
1048
  }
1019
1049
 
1020
- export interface DailyEventObjectDialOutWarning {
1050
+ export interface DailyEventObjectDialOutWarning extends DailyEventObjectBase {
1021
1051
  action: Extract<DailyEvent, 'dialout-warning'>;
1022
1052
  errorMsg: string;
1023
1053
  sessionId?: string;
@@ -1027,8 +1057,6 @@ export interface DailyEventObjectDialOutWarning {
1027
1057
  export type DailyEventObject<T extends DailyEvent = any> =
1028
1058
  T extends DailyEventObjectAppMessage['action']
1029
1059
  ? DailyEventObjectAppMessage
1030
- : T extends DailyEventObjectTranscriptionMessage['action']
1031
- ? DailyEventObjectTranscriptionMessage
1032
1060
  : T extends DailyEventObjectNoPayload['action']
1033
1061
  ? DailyEventObjectNoPayload
1034
1062
  : T extends DailyEventObjectCameraError['action']
@@ -1049,6 +1077,14 @@ export type DailyEventObject<T extends DailyEvent = any> =
1049
1077
  ? DailyEventObjectLiveStreamingStopped
1050
1078
  : T extends DailyEventObjectLiveStreamingError['action']
1051
1079
  ? DailyEventObjectLiveStreamingError
1080
+ : T extends DailyEventObjectTranscriptionStarted['action']
1081
+ ? DailyEventObjectTranscriptionStarted
1082
+ : T extends DailyEventObjectTranscriptionMessage['action']
1083
+ ? DailyEventObjectTranscriptionMessage
1084
+ : T extends DailyEventObjectTranscriptionStopped['action']
1085
+ ? DailyEventObjectTranscriptionStopped
1086
+ : T extends DailyEventObjectTranscriptionError['action']
1087
+ ? DailyEventObjectTranscriptionError
1052
1088
  : T extends DailyEventObjectParticipant['action']
1053
1089
  ? DailyEventObjectParticipant
1054
1090
  : T extends DailyEventObjectParticipantLeft['action']
@@ -1107,6 +1143,8 @@ export type DailyEventObject<T extends DailyEvent = any> =
1107
1143
  ? DailyEventObjectLocalAudioLevel
1108
1144
  : T extends DailyEventObjectRemoteParticipantsAudioLevel['action']
1109
1145
  ? DailyEventObjectRemoteParticipantsAudioLevel
1146
+ : T extends DailyEvent
1147
+ ? DailyEventObjectBase
1110
1148
  : any;
1111
1149
 
1112
1150
  export type DailyNativeInCallAudioMode = 'video' | 'voice';
@@ -1120,6 +1158,15 @@ export interface DailyCallStaticUtils {
1120
1158
  supportedBrowser(): DailyBrowserInfo;
1121
1159
  }
1122
1160
 
1161
+ export interface DailyScreenShareUpdateOptions {
1162
+ screenVideo: {
1163
+ enabled: boolean;
1164
+ };
1165
+ screenAudio: {
1166
+ enabled: boolean;
1167
+ };
1168
+ }
1169
+
1123
1170
  export type DailyCameraFacingMode = 'user' | 'environment';
1124
1171
 
1125
1172
  type DailyStreamingParticipantsSortMethod = 'active';
@@ -1334,6 +1381,7 @@ export type DailyStartDialoutOptions =
1334
1381
  | DailyStartDialoutPhoneOptions;
1335
1382
 
1336
1383
  export interface DailyCall {
1384
+ callClientId: string;
1337
1385
  join(properties?: DailyCallOptions): Promise<DailyParticipantsObject | void>;
1338
1386
  leave(): Promise<void>;
1339
1387
  destroy(): Promise<void>;
@@ -1364,6 +1412,9 @@ export interface DailyCall {
1364
1412
  localVideo(): boolean;
1365
1413
  setLocalAudio(enabled: boolean): DailyCall;
1366
1414
  setLocalVideo(enabled: boolean): DailyCall;
1415
+ localScreenAudio(): boolean;
1416
+ localScreenVideo(): boolean;
1417
+ updateScreenShare(options?: DailyScreenShareUpdateOptions): void;
1367
1418
  getReceiveSettings(
1368
1419
  id: string,
1369
1420
  options?: { showInheritedValues: boolean }
@@ -1374,9 +1425,11 @@ export interface DailyCall {
1374
1425
  ): Promise<DailyReceiveSettings>;
1375
1426
  startCamera(properties?: DailyCallOptions): Promise<void>;
1376
1427
  startLocalAudioLevelObserver(interval?: number): Promise<void>;
1428
+ isLocalAudioLevelObserverRunning(): boolean;
1377
1429
  stopLocalAudioLevelObserver(): void;
1378
1430
  getLocalAudioLevel(): number;
1379
1431
  startRemoteParticipantsAudioLevelObserver(interval?: number): Promise<void>;
1432
+ isRemoteParticipantsAudioLevelObserverRunning(): boolean;
1380
1433
  stopRemoteParticipantsAudioLevelObserver(): void;
1381
1434
  getRemoteParticipantsAudioLevel(): DailyParticipantsAudioLevel;
1382
1435
  cycleCamera(): Promise<{