agora-appbuilder-core 3.0.10 → 3.0.11

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 (248) hide show
  1. package/Readme.md +0 -6
  2. package/package.json +2 -2
  3. package/template/_package-lock.json +4719 -5862
  4. package/template/agora-rn-uikit/src/Contexts/LocalUserContext.tsx +0 -4
  5. package/template/agora-rn-uikit/src/Contexts/PropsContext.tsx +0 -18
  6. package/template/agora-rn-uikit/src/Contexts/RtcContext.tsx +0 -2
  7. package/template/agora-rn-uikit/src/Controls/BtnTemplate.tsx +26 -30
  8. package/template/agora-rn-uikit/src/Controls/Icons.ts +83 -30
  9. package/template/agora-rn-uikit/src/Controls/ImageIcon.tsx +6 -6
  10. package/template/agora-rn-uikit/src/Reducer/LocalMuteAudio.ts +0 -1
  11. package/template/agora-rn-uikit/src/Reducer/LocalMuteVideo.ts +0 -1
  12. package/template/agora-rn-uikit/src/Reducer/RemoteAudioStateChanged.ts +0 -1
  13. package/template/agora-rn-uikit/src/Reducer/RemoteVideoStateChanged.ts +0 -1
  14. package/template/agora-rn-uikit/src/Reducer/UpdateDualStreamMode.ts +0 -1
  15. package/template/agora-rn-uikit/src/Reducer/UserJoined.ts +0 -2
  16. package/template/agora-rn-uikit/src/Reducer/UserMuteRemoteAudio.ts +0 -1
  17. package/template/agora-rn-uikit/src/Reducer/UserMuteRemoteVideo.ts +0 -1
  18. package/template/agora-rn-uikit/src/Reducer/UserOffline.ts +0 -1
  19. package/template/agora-rn-uikit/src/Reducer/index.ts +0 -3
  20. package/template/agora-rn-uikit/src/Rtc/Create.tsx +1 -89
  21. package/template/agora-rn-uikit/src/RtcConfigure.tsx +2 -39
  22. package/template/agora-rn-uikit/src/Views/MaxVideoView.native.tsx +5 -15
  23. package/template/agora-rn-uikit/src/Views/MaxVideoView.tsx +9 -15
  24. package/template/agora-rn-uikit/src/index.ts +1 -3
  25. package/template/android/app/build.gradle +0 -1
  26. package/template/android/app/src/main/AndroidManifest.xml +15 -22
  27. package/template/android/app/src/main/java/com/helloworld/MainActivity.java +0 -50
  28. package/template/android/build.gradle +3 -3
  29. package/template/babel.config.js +0 -1
  30. package/template/bridge/rtc/webNg/RtcEngine.ts +17 -110
  31. package/template/customization-api/sub-components.ts +1 -1
  32. package/template/customization-api/typeDefinition.ts +1 -2
  33. package/template/electron/index.html +27 -27
  34. package/template/electron/renderer/index.js +0 -1
  35. package/template/global.d.ts +4 -25
  36. package/template/index.rsdk.tsx +0 -1
  37. package/template/index.web.js +1 -2
  38. package/template/index.wsdk.tsx +1 -1
  39. package/template/ios/HelloWorld/Info.plist +1 -14
  40. package/template/ios/HelloWorld.xcodeproj/project.pbxproj +0 -17
  41. package/template/metro.config.js +1 -1
  42. package/template/package.json +7 -18
  43. package/template/react-native-toast-message/index.d.ts +43 -43
  44. package/template/react-native-toast-message/src/colors/index.js +2 -3
  45. package/template/react-native-toast-message/src/components/base/index.js +59 -46
  46. package/template/react-native-toast-message/src/components/base/styles.js +32 -16
  47. package/template/react-native-toast-message/src/components/error.js +2 -3
  48. package/template/react-native-toast-message/src/components/info.js +2 -3
  49. package/template/react-native-toast-message/src/components/success.js +2 -3
  50. package/template/react-native-toast-message/src/index.js +31 -122
  51. package/template/react-native-toast-message/src/index.sdk.tsx +35 -125
  52. package/template/react-native-toast-message/src/styles.js +4 -3
  53. package/template/react-native-toast-message/src/styles.sdk.ts +4 -3
  54. package/template/src/App.tsx +0 -6
  55. package/template/src/AppWrapper.tsx +28 -63
  56. package/template/src/assets/icons.ts +102 -0
  57. package/template/src/atoms/HorizontalRule.tsx +1 -3
  58. package/template/src/atoms/PrimaryButton.tsx +26 -51
  59. package/template/src/atoms/SecondaryButton.tsx +5 -8
  60. package/template/src/atoms/TextInput.tsx +14 -12
  61. package/template/src/components/Chat.tsx +214 -86
  62. package/template/src/components/ChatContext.ts +1 -8
  63. package/template/src/components/ColorConfigure.tsx +1 -1
  64. package/template/src/components/ColorContext.ts +1 -1
  65. package/template/src/components/{Controls1.native.tsx → Controls.native.tsx} +4 -6
  66. package/template/src/components/Controls.tsx +42 -342
  67. package/template/src/components/DeviceConfigure.tsx +101 -461
  68. package/template/src/components/DeviceContext.tsx +4 -8
  69. package/template/src/components/EventsConfigure.tsx +7 -144
  70. package/template/src/components/GraphQLProvider.tsx +1 -1
  71. package/template/src/components/GridVideo.tsx +44 -59
  72. package/template/src/components/HostControlView.tsx +35 -114
  73. package/template/src/components/Navbar.tsx +398 -216
  74. package/template/src/components/NetworkQualityContext.tsx +20 -20
  75. package/template/src/components/ParticipantsView.tsx +154 -177
  76. package/template/src/components/PinnedVideo.tsx +120 -207
  77. package/template/src/components/Precall.native.tsx +119 -358
  78. package/template/src/components/Precall.tsx +135 -269
  79. package/template/src/components/RTMConfigure.tsx +4 -27
  80. package/template/src/components/Router.electron.ts +0 -1
  81. package/template/src/components/Router.native.ts +0 -1
  82. package/template/src/components/Router.sdk.ts +0 -1
  83. package/template/src/components/Router.ts +0 -1
  84. package/template/src/components/Settings.tsx +95 -26
  85. package/template/src/components/SettingsView.tsx +56 -251
  86. package/template/src/components/Share.tsx +273 -302
  87. package/template/src/components/StorageContext.tsx +3 -30
  88. package/template/src/components/chat-messages/useChatMessages.tsx +23 -69
  89. package/template/src/components/chat-ui/useChatUIControl.tsx +0 -7
  90. package/template/src/components/common/Error.tsx +6 -20
  91. package/template/src/components/common/Logo.tsx +15 -16
  92. package/template/src/components/contexts/LiveStreamDataContext.tsx +5 -10
  93. package/template/src/components/contexts/VideoMeetingDataContext.tsx +7 -37
  94. package/template/src/components/livestream/LiveStreamContext.tsx +36 -270
  95. package/template/src/components/livestream/Types.ts +14 -39
  96. package/template/src/components/livestream/index.ts +0 -1
  97. package/template/src/components/livestream/views/LiveStreamControls.tsx +4 -12
  98. package/template/src/components/participants/AllAudienceParticipants.tsx +30 -101
  99. package/template/src/components/participants/AllHostParticipants.tsx +34 -103
  100. package/template/src/components/participants/MeParticipant.tsx +38 -0
  101. package/template/src/components/participants/ParticipantName.tsx +7 -13
  102. package/template/src/components/participants/ParticipantSectionTitle.tsx +10 -35
  103. package/template/src/components/participants/RemoteParticipants.tsx +71 -0
  104. package/template/src/components/participants/ScreenshareParticipants.tsx +12 -144
  105. package/template/src/components/precall/{LocalMute1.native.tsx → LocalMute.native.tsx} +5 -21
  106. package/template/src/components/precall/LocalMute.tsx +14 -84
  107. package/template/src/components/precall/VideoPreview.native.tsx +3 -48
  108. package/template/src/components/precall/VideoPreview.tsx +7 -163
  109. package/template/src/components/precall/joinCallBtn.tsx +2 -15
  110. package/template/src/components/precall/meetingTitle.tsx +12 -15
  111. package/template/src/components/precall/selectDevice.tsx +21 -1
  112. package/template/src/components/precall/textInput.tsx +4 -32
  113. package/template/src/components/precall/usePreCall.tsx +0 -16
  114. package/template/src/components/styles.ts +21 -42
  115. package/template/src/components/useShareLink.tsx +14 -12
  116. package/template/src/language/default-labels/precallScreenLabels.ts +3 -3
  117. package/template/src/pages/Authenticate.tsx +15 -5
  118. package/template/src/pages/Create.tsx +165 -293
  119. package/template/src/pages/Join.tsx +67 -93
  120. package/template/src/pages/VideoCall.tsx +64 -89
  121. package/template/src/pages/video-call/DefaultLayouts.ts +4 -4
  122. package/template/src/pages/video-call/NameWithMicIcon.tsx +44 -120
  123. package/template/src/pages/video-call/RenderComponent.tsx +2 -3
  124. package/template/src/pages/video-call/VideoCallScreen.tsx +9 -45
  125. package/template/src/pages/video-call/VideoComponent.tsx +3 -18
  126. package/template/src/pages/video-call/VideoRenderer.tsx +60 -218
  127. package/template/src/rtm-events/constants.ts +0 -2
  128. package/template/src/subComponents/ChatBubble.tsx +83 -123
  129. package/template/src/subComponents/ChatContainer.tsx +84 -257
  130. package/template/src/subComponents/ChatInput.tsx +46 -61
  131. package/template/src/subComponents/Checkbox.native.tsx +5 -16
  132. package/template/src/subComponents/Checkbox.tsx +2 -2
  133. package/template/src/subComponents/CopyJoinInfo.tsx +58 -36
  134. package/template/src/subComponents/FallbackLogo.tsx +40 -122
  135. package/template/src/subComponents/LanguageSelector.tsx +1 -1
  136. package/template/src/subComponents/{LayoutIconDropdown1.native.tsx → LayoutIconDropdown.native.tsx} +18 -4
  137. package/template/src/subComponents/LayoutIconDropdown.tsx +134 -131
  138. package/template/src/subComponents/LocalAudioMute.tsx +27 -119
  139. package/template/src/subComponents/LocalEndCall.tsx +33 -71
  140. package/template/src/subComponents/LocalSwitchCamera.tsx +30 -17
  141. package/template/src/subComponents/LocalVideoMute.tsx +27 -117
  142. package/template/src/subComponents/Logo.tsx +4 -3
  143. package/template/src/subComponents/LogoutButton.tsx +1 -1
  144. package/template/src/subComponents/NetworkQualityPill.tsx +63 -60
  145. package/template/src/subComponents/OpenInNativeButton.tsx +3 -3
  146. package/template/src/subComponents/Recording.tsx +29 -28
  147. package/template/src/subComponents/RemoteAudioMute.tsx +29 -83
  148. package/template/src/subComponents/RemoteEndCall.tsx +5 -8
  149. package/template/src/subComponents/RemoteVideoMute.tsx +21 -74
  150. package/template/src/subComponents/ScreenShareNotice.tsx +8 -83
  151. package/template/src/subComponents/SelectDevice.tsx +61 -404
  152. package/template/src/subComponents/SelectOAuth.tsx +8 -9
  153. package/template/src/subComponents/ToastConfig.tsx +10 -150
  154. package/template/src/subComponents/chat/ChatParticipants.tsx +78 -187
  155. package/template/src/subComponents/livestream/CurrentLiveStreamRequestsView.tsx +32 -95
  156. package/template/src/subComponents/livestream/controls/LocalRaiseHand.tsx +33 -29
  157. package/template/src/subComponents/livestream/controls/RemoteLiveStreamApprovedRequestRecall.tsx +6 -6
  158. package/template/src/subComponents/livestream/controls/RemoteLiveStreamRequestApprove.tsx +11 -24
  159. package/template/src/subComponents/livestream/controls/RemoteLiveStreamRequestReject.tsx +10 -17
  160. package/template/src/subComponents/recording/useRecording.tsx +27 -79
  161. package/template/src/subComponents/screenshare/ScreenshareButton.tsx +70 -52
  162. package/template/src/subComponents/screenshare/ScreenshareConfigure.native.tsx +2 -11
  163. package/template/src/subComponents/screenshare/ScreenshareConfigure.tsx +4 -26
  164. package/template/src/utils/common.tsx +1 -155
  165. package/template/src/utils/index.tsx +0 -19
  166. package/template/src/utils/isMobileOrTablet.ts +2 -7
  167. package/template/src/utils/useButtonTemplate.tsx +0 -1
  168. package/template/src/utils/useMuteToggleLocal.ts +3 -54
  169. package/template/web/index.html +0 -5
  170. package/template/webpack.commons.js +8 -13
  171. package/template/webpack.web.config.js +0 -1
  172. package/template/agora-rn-uikit/src/Reducer/ActiveSpeakerDetected.ts +0 -11
  173. package/template/agora-rn-uikit/src/Reducer/LocalPermissionState.ts +0 -24
  174. package/template/agora-rn-uikit/src/Reducer/UserPin.ts +0 -11
  175. package/template/android/app/src/main/assets/fonts/SourceSansPro-Regular.ttf +0 -0
  176. package/template/android/app/src/main/assets/fonts/icomoon.ttf +0 -0
  177. package/template/android/app/src/main/res/values/colors.xml +0 -7
  178. package/template/react-native-toast-message/src/components/checkbox.js +0 -178
  179. package/template/react-native.config.js +0 -7
  180. package/template/src/assets/font-styles.css +0 -329
  181. package/template/src/assets/fonts/SourceSansPro-Regular.ttf +0 -0
  182. package/template/src/assets/fonts/icomoon.ttf +0 -0
  183. package/template/src/assets/permission.png +0 -0
  184. package/template/src/assets/selection.json +0 -1
  185. package/template/src/atoms/ActionMenu.tsx +0 -236
  186. package/template/src/atoms/AnimatedActiveSpeaker.native.tsx +0 -71
  187. package/template/src/atoms/AnimatedActiveSpeaker.tsx +0 -84
  188. package/template/src/atoms/AnimatedRings.native.tsx +0 -68
  189. package/template/src/atoms/AnimatedRings.tsx +0 -70
  190. package/template/src/atoms/Card.tsx +0 -61
  191. package/template/src/atoms/CircularProgress.native.tsx +0 -121
  192. package/template/src/atoms/CircularProgress.tsx +0 -102
  193. package/template/src/atoms/CustomIcon.tsx +0 -88
  194. package/template/src/atoms/CustomSwitch.tsx +0 -287
  195. package/template/src/atoms/Dropdown.tsx +0 -306
  196. package/template/src/atoms/IconButton.tsx +0 -162
  197. package/template/src/atoms/ImageIcon.tsx +0 -98
  198. package/template/src/atoms/InfoBubble.tsx +0 -291
  199. package/template/src/atoms/Input.tsx +0 -87
  200. package/template/src/atoms/InviteInfo.tsx +0 -166
  201. package/template/src/atoms/LinkButton.tsx +0 -28
  202. package/template/src/atoms/OutlineButton.tsx +0 -61
  203. package/template/src/atoms/ParticipantsCount.tsx +0 -73
  204. package/template/src/atoms/Popup.tsx +0 -147
  205. package/template/src/atoms/RecordingInfo.tsx +0 -49
  206. package/template/src/atoms/Spacer.tsx +0 -22
  207. package/template/src/atoms/TertiaryButton.tsx +0 -78
  208. package/template/src/atoms/Toggle.tsx +0 -47
  209. package/template/src/atoms/Tooltip.native.tsx +0 -65
  210. package/template/src/atoms/Tooltip.tsx +0 -94
  211. package/template/src/atoms/UserAvatar.tsx +0 -60
  212. package/template/src/components/CommonStyles.ts +0 -44
  213. package/template/src/components/ToastComponent.tsx +0 -8
  214. package/template/src/components/participants/Participant.tsx +0 -302
  215. package/template/src/components/participants/UserActionMenuOptions.tsx +0 -398
  216. package/template/src/components/popups/InvitePopup.tsx +0 -115
  217. package/template/src/components/popups/StopRecordingPopup.tsx +0 -114
  218. package/template/src/components/precall/PermissionHelper.native.tsx +0 -5
  219. package/template/src/components/precall/PermissionHelper.tsx +0 -126
  220. package/template/src/components/precall/PreCallSettings.tsx +0 -52
  221. package/template/src/components/useToast.tsx +0 -41
  222. package/template/src/components/useVideoCall.tsx +0 -65
  223. package/template/src/pages/Endcall.tsx +0 -148
  224. package/template/src/pages/video-call/ActionSheet.native.tsx +0 -215
  225. package/template/src/pages/video-call/ActionSheet.tsx +0 -226
  226. package/template/src/pages/video-call/ActionSheetContent.tsx +0 -479
  227. package/template/src/pages/video-call/ActionSheetHandle.tsx +0 -38
  228. package/template/src/pages/video-call/ActionSheetStyles.css +0 -138
  229. package/template/src/pages/video-call/SidePanelHeader.tsx +0 -190
  230. package/template/src/pages/video-call/VideoCallMobileView.tsx +0 -139
  231. package/template/src/pages/video-call/VideoCallScreen.native.tsx +0 -37
  232. package/template/src/subComponents/ChatInput.ios.tsx +0 -237
  233. package/template/src/subComponents/EndcallPopup.tsx +0 -107
  234. package/template/src/subComponents/LayoutIconButton.tsx +0 -201
  235. package/template/src/subComponents/RemoteMutePopup.tsx +0 -193
  236. package/template/src/subComponents/RemoveMeetingPopup.tsx +0 -109
  237. package/template/src/subComponents/RemoveScreensharePopup.tsx +0 -109
  238. package/template/src/subComponents/SelectDeviceSettings.backup.tsx +0 -207
  239. package/template/src/subComponents/SidePanelHeader.tsx +0 -112
  240. package/template/src/theme/index.ts +0 -46
  241. package/template/src/utils/PlatformWrapper.tsx +0 -21
  242. package/template/src/utils/hexadecimalTransparency.ts +0 -108
  243. package/template/src/utils/pendingStateUpdateHelper.ts +0 -19
  244. package/template/src/utils/useFocus.tsx +0 -46
  245. package/template/src/utils/useIsActiveSpeaker.ts +0 -27
  246. package/template/src/utils/useIsHandRaised.ts +0 -13
  247. package/template/src/utils/useRemoteEndScreenshare.ts +0 -26
  248. package/template/src/utils/useRemoteRequest.ts +0 -84
@@ -23,8 +23,6 @@ import AgoraRTC, {
23
23
  EncryptionMode,
24
24
  ILocalTrack,
25
25
  ClientRoleOptions,
26
- CameraVideoTrackInitConfig,
27
- MicrophoneAudioTrackInitConfig,
28
26
  } from 'agora-rtc-sdk-ng';
29
27
  import type {
30
28
  RtcEngineEvents,
@@ -48,12 +46,9 @@ type callbackType = (uid?: UID) => void;
48
46
  declare global {
49
47
  interface Window {
50
48
  engine: RtcEngine;
51
- AgoraRTC: typeof AgoraRTC;
52
49
  }
53
50
  }
54
51
 
55
- window.AgoraRTC = AgoraRTC;
56
-
57
52
  export enum AREAS {
58
53
  /**
59
54
  * China.
@@ -171,7 +166,6 @@ if ($config.LOG_ENABLED) {
171
166
  }
172
167
 
173
168
  export default class RtcEngine {
174
- private activeSpeakerUid: number;
175
169
  public appId: string;
176
170
  // public AgoraRTC: any;
177
171
  public client: any | IAgoraRTCClient;
@@ -184,7 +178,6 @@ export default class RtcEngine {
184
178
  ['RemoteAudioStateChanged', () => null],
185
179
  ['RemoteVideoStateChanged', () => null],
186
180
  ['NetworkQuality', () => null],
187
- ['ActiveSpeaker', () => null],
188
181
  ]);
189
182
  public localStream: LocalStream = {};
190
183
  public screenStream: ScreenStream = {};
@@ -192,16 +185,15 @@ export default class RtcEngine {
192
185
  private inScreenshare: Boolean = false;
193
186
  private videoProfile: VideoProfile = '480p_9';
194
187
  private isPublished = false;
195
- private isAudioEnabled = false;
196
- private isVideoEnabled = false;
188
+ private isAudioEnabled = true;
189
+ private isVideoEnabled = true;
197
190
  private isAudioPublished = false;
198
191
  private isVideoPublished = false;
199
192
  private isJoined = false;
200
- private videoDeviceId = undefined;
201
- private audioDeviceId = undefined;
193
+ private deviceId = '';
202
194
  private muteLocalVideoMutex = false;
203
195
  private muteLocalAudioMutex = false;
204
- private speakerDeviceId = '';
196
+
205
197
  // Create channel profile and set it here
206
198
 
207
199
  // Create channel profile and set it here
@@ -222,17 +214,9 @@ export default class RtcEngine {
222
214
  }
223
215
 
224
216
  async enableAudio(): Promise<void> {
225
- const audioConfig: MicrophoneAudioTrackInitConfig = {
226
- bypassWebAudio: Platform.OS == 'web' && isMobileOrTablet(),
227
- // microphoneId: this.audioDeviceId,
228
- };
229
217
  try {
230
- let localAudio = await AgoraRTC.createMicrophoneAudioTrack(audioConfig);
218
+ let localAudio = await AgoraRTC.createMicrophoneAudioTrack({});
231
219
  this.localStream.audio = localAudio;
232
- this.audioDeviceId = localAudio
233
- ?.getMediaStreamTrack()
234
- .getSettings().deviceId;
235
- this.isAudioEnabled = true;
236
220
  } catch (e) {
237
221
  let audioError = e;
238
222
  e.status = {audioError};
@@ -250,30 +234,15 @@ export default class RtcEngine {
250
234
  * The Web SDK directly publishes the local audio stream without processing it through WebAudio.
251
235
  */
252
236
 
253
- const audioConfig: MicrophoneAudioTrackInitConfig = {
254
- bypassWebAudio: Platform.OS == 'web' && isMobileOrTablet(),
255
- // microphoneId: this.audioDeviceId,
256
- };
257
- const videoConfig: CameraVideoTrackInitConfig = {
258
- encoderConfig: this.videoProfile,
259
- // cameraId: this.videoDeviceId,
260
- };
237
+ const audioConfig =
238
+ Platform.OS == 'web' && isMobileOrTablet() ? {bypassWebAudio: true} : {};
261
239
  try {
262
240
  let [localAudio, localVideo] =
263
- await AgoraRTC.createMicrophoneAndCameraTracks(
264
- audioConfig,
265
- videoConfig,
266
- );
241
+ await AgoraRTC.createMicrophoneAndCameraTracks(audioConfig, {
242
+ encoderConfig: this.videoProfile,
243
+ });
267
244
  this.localStream.audio = localAudio;
268
245
  this.localStream.video = localVideo;
269
- this.audioDeviceId = localAudio
270
- ?.getMediaStreamTrack()
271
- .getSettings().deviceId;
272
- this.videoDeviceId = localVideo
273
- ?.getMediaStreamTrack()
274
- .getSettings().deviceId;
275
- this.isVideoEnabled = true;
276
- this.isAudioEnabled = true;
277
246
  } catch (e) {
278
247
  let audioError = false;
279
248
  let videoError = false;
@@ -281,20 +250,14 @@ export default class RtcEngine {
281
250
  let localAudio = await AgoraRTC.createMicrophoneAudioTrack(audioConfig);
282
251
 
283
252
  this.localStream.audio = localAudio;
284
- this.audioDeviceId = localAudio
285
- ?.getMediaStreamTrack()
286
- .getSettings().deviceId;
287
- this.isAudioEnabled = true;
288
253
  } catch (error) {
289
254
  audioError = error;
290
255
  }
291
256
  try {
292
- let localVideo = await AgoraRTC.createCameraVideoTrack(videoConfig);
257
+ let localVideo = await AgoraRTC.createCameraVideoTrack({
258
+ encoderConfig: this.videoProfile,
259
+ });
293
260
  this.localStream.video = localVideo;
294
- this.videoDeviceId = localVideo
295
- ?.getMediaStreamTrack()
296
- .getSettings().deviceId;
297
- this.isVideoEnabled = true;
298
261
  } catch (error) {
299
262
  videoError = error;
300
263
  }
@@ -308,11 +271,6 @@ export default class RtcEngine {
308
271
  }
309
272
  }
310
273
 
311
- async enableAudioVolumeIndication(interval, smooth, isLocal) {
312
- AgoraRTC.setParameter('AUDIO_VOLUME_INDICATION_INTERVAL', interval);
313
- this.client.enableAudioVolumeIndicator();
314
- }
315
-
316
274
  async publish() {
317
275
  if (this.localStream.audio || this.localStream.video) {
318
276
  try {
@@ -402,12 +360,6 @@ export default class RtcEngine {
402
360
  ...this.remoteStreams.get(user.uid),
403
361
  audio: audioTrack,
404
362
  });
405
- if (this.speakerDeviceId) {
406
- // setting sepeaker for all remote stream (newly joining user)
407
- this.remoteStreams
408
- .get(user.uid)
409
- ?.audio?.setPlaybackDevice(this.speakerDeviceId);
410
- }
411
363
  (this.eventsMap.get('RemoteAudioStateChanged') as callbackType)(
412
364
  user.uid,
413
365
  2,
@@ -452,36 +404,6 @@ export default class RtcEngine {
452
404
  }
453
405
  });
454
406
 
455
- this.client.on('volume-indicator', (volumes) => {
456
- const highestvolumeObj = volumes.reduce(
457
- (highestVolume, volume, index) => {
458
- if (highestVolume === null) {
459
- return volume;
460
- } else {
461
- if (volume.level > highestVolume.level) {
462
- return volume;
463
- }
464
- return highestVolume;
465
- }
466
- // console.log(`${index} UID ${volume.uid} Level ${volume.level}`);
467
- },
468
- null,
469
- );
470
- const activeSpeakerUid =
471
- highestvolumeObj && highestvolumeObj?.level > 0 && highestvolumeObj?.uid
472
- ? highestvolumeObj.uid
473
- : undefined;
474
-
475
- //To avoid infinite calling dispatch checking if condition.
476
- if (this.activeSpeakerUid !== activeSpeakerUid) {
477
- const activeSpeakerCallBack = this.eventsMap.get(
478
- 'ActiveSpeaker',
479
- ) as callbackType;
480
- activeSpeakerCallBack(activeSpeakerUid);
481
- this.activeSpeakerUid = activeSpeakerUid;
482
- }
483
- });
484
-
485
407
  // this.client.on('stream-fallback', (evt))
486
408
  this.client.on('stream-type-changed', function (uid, streamType) {
487
409
  console.log('[fallback]: ', uid, streamType);
@@ -546,8 +468,7 @@ export default class RtcEngine {
546
468
  event === 'ScreenshareStopped' ||
547
469
  event === 'RemoteAudioStateChanged' ||
548
470
  event === 'RemoteVideoStateChanged' ||
549
- event === 'NetworkQuality' ||
550
- event === 'ActiveSpeaker'
471
+ event === 'NetworkQuality'
551
472
  ) {
552
473
  this.eventsMap.set(event, listener as callbackType);
553
474
  }
@@ -695,7 +616,7 @@ export default class RtcEngine {
695
616
  async changeCamera(cameraId, callback, error): Promise<void> {
696
617
  try {
697
618
  await this.localStream.video?.setDevice(cameraId);
698
- this.videoDeviceId = cameraId;
619
+ this.deviceId = cameraId;
699
620
  callback(cameraId);
700
621
  } catch (e) {
701
622
  error(e);
@@ -707,9 +628,9 @@ export default class RtcEngine {
707
628
  const devices = await AgoraRTC.getDevices(true);
708
629
  for (let i = 0; i < devices.length; i++) {
709
630
  let d = devices[i];
710
- if (d.kind === 'videoinput' && d.deviceId !== this.videoDeviceId) {
631
+ if (d.kind === 'videoinput' && d.deviceId !== this.deviceId) {
711
632
  await this.localStream.video?.setDevice(d.deviceId);
712
- this.videoDeviceId = d.deviceId;
633
+ this.deviceId = d.deviceId;
713
634
  break;
714
635
  }
715
636
  }
@@ -721,26 +642,12 @@ export default class RtcEngine {
721
642
  async changeMic(micId, callback, error) {
722
643
  try {
723
644
  await this.localStream.audio?.setDevice(micId);
724
- this.audioDeviceId = micId;
725
645
  callback(micId);
726
646
  } catch (e) {
727
647
  error(e);
728
648
  }
729
649
  }
730
650
 
731
- async changeSpeaker(speakerId, callback, error) {
732
- try {
733
- this.speakerDeviceId = speakerId;
734
- // setting sepeaker for all remote stream (previously joined users)
735
- this.remoteStreams?.forEach((stream, uid, map) => {
736
- stream?.audio?.setPlaybackDevice(speakerId);
737
- });
738
- callback(speakerId);
739
- } catch (e) {
740
- error(e);
741
- }
742
- }
743
-
744
651
  async enableDualStreamMode(enable: boolean) {
745
652
  return this.client[enable ? 'enableDualStream' : 'disableDualStream']();
746
653
  // enable
@@ -4,7 +4,7 @@ export {default as PrimaryButton} from '../src/atoms/PrimaryButton';
4
4
  export {default as SecondaryButton} from '../src/atoms/SecondaryButton';
5
5
  export {default as TextInput} from '../src/atoms/TextInput';
6
6
  //Icons
7
- export {Icons} from '../agora-rn-uikit';
7
+ export {default as icons} from '../src/assets/icons';
8
8
 
9
9
  // commented for v1 release
10
10
  //create screen
@@ -18,7 +18,7 @@ import {
18
18
  UidType,
19
19
  } from '../agora-rn-uikit';
20
20
  import {I18nInterface} from '../src/language/i18nTypes';
21
- import {IconsInterface} from '../src/atoms/CustomIcon';
21
+ import {IconsInterface} from '../agora-rn-uikit/src/Controls/Icons';
22
22
  export type {RenderInterface, RenderStateInterface, UidType};
23
23
  export type {
24
24
  ChatTextInputProps,
@@ -56,7 +56,6 @@ export interface ChatCmpInterface {
56
56
 
57
57
  export interface renderComponentInterface {
58
58
  user: RenderInterface;
59
- isMax?: boolean;
60
59
  }
61
60
 
62
61
  export interface renderComponentObjectInterface {
@@ -1,29 +1,29 @@
1
1
  <!DOCTYPE html>
2
2
  <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <link rel="preconnect" href="https://fonts.googleapis.com" />
7
- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
8
- <link
9
- href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@400;600;700&display=swap"
10
- rel="stylesheet"
11
- />
12
- <base href="./" />
13
- <title><%= htmlWebpackPlugin.options.title %></title>
14
- </head>
15
- <body>
16
- <style>
17
- .video-container > * {
18
- background-color: #000 !important;
19
- }
20
- .video-container video {
21
- background-color: #000;
22
- }
23
- .video-container {
24
- background-color: #000;
25
- }
26
- </style>
27
- <div id="react-app" style="height: 100vh; display: flex"></div>
28
- </body>
29
- </html>
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+
7
+ <base href="./">
8
+ <title><%= htmlWebpackPlugin.options.title %></title>
9
+ </head>
10
+ <body>
11
+ <style>
12
+ .video-container > *{
13
+ background-color: #000 !important;
14
+
15
+ }
16
+ .video-container video{
17
+ background-color: #000;
18
+ }
19
+ .video-container{
20
+ background-color: #000;
21
+ }
22
+ </style>
23
+ <div id="react-app" style="
24
+ height: 100vh;
25
+ display: flex;
26
+ ">
27
+ </div>
28
+ </body>
29
+ </html>
@@ -1,6 +1,5 @@
1
1
  import Video from '../../src/App';
2
2
  import {AppRegistry} from 'react-native';
3
- import '../../src/assets/font-styles.css';
4
3
  // import React from 'react';
5
4
 
6
5
  // const Video = () => <div>Hello </div>;
@@ -47,6 +47,7 @@ interface ConfigInterface {
47
47
  APP_NAME: string;
48
48
  LOGO: string;
49
49
  APP_ID: string;
50
+ PRIMARY_COLOR: string;
50
51
  FRONTEND_ENDPOINT: string;
51
52
  BACKEND_ENDPOINT: string;
52
53
  PSTN: boolean;
@@ -56,8 +57,11 @@ interface ConfigInterface {
56
57
  SCREEN_SHARING: boolean;
57
58
  CLIENT_ID: string;
58
59
  LANDING_SUB_HEADING: string;
60
+ BG: string;
59
61
  ENCRYPTION_ENABLED: boolean;
60
62
  PROFILE: VideoProfile;
63
+ PRIMARY_FONT_COLOR: string;
64
+ SECONDARY_FONT_COLOR: string;
61
65
  SENTRY_DSN: string;
62
66
  ENABLE_GOOGLE_OAUTH: boolean;
63
67
  ENABLE_SLACK_OAUTH: boolean;
@@ -72,31 +76,6 @@ interface ConfigInterface {
72
76
  GEO_FENCING: boolean;
73
77
  LOG_ENABLED: boolean;
74
78
  AUDIO_ROOM: boolean;
75
- PRIMARY_ACTION_BRAND_COLOR: string;
76
- PRIMARY_ACTION_TEXT_COLOR: string;
77
- SECONDARY_ACTION_COLOR: string;
78
- FONT_COLOR: string;
79
- BG: string;
80
- BACKGROUND_COLOR: string;
81
- VIDEO_AUDIO_TILE_COLOR: string;
82
- VIDEO_AUDIO_TILE_OVERLAY_COLOR: string;
83
- VIDEO_AUDIO_TILE_TEXT_COLOR: string;
84
- VIDEO_AUDIO_TILE_AVATAR_COLOR: string;
85
- SEMANTIC_ERROR: string;
86
- SEMANTIC_SUCCESS: string;
87
- SEMANTIC_WARNING: string;
88
- SEMANTIC_NEUTRAL: string;
89
- INPUT_FIELD_BACKGROUND_COLOR: string;
90
- INPUT_FIELD_BORDER_COLOR: string;
91
- CARD_LAYER_1_COLOR: string;
92
- CARD_LAYER_2_COLOR: string;
93
- CARD_LAYER_3_COLOR: string;
94
- CARD_LAYER_4_COLOR: string;
95
- CARD_LAYER_5_COLOR: string;
96
- HARD_CODED_BLACK_COLOR: string;
97
- ICON_TEXT: boolean;
98
- ICON_BG_COLOR: string;
99
- TOOLBAR_COLOR: string;
100
79
  }
101
80
  declare var $config: ConfigInterface;
102
81
  declare module 'customization' {
@@ -18,7 +18,6 @@ import SDKAppWrapper, {
18
18
  } from './src/SDKAppWrapper';
19
19
  import React from 'react';
20
20
  import * as RN from 'react-native-web';
21
- import './src/assets/font-styles.css';
22
21
 
23
22
  export * from 'customization-api';
24
23
  export * from 'customization-implementation';
@@ -9,10 +9,9 @@
9
9
  information visit https://appbuilder.agora.io.
10
10
  *********************************************
11
11
  */
12
- import { AppRegistry } from 'react-native';
12
+ import {AppRegistry} from 'react-native';
13
13
  import * as Sentry from '@sentry/browser';
14
14
  import Video from './src/App';
15
- import './src/assets/font-styles.css'
16
15
 
17
16
  Sentry.init({
18
17
  dsn: 'https://b5df0450fe284baa8376e62ace331580@o615358.ingest.sentry.io/5749898',
@@ -6,7 +6,7 @@ import SDKAppWrapper, {
6
6
  import SDKEvents from './src/utils/SdkEvents';
7
7
  import React from 'react';
8
8
  import * as RN from 'react-native-web';
9
- import './src/assets/font-styles.css';
9
+
10
10
  export * from 'customization-api';
11
11
  export * from 'customization-implementation';
12
12
 
@@ -53,18 +53,9 @@
53
53
  <key>NSCameraUsageDescription</key>
54
54
  <string>Camera access</string>
55
55
  <key>NSLocationWhenInUseUsageDescription</key>
56
- <string/>
56
+ <string></string>
57
57
  <key>NSMicrophoneUsageDescription</key>
58
58
  <string>Mic access</string>
59
- <key>UIAppFonts</key>
60
- <array>
61
- <string>SourceSansPro-Regular.ttf</string>
62
- <string>icomoon.ttf</string>
63
- </array>
64
- <key>UIBackgroundModes</key>
65
- <array>
66
- <string>audio</string>
67
- </array>
68
59
  <key>UILaunchStoryboardName</key>
69
60
  <string>LaunchScreen</string>
70
61
  <key>UIRequiredDeviceCapabilities</key>
@@ -74,12 +65,8 @@
74
65
  <key>UISupportedInterfaceOrientations</key>
75
66
  <array>
76
67
  <string>UIInterfaceOrientationPortrait</string>
77
- </array>
78
- <key>UISupportedInterfaceOrientations~ipad</key>
79
- <array>
80
68
  <string>UIInterfaceOrientationLandscapeLeft</string>
81
69
  <string>UIInterfaceOrientationLandscapeRight</string>
82
- <string>UIInterfaceOrientationPortrait</string>
83
70
  </array>
84
71
  <key>UIViewControllerBasedStatusBarAppearance</key>
85
72
  <false/>
@@ -18,8 +18,6 @@
18
18
  65580BB1266EDC8000B310B6 /* File.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65580BB0266EDC8000B310B6 /* File.swift */; };
19
19
  65580BB3266EDD6300B310B6 /* HelloWorld.entitlements in Resources */ = {isa = PBXBuildFile; fileRef = 65580BB2266EDCA400B310B6 /* HelloWorld.entitlements */; };
20
20
  81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
21
- 49B7B61E43464F098E87335F /* icomoon.ttf in Resources */ = {isa = PBXBuildFile; fileRef = FF34150ABA37458FB48221FB /* icomoon.ttf */; };
22
- 76624C45E19C435BACC727C7 /* SourceSansPro-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = E72FF36D2A984B10BA9C6F91 /* SourceSansPro-Regular.ttf */; };
23
21
  /* End PBXBuildFile section */
24
22
 
25
23
  /* Begin PBXContainerItemProxy section */
@@ -58,8 +56,6 @@
58
56
  81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = HelloWorld/LaunchScreen.storyboard; sourceTree = "<group>"; };
59
57
  ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
60
58
  ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; };
61
- FF34150ABA37458FB48221FB /* icomoon.ttf */ = {isa = PBXFileReference; name = "icomoon.ttf"; path = "../src/assets/fonts/icomoon.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
62
- E72FF36D2A984B10BA9C6F91 /* SourceSansPro-Regular.ttf */ = {isa = PBXFileReference; name = "SourceSansPro-Regular.ttf"; path = "../src/assets/fonts/SourceSansPro-Regular.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
63
59
  /* End PBXFileReference section */
64
60
 
65
61
  /* Begin PBXFrameworksBuildPhase section */
@@ -152,7 +148,6 @@
152
148
  00E356EF1AD99517003FC87E /* HelloWorldTests */,
153
149
  83CBBA001A601CBA00E9B192 /* Products */,
154
150
  2D16E6871FA4F8E400B85C8A /* Frameworks */,
155
- A87D6475B3A64BB58397D417 /* Resources */,
156
151
  );
157
152
  indentWidth = 2;
158
153
  sourceTree = "<group>";
@@ -170,16 +165,6 @@
170
165
  name = Products;
171
166
  sourceTree = "<group>";
172
167
  };
173
- A87D6475B3A64BB58397D417 /* Resources */ = {
174
- isa = "PBXGroup";
175
- children = (
176
- FF34150ABA37458FB48221FB /* icomoon.ttf */,
177
- E72FF36D2A984B10BA9C6F91 /* SourceSansPro-Regular.ttf */,
178
- );
179
- name = Resources;
180
- sourceTree = "<group>";
181
- path = "";
182
- };
183
168
  /* End PBXGroup section */
184
169
 
185
170
  /* Begin PBXNativeTarget section */
@@ -319,8 +304,6 @@
319
304
  65580BB3266EDD6300B310B6 /* HelloWorld.entitlements in Resources */,
320
305
  81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */,
321
306
  13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
322
- 49B7B61E43464F098E87335F /* icomoon.ttf in Resources */,
323
- 76624C45E19C435BACC727C7 /* SourceSansPro-Regular.ttf in Resources */,
324
307
  );
325
308
  runOnlyForDeploymentPostprocessing = 0;
326
309
  };
@@ -16,7 +16,7 @@
16
16
  * @format
17
17
  */
18
18
 
19
- const blacklist = require('metro-config/src/defaults/exclusionList');
19
+ const blacklist = require('metro-config/src/defaults/blacklist');
20
20
 
21
21
  // blacklist is a function that takes an array of regexes and combines
22
22
  // them with the default blacklist to return a single regex.
@@ -49,15 +49,13 @@
49
49
  },
50
50
  "dependencies": {
51
51
  "@apollo/client": "3.3.20",
52
- "@gorhom/bottom-sheet": "4.4.5",
53
- "@react-native-async-storage/async-storage": "1.17.11",
52
+ "@react-native-community/async-storage": "1.12.1",
54
53
  "@react-native-community/checkbox": "0.4.2",
55
54
  "@react-native-community/clipboard": "1.5.1",
56
55
  "@sentry/react": "6.5.1",
57
56
  "@sentry/react-native": "2.4.3",
58
57
  "@sentry/tracing": "6.2.1",
59
- "@supersami/rn-foreground-service": "^1.1.1",
60
- "agora-react-native-rtm": "1.5.1",
58
+ "agora-react-native-rtm": "1.5.0",
61
59
  "agora-rtc-sdk-ng": "4.14.0",
62
60
  "agora-rtm-sdk": "1.4.3-203",
63
61
  "electron-log": "4.3.5",
@@ -68,26 +66,19 @@
68
66
  "nanoevents": "7.0.1",
69
67
  "nanoid": "4.0.0",
70
68
  "nosleep.js": "0.12.0",
71
- "react": "17.0.1",
72
- "react-dom": "17.0.1",
69
+ "react": "16.13.1",
70
+ "react-dom": "16.13.1",
73
71
  "react-is": "18.0.0",
74
- "react-native": "0.64",
72
+ "react-native": "0.63.5",
75
73
  "react-native-agora": "3.7.1",
76
- "react-native-gesture-handler": "2.8.0",
77
74
  "react-native-hyperlink": "0.0.19",
78
75
  "react-native-inappbrowser-reborn": "3.5.1",
79
76
  "react-native-keep-awake": "4.0.0",
80
77
  "react-native-keyboard-manager": "6.5.4-1",
81
- "react-native-reanimated": "2.12.0",
82
78
  "react-native-responsive-fontsize": "0.5.1",
83
- "react-native-svg": "13.6.0",
84
- "react-native-vector-icons": "9.2.0",
85
- "react-native-walkthrough-tooltip": "1.4.0",
86
79
  "react-native-web": "0.14.13",
87
80
  "react-router-dom": "5.2.0",
88
- "react-router-native": "5.2.0",
89
- "react-spring-bottom-sheet": "3.4.1",
90
- "react-tooltip": "4.5.1"
81
+ "react-router-native": "5.2.0"
91
82
  },
92
83
  "devDependencies": {
93
84
  "@babel/core": "7.14.3",
@@ -116,7 +107,6 @@
116
107
  "babel-plugin-module-resolver": "4.1.0",
117
108
  "babel-plugin-transform-define": "2.0.1",
118
109
  "cross-env": "7.0.3",
119
- "css-loader": "6.7.2",
120
110
  "del": "5.1.0",
121
111
  "electron": "16.0.1",
122
112
  "electron-builder": "23.6.0",
@@ -134,8 +124,7 @@
134
124
  "prettier": "2.3.1",
135
125
  "react-devtools-electron": "4.7.0",
136
126
  "react-refresh": "0.12.0",
137
- "react-test-renderer": "17.0.1",
138
- "style-loader": "3.3.1",
127
+ "react-test-renderer": "16.13.1",
139
128
  "ts-loader": "^8.3.0",
140
129
  "typescript": "3.9.9",
141
130
  "webpack": "5.72.0",