agora-appbuilder-core 3.0.13 → 3.0.28-beta-9
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 +6 -0
- package/package.json +3 -3
- package/template/.bundle/config +2 -0
- package/template/Gemfile +4 -0
- package/template/Gulpfile.js +31 -30
- package/template/_eslintrc.js +3 -3
- package/template/_gitignore +12 -11
- package/template/_package-lock.json +34387 -27128
- package/template/_prettierrc.js +2 -2
- package/template/agora-rn-uikit/.eslintrc.js +5 -0
- package/template/agora-rn-uikit/package-lock.json +25024 -0
- package/template/agora-rn-uikit/package.json +14 -14
- package/template/agora-rn-uikit/src/AgoraUIKit.tsx +6 -6
- package/template/agora-rn-uikit/src/Contexts/ContentContext.tsx +10 -0
- package/template/agora-rn-uikit/src/Contexts/DispatchContext.tsx +22 -0
- package/template/agora-rn-uikit/src/Contexts/LocalUserContext.tsx +10 -6
- package/template/agora-rn-uikit/src/Contexts/PropsContext.tsx +98 -37
- package/template/agora-rn-uikit/src/Contexts/RtcContext.tsx +27 -16
- package/template/agora-rn-uikit/src/Controls/BtnTemplate.tsx +31 -26
- package/template/agora-rn-uikit/src/Controls/Icons.ts +81 -83
- package/template/agora-rn-uikit/src/Controls/ImageIcon.tsx +6 -6
- package/template/agora-rn-uikit/src/Controls/Local/EndCall.tsx +6 -4
- package/template/agora-rn-uikit/src/Controls/Local/FullScreen.tsx +3 -1
- package/template/agora-rn-uikit/src/Controls/Local/LocalAudioMute.tsx +5 -2
- package/template/agora-rn-uikit/src/Controls/Local/LocalVideoMute.tsx +5 -2
- package/template/agora-rn-uikit/src/Controls/Local/Recording.tsx +0 -2
- package/template/agora-rn-uikit/src/Controls/Local/SwitchCamera.tsx +7 -6
- package/template/agora-rn-uikit/src/Controls/LocalControls.tsx +5 -5
- package/template/agora-rn-uikit/src/Controls/Remote/RemoteAudioMute.tsx +5 -4
- package/template/agora-rn-uikit/src/Controls/Remote/RemoteSwap.tsx +3 -1
- package/template/agora-rn-uikit/src/Controls/Remote/RemoteVideoMute.tsx +5 -4
- package/template/agora-rn-uikit/src/Controls/RemoteControls.tsx +2 -2
- package/template/agora-rn-uikit/src/Reducer/ActiveSpeaker.ts +30 -0
- package/template/agora-rn-uikit/src/Reducer/LocalMuteAudio.ts +8 -6
- package/template/agora-rn-uikit/src/Reducer/LocalMuteVideo.ts +8 -6
- package/template/agora-rn-uikit/src/Reducer/LocalPermissionState.ts +23 -0
- package/template/agora-rn-uikit/src/Reducer/RemoteAudioStateChanged.ts +7 -7
- package/template/agora-rn-uikit/src/Reducer/RemoteVideoStateChanged.ts +9 -8
- package/template/agora-rn-uikit/src/Reducer/UpdateDualStreamMode.ts +7 -7
- package/template/agora-rn-uikit/src/Reducer/UserJoined.ts +24 -14
- package/template/agora-rn-uikit/src/Reducer/UserMuteRemoteAudio.ts +6 -6
- package/template/agora-rn-uikit/src/Reducer/UserMuteRemoteVideo.ts +6 -6
- package/template/agora-rn-uikit/src/Reducer/UserOffline.ts +14 -5
- package/template/agora-rn-uikit/src/Reducer/UserPin.ts +28 -0
- package/template/agora-rn-uikit/src/Reducer/UserSecondaryPin.ts +23 -0
- package/template/agora-rn-uikit/src/Reducer/index.ts +4 -0
- package/template/agora-rn-uikit/src/Rtc/Create.tsx +197 -66
- package/template/agora-rn-uikit/src/Rtc/Join.tsx +60 -33
- package/template/agora-rn-uikit/src/RtcConfigure.tsx +194 -57
- package/template/agora-rn-uikit/src/Utils/isBotUser.ts +15 -0
- package/template/agora-rn-uikit/src/Utils/quality.tsx +8 -0
- package/template/agora-rn-uikit/src/Views/MaxVideoView.native.tsx +67 -13
- package/template/agora-rn-uikit/src/Views/MaxVideoView.tsx +53 -17
- package/template/agora-rn-uikit/src/Views/MinVideoView.tsx +19 -11
- package/template/agora-rn-uikit/src/index.ts +19 -10
- package/template/android/app/build.gradle +67 -155
- package/template/android/app/src/debug/AndroidManifest.xml +6 -1
- package/template/android/app/src/debug/java/com/helloworld/ReactNativeFlipper.java +7 -4
- package/template/android/app/src/main/AndroidManifest.xml +21 -27
- package/template/android/app/src/main/assets/fonts/SourceSansPro-Regular.ttf +0 -0
- package/template/android/app/src/main/assets/fonts/icomoon.ttf +0 -0
- package/template/android/app/src/main/java/com/helloworld/MainActivity.java +67 -0
- package/template/android/app/src/main/java/com/helloworld/MainApplication.java +22 -36
- package/template/android/app/src/main/java/com/helloworld/SSLPinningFactory.java +30 -0
- package/template/android/app/src/main/res/values/colors.xml +7 -0
- package/template/android/app/src/main/res/values/strings.xml +3 -0
- package/template/android/app/src/release/java/com/helloworld/ReactNativeFlipper.java +20 -0
- package/template/android/build.gradle +20 -31
- package/template/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/template/android/gradle/wrapper/gradle-wrapper.properties +3 -2
- package/template/android/gradle.properties +18 -4
- package/template/android/gradlew +165 -104
- package/template/android/gradlew.bat +12 -23
- package/template/android/link-assets-manifest.json +13 -0
- package/template/android/settings.gradle +1 -0
- package/template/babel.config.js +1 -0
- package/template/bridge/rtc/webNg/RtcEngine.ts +940 -98
- package/template/bridge/rtc/webNg/{SurfaceView.tsx → RtcSurfaceView.tsx} +20 -27
- package/template/bridge/rtc/webNg/Types.ts +20 -5
- package/template/bridge/rtc/webNg/index.ts +81 -14
- package/template/bridge/rtm/web/index.ts +86 -35
- package/template/configTransform.js +16 -1
- package/template/customization-api/action-library.ts +4 -16
- package/template/customization-api/app-state.ts +18 -8
- package/template/customization-api/atoms.ts +8 -0
- package/template/customization-api/customEvents.ts +7 -2
- package/template/customization-api/customize.ts +30 -11
- package/template/customization-api/index.ts +5 -0
- package/template/customization-api/sub-components.ts +43 -18
- package/template/customization-api/temp.ts +51 -0
- package/template/customization-api/typeDefinition.ts +65 -49
- package/template/customization-api/types.ts +48 -0
- package/template/customization-api/utils.ts +19 -1
- package/template/customization-implementation/createHook.ts +24 -6
- package/template/customization-implementation/index.ts +1 -2
- package/template/customization-implementation/useCustomization.tsx +5 -7
- package/template/defaultConfig.js +84 -0
- package/template/electron/index.html +27 -27
- package/template/electron/renderer/index.js +1 -0
- package/template/global.d.ts +97 -6
- package/template/index.js +18 -1
- package/template/index.rsdk.tsx +1 -0
- package/template/index.web.js +1 -0
- package/template/index.wsdk.tsx +2 -13
- package/template/ios/.xcode.env +11 -0
- package/template/ios/HelloWorld/AppDelegate.h +2 -4
- package/template/ios/HelloWorld/AppDelegate.mm +64 -0
- package/template/ios/HelloWorld/HelloWorldDebug.entitlements +10 -0
- package/template/ios/HelloWorld/Info.plist +20 -1
- package/template/ios/HelloWorld/main.m +2 -1
- package/template/ios/HelloWorld.xcodeproj/project.pbxproj +596 -11
- package/template/ios/HelloWorld.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/template/ios/HelloWorld.xcodeproj/xcshareddata/xcschemes/ScreenSharing.xcscheme +95 -0
- package/template/ios/HelloWorld.xcworkspace/contents.xcworkspacedata +10 -0
- package/template/ios/HelloWorld.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/template/ios/HelloWorldTests/HelloWorldTests.m +14 -13
- package/template/ios/HelloWorldTests/Info.plist +2 -2
- package/template/ios/Podfile +54 -20
- package/template/ios/Podfile.lock +975 -0
- package/template/ios/ScreenSharing/Info.plist +15 -0
- package/template/ios/ScreenSharing/SampleHandler.h +5 -0
- package/template/ios/ScreenSharing/SampleHandler.m +39 -0
- package/template/ios/link-assets-manifest.json +13 -0
- package/template/jest.config.js +4 -0
- package/template/metro.config.js +7 -32
- package/template/package-lock.json +57746 -0
- package/template/package.json +71 -35
- package/template/react-native-toast-message/index.d.ts +46 -44
- package/template/react-native-toast-message/index.js +1 -0
- package/template/react-native-toast-message/package-lock.json +10553 -0
- package/template/react-native-toast-message/src/colors/index.js +3 -2
- package/template/react-native-toast-message/src/components/base/index.js +38 -63
- package/template/react-native-toast-message/src/components/base/styles.js +20 -39
- package/template/react-native-toast-message/src/components/checkbox.js +183 -0
- package/template/react-native-toast-message/src/components/error.js +3 -2
- package/template/react-native-toast-message/src/components/info.js +3 -2
- package/template/react-native-toast-message/src/components/success.js +3 -2
- package/template/react-native-toast-message/src/index.js +125 -32
- package/template/react-native-toast-message/src/index.sdk.tsx +129 -36
- package/template/react-native-toast-message/src/styles.js +3 -4
- package/template/react-native-toast-message/src/styles.sdk.ts +3 -4
- package/template/react-native.config.js +7 -0
- package/template/src/App.tsx +53 -63
- package/template/src/AppRoutes.tsx +101 -0
- package/template/src/AppWrapper.tsx +83 -29
- package/template/src/SDKAppWrapper.tsx +145 -58
- package/template/src/app-state/useBeautyEffects.ts +30 -0
- package/template/src/app-state/useLocalUserInfo.ts +3 -3
- package/template/src/app-state/useMessages.ts +49 -9
- package/template/src/app-state/useNoiseSupression.native.tsx +73 -0
- package/template/src/app-state/useNoiseSupression.tsx +151 -0
- package/template/src/app-state/useVideoQuality.tsx +182 -0
- package/template/src/app-state/useVirtualBackground.ts +152 -0
- package/template/src/assets/font-styles.css +677 -0
- package/template/src/assets/fonts/SourceSansPro-Regular.ttf +0 -0
- package/template/src/assets/fonts/icomoon.ttf +0 -0
- package/template/src/assets/permission.png +0 -0
- package/template/src/assets/selection.json +3491 -0
- package/template/src/atoms/ActionMenu.tsx +326 -0
- package/template/src/atoms/AnimatedActiveSpeaker.native.tsx +71 -0
- package/template/src/atoms/AnimatedActiveSpeaker.tsx +84 -0
- package/template/src/atoms/AnimatedRings.native.tsx +68 -0
- package/template/src/atoms/AnimatedRings.tsx +70 -0
- package/template/src/atoms/Avatar.tsx +51 -0
- package/template/src/atoms/Card.tsx +74 -0
- package/template/src/atoms/Carousel.native.tsx +105 -0
- package/template/src/atoms/Carousel.tsx +109 -0
- package/template/src/atoms/Checkbox.tsx +98 -0
- package/template/src/atoms/CircularProgress.native.tsx +121 -0
- package/template/src/atoms/CircularProgress.tsx +101 -0
- package/template/src/atoms/ClipboardIconButton.tsx +91 -0
- package/template/src/atoms/CustomIcon.tsx +153 -0
- package/template/src/atoms/CustomSwitch.tsx +287 -0
- package/template/src/atoms/DropDownMulti.tsx +349 -0
- package/template/src/atoms/Dropdown.tsx +307 -0
- package/template/src/atoms/HorizontalRule.tsx +3 -1
- package/template/src/atoms/IconButton.tsx +205 -0
- package/template/src/atoms/ImageIcon.tsx +127 -0
- package/template/src/atoms/InfoBubble.tsx +291 -0
- package/template/src/atoms/InlineNotification.tsx +81 -0
- package/template/src/atoms/InlinePopup.tsx +185 -0
- package/template/src/atoms/Input.tsx +87 -0
- package/template/src/atoms/InviteInfo.tsx +166 -0
- package/template/src/atoms/LinkButton.tsx +29 -0
- package/template/src/atoms/MeetingLink.tsx +160 -0
- package/template/src/atoms/OutlineButton.tsx +61 -0
- package/template/src/atoms/ParticipantsCount.tsx +78 -0
- package/template/src/atoms/Popup.tsx +178 -0
- package/template/src/atoms/PrimaryButton.tsx +65 -26
- package/template/src/atoms/RecordingInfo.tsx +47 -0
- package/template/src/atoms/SecondaryButton.tsx +10 -5
- package/template/src/atoms/Spacer.tsx +23 -0
- package/template/src/atoms/TertiaryButton.tsx +108 -0
- package/template/src/atoms/TextInput.tsx +13 -14
- package/template/src/atoms/Toggle.tsx +47 -0
- package/template/src/atoms/Toolbar.tsx +94 -0
- package/template/src/atoms/ToolbarItem.tsx +99 -0
- package/template/src/atoms/ToolbarMenu.tsx +40 -0
- package/template/src/atoms/ToolbarMenuItem.tsx +104 -0
- package/template/src/atoms/ToolbarPreset.tsx +147 -0
- package/template/src/atoms/Tooltip.native.tsx +65 -0
- package/template/src/atoms/Tooltip.tsx +111 -0
- package/template/src/atoms/UserAvatar.tsx +60 -0
- package/template/src/atoms/pagination/Pagination.tsx +127 -0
- package/template/src/atoms/pagination/usePagination.tsx +88 -0
- package/template/src/auth/AuthProvider.tsx +710 -0
- package/template/src/auth/AuthRoute.tsx +94 -0
- package/template/src/auth/IDPAuth.electron.tsx +32 -0
- package/template/src/auth/IDPAuth.tsx +73 -0
- package/template/src/auth/IDPLogoutComponent.tsx +158 -0
- package/template/src/auth/UserCancelPopup.tsx +115 -0
- package/template/src/auth/config.ts +53 -0
- package/template/src/auth/openIDPURL.electron.tsx +39 -0
- package/template/src/auth/openIDPURL.native.tsx +62 -0
- package/template/src/auth/openIDPURL.tsx +20 -0
- package/template/src/auth/useIDPAuth.electron.tsx +125 -0
- package/template/src/auth/useIDPAuth.native.tsx +130 -0
- package/template/src/auth/useIDPAuth.tsx +124 -0
- package/template/src/auth/useTokenAuth.tsx +267 -0
- package/template/src/components/Chat.tsx +177 -279
- package/template/src/components/ChatContext.ts +22 -1
- package/template/src/components/ColorConfigure.tsx +1 -2
- package/template/src/components/ColorContext.ts +1 -1
- package/template/src/components/CommonStyles.ts +51 -0
- package/template/src/components/Controls.tsx +1275 -108
- package/template/src/components/{Controls.native.tsx → Controls1.native.tsx} +15 -9
- package/template/src/components/CustomSidePanel.tsx +82 -0
- package/template/src/components/DeviceConfigure.native.tsx +2 -2
- package/template/src/components/DeviceConfigure.tsx +789 -122
- package/template/src/components/DeviceContext.tsx +10 -4
- package/template/src/components/EventsConfigure.tsx +773 -12
- package/template/src/components/GraphQLProvider.tsx +83 -37
- package/template/src/components/GridVideo.tsx +86 -53
- package/template/src/components/HostControlView.tsx +118 -42
- package/template/src/components/JoinPhrase.tsx +0 -1
- package/template/src/components/Leftbar.tsx +129 -0
- package/template/src/components/Navbar.tsx +469 -488
- package/template/src/components/NavbarMobile.tsx +138 -0
- package/template/src/components/Navigation.native.tsx +1 -14
- package/template/src/components/{Settings.native.tsx → Navigation.sdk.tsx} +17 -6
- package/template/src/components/NetworkQualityContext.tsx +32 -26
- package/template/src/components/ParticipantsView.tsx +195 -165
- package/template/src/components/PinnedVideo.tsx +317 -122
- package/template/src/components/Precall.native.tsx +472 -116
- package/template/src/components/Precall.tsx +493 -154
- package/template/src/components/RTMConfigure.tsx +477 -83
- package/template/src/components/Rightbar.tsx +129 -0
- package/template/src/components/Router.electron.ts +2 -0
- package/template/src/components/Router.native.ts +2 -0
- package/template/src/components/Router.sdk.ts +2 -0
- package/template/src/components/Router.ts +2 -0
- package/template/src/components/SdkApiContext.tsx +319 -0
- package/template/src/components/SdkMuteToggleListener.tsx +88 -0
- package/template/src/components/SessionContext.tsx +0 -1
- package/template/src/components/Settings.tsx +51 -114
- package/template/src/components/SettingsView.tsx +293 -54
- package/template/src/components/Share.tsx +415 -297
- package/template/src/components/StorageContext.tsx +82 -7
- package/template/src/components/ToastComponent.tsx +17 -0
- package/template/src/components/WhiteboardLayout.tsx +291 -0
- package/template/src/components/beauty-effect/useBeautyEffects.native.tsx +119 -0
- package/template/src/components/beauty-effect/useBeautyEffects.tsx +152 -0
- package/template/src/components/chat/chatConfigure.native.tsx +511 -0
- package/template/src/components/chat/chatConfigure.tsx +529 -0
- package/template/src/components/chat-messages/useChatMessages.tsx +513 -386
- package/template/src/components/chat-ui/useChatUIControls.tsx +132 -0
- package/template/src/components/common/Error.tsx +36 -6
- package/template/src/components/common/Logo.tsx +16 -15
- package/template/src/components/contexts/LiveStreamDataContext.tsx +23 -17
- package/template/src/components/contexts/ScreenShareContext.tsx +15 -1
- package/template/src/components/contexts/VideoMeetingDataContext.tsx +41 -11
- package/template/src/components/contexts/WaitingRoomContext.tsx +61 -0
- package/template/src/components/contexts/WhiteboardContext.tsx +54 -54
- package/template/src/components/disable-chat/useDisableChat.tsx +32 -0
- package/template/src/components/livestream/LiveStreamContext.tsx +493 -165
- package/template/src/components/livestream/Types.ts +58 -17
- package/template/src/components/livestream/index.ts +1 -0
- package/template/src/components/livestream/views/LiveStreamAttendeeLandingTile.tsx +295 -0
- package/template/src/components/livestream/views/LiveStreamControls.tsx +8 -4
- package/template/src/components/meeting-info-invite/MeetingInfo.tsx +82 -0
- package/template/src/components/meeting-info-invite/MeetingInfoCardHeader.tsx +86 -0
- package/template/src/components/meeting-info-invite/MeetingInfoGridTile.tsx +221 -0
- package/template/src/components/meeting-info-invite/MeetingInfoLinks.tsx +122 -0
- package/template/src/components/participants/AllAudienceParticipants.tsx +105 -35
- package/template/src/components/participants/AllHostParticipants.tsx +108 -38
- package/template/src/components/participants/Participant.tsx +330 -0
- package/template/src/components/participants/ParticipantName.tsx +13 -7
- package/template/src/components/participants/ParticipantSectionTitle.tsx +38 -10
- package/template/src/components/participants/ScreenshareParticipants.tsx +142 -12
- package/template/src/components/participants/UserActionMenuOptions.tsx +510 -0
- package/template/src/components/participants/WaitingRoomParticipants.tsx +74 -0
- package/template/src/components/popups/InvitePopup.tsx +196 -0
- package/template/src/components/popups/StartScreenSharePopup.native.tsx +182 -0
- package/template/src/components/popups/StartScreenSharePopup.tsx +6 -0
- package/template/src/components/popups/StopRecordingPopup.tsx +120 -0
- package/template/src/components/popups/StopScreenSharePopup.native.tsx +135 -0
- package/template/src/components/popups/StopScreenSharePopup.tsx +6 -0
- package/template/src/components/popups/WhiteboardClearAllPopup.tsx +123 -0
- package/template/src/components/precall/LocalMute.tsx +109 -15
- package/template/src/components/precall/{LocalMute.native.tsx → LocalMute1.native.tsx} +21 -5
- package/template/src/components/precall/PermissionHelper.native.tsx +5 -0
- package/template/src/components/precall/PermissionHelper.tsx +154 -0
- package/template/src/components/precall/PreCallSettings.tsx +53 -0
- package/template/src/components/precall/VideoFallback.tsx +173 -0
- package/template/src/components/precall/VideoPreview.native.tsx +19 -8
- package/template/src/components/precall/VideoPreview.tsx +28 -7
- package/template/src/components/precall/index.tsx +2 -0
- package/template/src/components/precall/joinCallBtn.native.tsx +12 -5
- package/template/src/components/precall/joinCallBtn.tsx +34 -6
- package/template/src/components/precall/joinWaitingRoomBtn.native.tsx +215 -0
- package/template/src/components/precall/joinWaitingRoomBtn.tsx +255 -0
- package/template/src/components/precall/meetingTitle.tsx +42 -13
- package/template/src/components/precall/selectDevice.tsx +5 -25
- package/template/src/components/precall/textInput.tsx +40 -14
- package/template/src/components/precall/usePreCall.tsx +66 -2
- package/template/src/components/recording-bot/RecordingBotRoute.tsx +48 -0
- package/template/src/components/recordings/RecordingsDateTable.tsx +62 -0
- package/template/src/components/recordings/RecordingsModal.tsx +135 -0
- package/template/src/components/recordings/ViewRecordingsModal.tsx +51 -0
- package/template/src/components/recordings/recording-table.tsx +250 -0
- package/template/src/components/recordings/style.ts +238 -0
- package/template/src/components/recordings/utils.ts +122 -0
- package/template/src/components/room-info/useRoomInfo.tsx +142 -0
- package/template/src/components/{meeting-info/useSetMeetingInfo.tsx → room-info/useSetRoomInfo.tsx} +12 -12
- package/template/src/components/styles.ts +42 -21
- package/template/src/components/useShareLink.tsx +33 -70
- package/template/src/{utils/useButtonTemplate.tsx → components/useToast.tsx} +18 -20
- package/template/src/components/useUserPreference.tsx +157 -16
- package/template/src/components/useVideoCall.tsx +157 -0
- package/template/src/components/useWakeLock.tsx +18 -4
- package/template/src/components/virtual-background/VBButton.tsx +62 -0
- package/template/src/components/virtual-background/VBCard.native.tsx +280 -0
- package/template/src/components/virtual-background/VBCard.tsx +308 -0
- package/template/src/components/virtual-background/VBPanel.tsx +282 -0
- package/template/src/components/virtual-background/VButils.native.ts +72 -0
- package/template/src/components/virtual-background/VButils.ts +144 -0
- package/template/src/components/virtual-background/VideoPreview.native.tsx +43 -0
- package/template/src/components/virtual-background/VideoPreview.tsx +116 -0
- package/template/src/components/virtual-background/imagePaths.ts +82 -0
- package/template/src/components/virtual-background/images/beachImageBase64.ts +1 -0
- package/template/src/components/virtual-background/images/bedroomImageBase64.ts +1 -0
- package/template/src/components/virtual-background/images/bookImageBase64.ts +1 -0
- package/template/src/components/virtual-background/images/earthImageBase64.ts +1 -0
- package/template/src/components/virtual-background/images/index.ts +37 -0
- package/template/src/components/virtual-background/images/lampImageBase64.ts +1 -0
- package/template/src/components/virtual-background/images/mountainsImageBase64.ts +1 -0
- package/template/src/components/virtual-background/images/office1ImageBase64.ts +1 -0
- package/template/src/components/virtual-background/images/officeImageBase64.ts +1 -0
- package/template/src/components/virtual-background/images/plantsImageBase64.ts +1 -0
- package/template/src/components/virtual-background/images/skyImageBase64.ts +1 -0
- package/template/src/components/virtual-background/images/wallImageBase64.ts +1 -0
- package/template/src/components/virtual-background/useVB.native.tsx +205 -0
- package/template/src/components/virtual-background/useVB.tsx +294 -0
- package/template/src/components/whiteboard/StrokeWidthTool.tsx +137 -0
- package/template/src/components/whiteboard/WhiteboardButton.tsx +93 -0
- package/template/src/components/whiteboard/WhiteboardCanvas.tsx +99 -0
- package/template/src/components/whiteboard/WhiteboardConfigure.native.tsx +148 -0
- package/template/src/components/whiteboard/WhiteboardConfigure.tsx +473 -0
- package/template/src/components/whiteboard/WhiteboardCursor.tsx +152 -0
- package/template/src/components/whiteboard/WhiteboardToolBox.tsx +1448 -0
- package/template/src/components/whiteboard/WhiteboardView.native.tsx +212 -0
- package/template/src/components/whiteboard/WhiteboardView.tsx +81 -0
- package/template/src/components/whiteboard/WhiteboardWidget.tsx +729 -0
- package/template/src/components/whiteboard/WhiteboardWrapper.tsx +38 -0
- package/template/src/language/default-labels/commonLabels.ts +51 -14
- package/template/src/language/default-labels/createScreenLabels.ts +97 -17
- package/template/src/language/default-labels/joinScreenLabels.ts +45 -6
- package/template/src/language/default-labels/precallScreenLabels.ts +158 -25
- package/template/src/language/default-labels/shareLinkScreenLabels.ts +85 -37
- package/template/src/language/default-labels/videoCallScreenLabels.ts +1290 -158
- package/template/src/language/i18nTypes.ts +1 -1
- package/template/src/language/useLanguage.tsx +10 -4
- package/template/src/logger/AppBuilderLogger.tsx +313 -0
- package/template/src/logger/constants.ts +18 -0
- package/template/src/logger/transports/agora-transport.native.ts +64 -0
- package/template/src/logger/transports/agora-transport.ts +36 -0
- package/template/src/logger/transports/customer-transport.ts +162 -0
- package/template/src/pages/Authenticate.tsx +5 -15
- package/template/src/pages/Create.tsx +394 -202
- package/template/src/pages/Endcall.tsx +153 -0
- package/template/src/pages/Join.tsx +188 -78
- package/template/src/pages/Login.tsx +26 -0
- package/template/src/pages/VideoCall.tsx +381 -130
- package/template/src/pages/video-call/ActionSheet.native.tsx +343 -0
- package/template/src/pages/video-call/ActionSheet.tsx +349 -0
- package/template/src/pages/video-call/ActionSheetContent.tsx +655 -0
- package/template/src/pages/video-call/ActionSheetHandle.tsx +54 -0
- package/template/src/pages/video-call/ActionSheetStyles.css +138 -0
- package/template/src/pages/video-call/DefaultLayouts.ts +32 -12
- package/template/src/pages/video-call/NameWithMicIcon.tsx +104 -51
- package/template/src/pages/video-call/PinchableView.tsx +119 -0
- package/template/src/pages/video-call/RenderComponent.tsx +16 -31
- package/template/src/pages/video-call/SidePanelHeader.tsx +424 -0
- package/template/src/pages/video-call/VideoCallMobileView.tsx +299 -0
- package/template/src/pages/video-call/VideoCallScreen.native.tsx +38 -0
- package/template/src/pages/video-call/VideoCallScreen.tsx +379 -74
- package/template/src/pages/video-call/VideoCallScreenWrapper.tsx +51 -0
- package/template/src/pages/video-call/VideoComponent.tsx +81 -6
- package/template/src/pages/video-call/VideoRenderer.tsx +525 -63
- package/template/src/pages/video-call/VisibilitySensor.tsx +104 -0
- package/template/src/pages/video-call/ZoomableWrapper.native.tsx +34 -0
- package/template/src/pages/video-call/ZoomableWrapper.tsx +5 -0
- package/template/src/pages/video-call/index.ts +51 -7
- package/template/src/rtm/RTMEngine.ts +22 -4
- package/template/src/rtm-events/constants.ts +26 -9
- package/template/src/rtm-events-api/Events.ts +114 -23
- package/template/src/rtm-events-api/LocalEvents.ts +15 -0
- package/template/src/rtm-events-api/types.ts +10 -5
- package/template/src/selection.json +1 -0
- package/template/src/subComponents/BlockUI.tsx +70 -0
- package/template/src/subComponents/ChatBubble.tsx +413 -96
- package/template/src/subComponents/ChatContainer.tsx +305 -101
- package/template/src/subComponents/ChatInput.native.tsx +269 -0
- package/template/src/subComponents/ChatInput.tsx +308 -156
- package/template/src/subComponents/Checkbox.native.tsx +46 -35
- package/template/src/subComponents/Checkbox.tsx +9 -8
- package/template/src/subComponents/CopyJoinInfo.tsx +52 -62
- package/template/src/subComponents/EndcallPopup.tsx +182 -0
- package/template/src/subComponents/FallbackLogo.tsx +122 -40
- package/template/src/subComponents/LanguageSelector.tsx +35 -31
- package/template/src/subComponents/LayoutIconButton.tsx +210 -0
- package/template/src/subComponents/LayoutIconDropdown.tsx +149 -133
- package/template/src/subComponents/{LayoutIconDropdown.native.tsx → LayoutIconDropdown1.native.tsx} +4 -18
- package/template/src/subComponents/Loading.tsx +60 -0
- package/template/src/subComponents/LocalAudioMute.tsx +181 -30
- package/template/src/subComponents/LocalEndCall.tsx +118 -36
- package/template/src/subComponents/LocalSwitchCamera.tsx +72 -40
- package/template/src/subComponents/LocalVideoMute.tsx +177 -30
- package/template/src/subComponents/Logo.tsx +3 -4
- package/template/src/subComponents/LogoutButton.tsx +2 -2
- package/template/src/subComponents/NetworkQualityPill.tsx +65 -84
- package/template/src/subComponents/OpenInNativeButton.tsx +3 -3
- package/template/src/subComponents/Recording.tsx +44 -31
- package/template/src/subComponents/RemoteAudioMute.tsx +83 -29
- package/template/src/subComponents/RemoteEndCall.tsx +8 -5
- package/template/src/subComponents/RemoteMutePopup.tsx +115 -0
- package/template/src/subComponents/RemoteVideoMute.tsx +74 -21
- package/template/src/subComponents/RemoveMeetingPopup.tsx +122 -0
- package/template/src/subComponents/RemoveScreensharePopup.tsx +124 -0
- package/template/src/subComponents/ScreenShareNotice.tsx +95 -12
- package/template/src/subComponents/SelectDevice.tsx +548 -66
- package/template/src/subComponents/SelectDeviceSettings.backup.tsx +210 -0
- package/template/src/subComponents/SelectOAuth.tsx +9 -8
- package/template/src/subComponents/SidePanelButtons.ts +0 -3
- package/template/src/subComponents/SidePanelEnum.tsx +6 -4
- package/template/src/subComponents/SidePanelHeader.tsx +146 -0
- package/template/src/subComponents/ToastConfig.tsx +160 -11
- package/template/src/subComponents/caption/Caption.tsx +132 -0
- package/template/src/subComponents/caption/CaptionContainer.tsx +331 -0
- package/template/src/subComponents/caption/CaptionIcon.tsx +115 -0
- package/template/src/subComponents/caption/CaptionText.tsx +182 -0
- package/template/src/subComponents/caption/DownloadTranscriptBtn.tsx +65 -0
- package/template/src/subComponents/caption/LanguageSelectorPopup.tsx +192 -0
- package/template/src/subComponents/caption/Transcript.tsx +452 -0
- package/template/src/subComponents/caption/TranscriptIcon.tsx +126 -0
- package/template/src/subComponents/caption/TranscriptText.tsx +98 -0
- package/template/src/subComponents/caption/index.ts +3 -0
- package/template/src/subComponents/caption/proto/ptoto.js +91 -0
- package/template/src/subComponents/caption/proto/test.proto +23 -0
- package/template/src/subComponents/caption/useCaption.tsx +123 -0
- package/template/src/subComponents/caption/useCaptionWidth.ts +27 -0
- package/template/src/subComponents/caption/useSTTAPI.tsx +275 -0
- package/template/src/subComponents/caption/useStreamMessageUtils.native.ts +211 -0
- package/template/src/subComponents/caption/useStreamMessageUtils.ts +235 -0
- package/template/src/subComponents/caption/useTranscriptDownload.native.ts +93 -0
- package/template/src/subComponents/caption/useTranscriptDownload.ts +62 -0
- package/template/src/subComponents/caption/utils.ts +126 -0
- package/template/src/subComponents/chat/ChatActionMenu.tsx +224 -0
- package/template/src/subComponents/chat/ChatAttachment.native.tsx +237 -0
- package/template/src/subComponents/chat/ChatAttachment.tsx +205 -0
- package/template/src/subComponents/chat/ChatEmoji.native.tsx +75 -0
- package/template/src/subComponents/chat/ChatEmoji.tsx +182 -0
- package/template/src/subComponents/chat/ChatParticipants.tsx +232 -81
- package/template/src/subComponents/chat/ChatSendButton.tsx +209 -0
- package/template/src/subComponents/chat/ChatUploadStatus.tsx +84 -0
- package/template/src/subComponents/chat/ImagePopup.tsx +400 -0
- package/template/src/subComponents/livestream/ApprovedLiveStreamControlsView.tsx +2 -2
- package/template/src/subComponents/livestream/CurrentLiveStreamRequestsView.tsx +109 -47
- package/template/src/subComponents/livestream/controls/LocalRaiseHand.tsx +61 -45
- package/template/src/subComponents/livestream/controls/RemoteLiveStreamApprovedRequestRecall.tsx +9 -8
- package/template/src/subComponents/livestream/controls/RemoteLiveStreamRequestApprove.tsx +29 -12
- package/template/src/subComponents/livestream/controls/RemoteLiveStreamRequestReject.tsx +33 -17
- package/template/src/subComponents/recording/useIsRecordingBot.tsx +76 -0
- package/template/src/subComponents/recording/useRecording.tsx +761 -108
- package/template/src/subComponents/recording/useRecordingLayoutQuery.tsx +93 -9
- package/template/src/subComponents/screenshare/ScreenshareButton.tsx +82 -75
- package/template/src/subComponents/screenshare/ScreenshareConfigure.native.tsx +494 -78
- package/template/src/subComponents/screenshare/ScreenshareConfigure.tsx +247 -110
- package/template/src/subComponents/screenshare/useScreenshare.tsx +6 -4
- package/template/src/subComponents/waiting-rooms/WaitingRoomControls.tsx +85 -0
- package/template/src/subComponents/waiting-rooms/useWaitingRoomAPI.ts +126 -0
- package/template/src/theme/index.ts +59 -0
- package/template/src/utils/PlatformWrapper.tsx +21 -0
- package/template/src/utils/SdkEvents.ts +37 -14
- package/template/src/utils/SdkMethodEvents.ts +105 -0
- package/template/src/utils/axiomLogger.ts +122 -0
- package/template/src/utils/book.jpg +0 -0
- package/template/src/utils/common.tsx +350 -7
- package/template/src/utils/constants.ts +4 -0
- package/template/src/utils/fetch-retry.ts +23 -0
- package/template/src/utils/getCustomRoute.ts +7 -0
- package/template/src/utils/hexadecimalTransparency.ts +108 -0
- package/template/src/utils/index.tsx +83 -0
- package/template/src/utils/isMobileOrTablet.ts +7 -2
- package/template/src/utils/pendingStateUpdateHelper.ts +19 -0
- package/template/src/utils/useActionSheet.tsx +50 -0
- package/template/src/utils/useActiveSpeaker.ts +38 -0
- package/template/src/utils/useAppState.ts +17 -0
- package/template/src/utils/useAsyncEffect.ts +138 -0
- package/template/src/utils/useCreateRoom.ts +152 -0
- package/template/src/utils/useEndCall.ts +74 -0
- package/template/src/utils/useFindActiveSpeaker.native.ts +4 -0
- package/template/src/utils/useFindActiveSpeaker.ts +373 -0
- package/template/src/utils/useFocus.tsx +51 -0
- package/template/src/utils/useFullScreen.native.ts +12 -0
- package/template/src/utils/useFullScreen.ts +161 -0
- package/template/src/utils/useGetMeetingPhrase.ts +61 -10
- package/template/src/utils/useIsAudioEnabled.ts +3 -3
- package/template/src/utils/useIsHandRaised.ts +13 -0
- package/template/src/utils/useIsLocalUserSpeaking.native.ts +4 -0
- package/template/src/utils/useIsLocalUserSpeaking.ts +119 -0
- package/template/src/utils/useIsPSTN.ts +3 -3
- package/template/src/utils/useIsVideoEnabled.ts +3 -3
- package/template/src/utils/useJoinRoom.ts +304 -0
- package/template/src/utils/useLayout.tsx +9 -3
- package/template/src/utils/useLocalAudio.ts +69 -0
- package/template/src/utils/useLocalVideo.ts +69 -0
- package/template/src/{subComponents/screenshare/ScreenshareButton.native.tsx → utils/useMenu.tsx} +16 -3
- package/template/src/utils/useModal.tsx +8 -0
- package/template/src/utils/useMutePSTN.ts +45 -2
- package/template/src/utils/useMuteToggleLocal.ts +125 -49
- package/template/src/utils/useOrientation.native.tsx +3 -0
- package/template/src/utils/useOrientation.tsx +59 -0
- package/template/src/utils/useRemoteEndCall.ts +4 -4
- package/template/src/utils/useRemoteEndScreenshare.ts +26 -0
- package/template/src/utils/useRemoteMute.ts +7 -7
- package/template/src/utils/useRemoteRequest.ts +84 -0
- package/template/src/utils/useSearchParams.tsx +28 -0
- package/template/src/utils/useSidePanel.tsx +16 -5
- package/template/src/utils/useSpeechToText.ts +102 -0
- package/template/src/utils/useString.ts +19 -7
- package/template/src/utils/useSwitchCamera.native.tsx +25 -0
- package/template/src/utils/useSwitchCamera.tsx +19 -0
- package/template/src/utils/useToolbar.tsx +59 -0
- package/template/src/wasms/agora-virtual-background.wasm +0 -0
- package/template/static.d.ts +42 -0
- package/template/tsconfig_rsdk_index.json +3 -3
- package/template/tsconfig_wsdk_index.json +3 -3
- package/template/web/index.html +45 -17
- package/template/webpack.commons.js +16 -0
- package/template/webpack.rsdk.config.js +1 -2
- package/template/webpack.web.config.js +8 -3
- package/template/_buckconfig +0 -6
- package/template/_gitattributes +0 -1
- package/template/agora-rn-uikit/src/Contexts/RenderContext.tsx +0 -10
- package/template/android/app/_BUCK +0 -55
- package/template/android/app/build_defs.bzl +0 -19
- package/template/bridge/rtc/webNg/LocalView.tsx +0 -20
- package/template/ios/HelloWorld/AppDelegate.m +0 -74
- package/template/src/assets/icons.ts +0 -102
- package/template/src/components/OAuth.electron.tsx +0 -40
- package/template/src/components/OAuth.native.tsx +0 -53
- package/template/src/components/OAuth.tsx +0 -29
- package/template/src/components/OAuthConfig.ts +0 -77
- package/template/src/components/StoreToken.tsx +0 -38
- package/template/src/components/chat-ui/useChatUIControl.tsx +0 -69
- package/template/src/components/meeting-info/useMeetingInfo.tsx +0 -70
- package/template/src/components/participants/MeParticipant.tsx +0 -38
- package/template/src/components/participants/RemoteParticipants.tsx +0 -71
- package/template/src/pages/video-call/CustomUserContextHolder.tsx +0 -20
- package/template/src/utils/useCreateMeeting.ts +0 -88
- package/template/src/utils/useJoinMeeting.ts +0 -132
|
@@ -13,57 +13,50 @@
|
|
|
13
13
|
import {ILocalVideoTrack, IRemoteVideoTrack} from 'agora-rtc-sdk-ng';
|
|
14
14
|
import React, {useEffect} from 'react';
|
|
15
15
|
import {StyleProp, StyleSheet, ViewProps, ViewStyle} from 'react-native';
|
|
16
|
-
import {
|
|
16
|
+
import {RenderModeType} from './Types';
|
|
17
|
+
import {LogSource, logger} from '../../../src/logger/AppBuilderLogger';
|
|
17
18
|
|
|
18
19
|
export interface RtcSurfaceViewProps extends ViewProps {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
mirrorMode?: any;
|
|
24
|
-
}
|
|
25
|
-
export interface RtcUidProps {
|
|
26
|
-
uid: number;
|
|
20
|
+
canvas: {
|
|
21
|
+
renderMode?: RenderModeType;
|
|
22
|
+
uid?: number;
|
|
23
|
+
};
|
|
27
24
|
}
|
|
25
|
+
|
|
28
26
|
export interface StyleProps {
|
|
29
27
|
style?: StyleProp<ViewStyle>;
|
|
30
28
|
}
|
|
31
29
|
|
|
32
|
-
interface SurfaceViewInterface
|
|
33
|
-
extends RtcSurfaceViewProps,
|
|
34
|
-
RtcUidProps,
|
|
35
|
-
StyleProps {}
|
|
36
|
-
|
|
37
|
-
const SurfaceView = (props: SurfaceViewInterface) => {
|
|
38
|
-
// console.log('Surface View props', props);
|
|
30
|
+
interface SurfaceViewInterface extends RtcSurfaceViewProps, StyleProps {}
|
|
39
31
|
|
|
32
|
+
const RtcSurfaceView = (props: SurfaceViewInterface) => {
|
|
33
|
+
const {uid, renderMode} = props.canvas;
|
|
40
34
|
const stream: ILocalVideoTrack | IRemoteVideoTrack =
|
|
41
|
-
|
|
35
|
+
uid === 0
|
|
42
36
|
? window.engine.localStream.video
|
|
43
|
-
:
|
|
37
|
+
: uid === 1
|
|
44
38
|
? window.engine.screenStream.video
|
|
45
|
-
: window.engine.remoteStreams.get(
|
|
46
|
-
// console.log(props, window.engine, stream);
|
|
39
|
+
: window.engine.remoteStreams.get(uid)?.video;
|
|
47
40
|
useEffect(
|
|
48
41
|
function () {
|
|
49
42
|
if (stream?.play) {
|
|
50
|
-
if (
|
|
51
|
-
stream.play(String(
|
|
43
|
+
if (renderMode === RenderModeType.RenderModeFit) {
|
|
44
|
+
stream.play(String(uid), {fit: 'contain'});
|
|
52
45
|
} else {
|
|
53
|
-
stream.play(String(
|
|
46
|
+
stream.play(String(uid));
|
|
54
47
|
}
|
|
55
48
|
}
|
|
56
49
|
return () => {
|
|
57
|
-
console.log(`unmounting stream ${
|
|
50
|
+
console.log(`unmounting stream ${uid}`, stream);
|
|
58
51
|
stream && stream.stop();
|
|
59
52
|
};
|
|
60
53
|
},
|
|
61
|
-
[
|
|
54
|
+
[uid, renderMode, stream],
|
|
62
55
|
);
|
|
63
56
|
|
|
64
57
|
return stream ? (
|
|
65
58
|
<div
|
|
66
|
-
id={String(
|
|
59
|
+
id={String(uid)}
|
|
67
60
|
className={'video-container'}
|
|
68
61
|
style={{...style.full, ...(props.style as Object), overflow: 'hidden'}}
|
|
69
62
|
/>
|
|
@@ -78,4 +71,4 @@ const style = StyleSheet.create({
|
|
|
78
71
|
},
|
|
79
72
|
});
|
|
80
73
|
|
|
81
|
-
export default
|
|
74
|
+
export default RtcSurfaceView;
|
|
@@ -9,11 +9,26 @@
|
|
|
9
9
|
information visit https://appbuilder.agora.io.
|
|
10
10
|
*********************************************
|
|
11
11
|
*/
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
Adaptive,
|
|
12
|
+
|
|
13
|
+
export interface RtcEngineContext {
|
|
14
|
+
appId?: string;
|
|
16
15
|
}
|
|
16
|
+
|
|
17
|
+
export enum RenderModeType {
|
|
18
|
+
/**
|
|
19
|
+
* 1: Hidden mode. Uniformly scale the video until one of its dimension fits the boundary (zoomed to fit). One dimension of the video may have clipped contents.
|
|
20
|
+
*/
|
|
21
|
+
RenderModeHidden = 1,
|
|
22
|
+
/**
|
|
23
|
+
* 2: Fit mode. Uniformly scale the video until one of its dimension fits the boundary (zoomed to fit). Areas that are not filled due to disparity in the aspect ratio are filled with black.
|
|
24
|
+
*/
|
|
25
|
+
RenderModeFit = 2,
|
|
26
|
+
/**
|
|
27
|
+
* @ignore
|
|
28
|
+
*/
|
|
29
|
+
RenderModeAdaptive = 3,
|
|
30
|
+
}
|
|
31
|
+
|
|
17
32
|
export enum VideoMirrorMode {
|
|
18
33
|
/**
|
|
19
34
|
* 0: (Default) The SDK determines the mirror mode.
|
|
@@ -26,7 +41,7 @@ export enum VideoMirrorMode {
|
|
|
26
41
|
/**
|
|
27
42
|
* 2: Disables mirror mode.
|
|
28
43
|
*/
|
|
29
|
-
Disabled = 2
|
|
44
|
+
Disabled = 2,
|
|
30
45
|
}
|
|
31
46
|
/**
|
|
32
47
|
*
|
|
@@ -10,23 +10,90 @@
|
|
|
10
10
|
*********************************************
|
|
11
11
|
*/
|
|
12
12
|
import RtcEngine from './RtcEngine';
|
|
13
|
-
|
|
14
|
-
import LocalView from './LocalView';
|
|
15
|
-
import * as Types from './Types';
|
|
13
|
+
export {default as RtcSurfaceView} from './RtcSurfaceView';
|
|
16
14
|
|
|
17
|
-
|
|
18
|
-
SurfaceView: LocalView,
|
|
19
|
-
TextureView: LocalView,
|
|
20
|
-
};
|
|
15
|
+
import * as Types from './Types';
|
|
21
16
|
|
|
22
|
-
export const
|
|
23
|
-
|
|
24
|
-
TextureView: SurfaceView as any,
|
|
25
|
-
};
|
|
17
|
+
export const VideoMirrorMode = {...Types.RenderModeType};
|
|
18
|
+
export const RenderModeType = {...Types.RenderModeType};
|
|
26
19
|
|
|
27
|
-
export
|
|
28
|
-
|
|
20
|
+
export function createAgoraRtcEngine() {
|
|
21
|
+
let engine = new RtcEngine();
|
|
22
|
+
window.engine = engine;
|
|
23
|
+
return engine;
|
|
24
|
+
}
|
|
29
25
|
|
|
30
26
|
export {RnEncryptionEnum as EncryptionMode} from './RtcEngine';
|
|
31
|
-
export {AREAS as AreaCode} from './RtcEngine'
|
|
27
|
+
export {AREAS as AreaCode} from './RtcEngine';
|
|
28
|
+
export type VideoEncoderConfiguration = any;
|
|
29
|
+
export declare enum AudioScenario {
|
|
30
|
+
/**
|
|
31
|
+
* 0: Default audio scenario.
|
|
32
|
+
*
|
|
33
|
+
* **Note**
|
|
34
|
+
* If you run the iOS app on an M1 Mac, due to the hardware differences between M1 Macs, iPhones, and iPads,
|
|
35
|
+
* the default audio scenario of the Agora iOS SDK is the same as that of the Agora macOS SDK.
|
|
36
|
+
*/
|
|
37
|
+
Default = 0,
|
|
38
|
+
/**
|
|
39
|
+
* 1: Entertainment scenario where users need to frequently switch the user role.
|
|
40
|
+
*/
|
|
41
|
+
ChatRoomEntertainment = 1,
|
|
42
|
+
/**
|
|
43
|
+
* 2: Education scenario where users want smoothness and stability.
|
|
44
|
+
*/
|
|
45
|
+
Education = 2,
|
|
46
|
+
/**
|
|
47
|
+
* 3: High-quality audio chatroom scenario where hosts mainly play music.
|
|
48
|
+
*/
|
|
49
|
+
GameStreaming = 3,
|
|
50
|
+
/**
|
|
51
|
+
* 4: Showroom scenario where a single host wants high-quality audio.
|
|
52
|
+
*/
|
|
53
|
+
ShowRoom = 4,
|
|
54
|
+
/**
|
|
55
|
+
* 5: Gaming scenario for group chat that only contains the human voice.
|
|
56
|
+
*/
|
|
57
|
+
ChatRoomGaming = 5,
|
|
58
|
+
/**
|
|
59
|
+
* IoT (Internet of Things) scenario where users use IoT devices with low power consumption.
|
|
60
|
+
*
|
|
61
|
+
* @since v3.2.0.
|
|
62
|
+
*/
|
|
63
|
+
IOT = 6,
|
|
64
|
+
/**
|
|
65
|
+
* Meeting scenario that mainly contains the human voice.
|
|
66
|
+
*
|
|
67
|
+
* @since v3.2.0.
|
|
68
|
+
*/
|
|
69
|
+
MEETING = 8,
|
|
70
|
+
}
|
|
71
|
+
export declare enum AudioProfile {
|
|
72
|
+
/**
|
|
73
|
+
* 0: Default audio profile.
|
|
74
|
+
* - In the `Communication` profile: A sample rate of 32 KHz, audio encoding, mono, and a bitrate of up to 18 Kbps.
|
|
75
|
+
* - In the `LiveBroadcasting` profile: A sample rate of 48 KHz, music encoding, mono, and a bitrate of up to 64 Kbps.
|
|
76
|
+
*/
|
|
77
|
+
Default = 0,
|
|
78
|
+
/**
|
|
79
|
+
* 1: A sample rate of 32 KHz, audio encoding, mono, and a bitrate of up to 18 Kbps.
|
|
80
|
+
*/
|
|
81
|
+
SpeechStandard = 1,
|
|
82
|
+
/**
|
|
83
|
+
* 2: A sample rate of 48 KHz, music encoding, mono, and a bitrate of up to 64 Kbps.
|
|
84
|
+
*/
|
|
85
|
+
MusicStandard = 2,
|
|
86
|
+
/**
|
|
87
|
+
* 3: A sample rate of 48 KHz, music encoding, stereo, and a bitrate of up to 80 Kbps.
|
|
88
|
+
*/
|
|
89
|
+
MusicStandardStereo = 3,
|
|
90
|
+
/**
|
|
91
|
+
* 4: A sample rate of 48 KHz, music encoding, mono, and a bitrate of up to 96 Kbps.
|
|
92
|
+
*/
|
|
93
|
+
MusicHighQuality = 4,
|
|
94
|
+
/**
|
|
95
|
+
* 5: A sample rate of 48 KHz, music encoding, stereo, and a bitrate of up to 128 Kbps.
|
|
96
|
+
*/
|
|
97
|
+
MusicHighQualityStereo = 5,
|
|
98
|
+
}
|
|
32
99
|
export default RtcEngine;
|
|
@@ -18,17 +18,18 @@ import {
|
|
|
18
18
|
} from 'agora-react-native-rtm/lib/typescript/src';
|
|
19
19
|
import {RtmClientEvents} from 'agora-react-native-rtm/lib/typescript/src/RtmEngine';
|
|
20
20
|
import AgoraRTM, {VERSION} from 'agora-rtm-sdk';
|
|
21
|
+
import RtmClient from 'agora-react-native-rtm';
|
|
22
|
+
import {LogSource, logger} from '../../../src/logger/AppBuilderLogger';
|
|
21
23
|
// export {RtmAttribute}
|
|
22
24
|
//
|
|
23
|
-
interface RtmAttributePlaceholder {
|
|
24
|
-
};
|
|
25
|
+
interface RtmAttributePlaceholder {}
|
|
25
26
|
export {RtmAttributePlaceholder as RtmAttribute};
|
|
26
27
|
|
|
27
28
|
type callbackType = (args?: any) => void;
|
|
28
29
|
|
|
29
30
|
export default class RtmEngine {
|
|
30
31
|
public appId: string;
|
|
31
|
-
public client:
|
|
32
|
+
public client: RtmClient;
|
|
32
33
|
public channelMap = new Map<string, any>([]);
|
|
33
34
|
public remoteInvititations = new Map<string, any>([]);
|
|
34
35
|
public localInvititations = new Map<string, any>([]);
|
|
@@ -36,7 +37,7 @@ export default class RtmEngine {
|
|
|
36
37
|
['channelMessageReceived', () => null],
|
|
37
38
|
['channelMemberJoined', () => null],
|
|
38
39
|
['channelMemberLeft', () => null],
|
|
39
|
-
['
|
|
40
|
+
['channelAttributesUpdated', () => null],
|
|
40
41
|
]);
|
|
41
42
|
public clientEventsMap = new Map<string, any>([
|
|
42
43
|
['connectionStateChanged', () => null],
|
|
@@ -59,7 +60,7 @@ export default class RtmEngine {
|
|
|
59
60
|
]);
|
|
60
61
|
constructor() {
|
|
61
62
|
this.appId = '';
|
|
62
|
-
|
|
63
|
+
logger.debug(LogSource.AgoraSDK, 'Log', 'Using RTM Bridge');
|
|
63
64
|
}
|
|
64
65
|
|
|
65
66
|
on(event: any, listener: any) {
|
|
@@ -67,7 +68,7 @@ export default class RtmEngine {
|
|
|
67
68
|
event === 'channelMessageReceived' ||
|
|
68
69
|
event === 'channelMemberJoined' ||
|
|
69
70
|
event === 'channelMemberLeft' ||
|
|
70
|
-
event === '
|
|
71
|
+
event === 'channelAttributesUpdated'
|
|
71
72
|
) {
|
|
72
73
|
this.channelEventsMap.set(event, listener);
|
|
73
74
|
} else if (
|
|
@@ -99,6 +100,38 @@ export default class RtmEngine {
|
|
|
99
100
|
this.appId = APP_ID;
|
|
100
101
|
this.client = AgoraRTM.createInstance(this.appId);
|
|
101
102
|
|
|
103
|
+
if ($config.GEO_FENCING) {
|
|
104
|
+
try {
|
|
105
|
+
//include area is comma seperated value
|
|
106
|
+
let includeArea = $config.GEO_FENCING_INCLUDE_AREA
|
|
107
|
+
? $config.GEO_FENCING_INCLUDE_AREA
|
|
108
|
+
: AREAS.GLOBAL;
|
|
109
|
+
|
|
110
|
+
//exclude area is single value
|
|
111
|
+
let excludeArea = $config.GEO_FENCING_EXCLUDE_AREA
|
|
112
|
+
? $config.GEO_FENCING_EXCLUDE_AREA
|
|
113
|
+
: '';
|
|
114
|
+
|
|
115
|
+
includeArea = includeArea?.split(',');
|
|
116
|
+
|
|
117
|
+
//pass excludedArea if only its provided
|
|
118
|
+
if (excludeArea) {
|
|
119
|
+
AgoraRTM.setArea({
|
|
120
|
+
areaCodes: includeArea,
|
|
121
|
+
excludedArea: excludeArea,
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
//otherwise we can pass area directly
|
|
125
|
+
else {
|
|
126
|
+
AgoraRTM.setArea({areaCodes: includeArea});
|
|
127
|
+
}
|
|
128
|
+
} catch (setAeraError) {
|
|
129
|
+
console.log('error on RTM setArea', setAeraError);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
window.rtmClient = this.client;
|
|
134
|
+
|
|
102
135
|
this.client.on('ConnectionStateChanged', (state, reason) => {
|
|
103
136
|
this.clientEventsMap.get('connectionStateChanged')({state, reason});
|
|
104
137
|
});
|
|
@@ -174,7 +207,7 @@ export default class RtmEngine {
|
|
|
174
207
|
}
|
|
175
208
|
|
|
176
209
|
async logout(): Promise<any> {
|
|
177
|
-
return this.client.logout();
|
|
210
|
+
return await this.client.logout();
|
|
178
211
|
}
|
|
179
212
|
|
|
180
213
|
async joinChannel(channelId: string): Promise<any> {
|
|
@@ -202,16 +235,27 @@ export default class RtmEngine {
|
|
|
202
235
|
.get(channelId)
|
|
203
236
|
.on('AttributesUpdated', (attributes: RtmChannelAttribute) => {
|
|
204
237
|
/**
|
|
205
|
-
* a)
|
|
206
|
-
* b) To be used in future implementations of channel attributes
|
|
207
|
-
* c) Kindly note the below event listener 'ChannelAttributesUpdated' expects type
|
|
238
|
+
* a) Kindly note the below event listener 'channelAttributesUpdated' expects type
|
|
208
239
|
* RtmChannelAttribute[] (array of objects [{key: 'valueOfKey', value: 'valueOfValue}])
|
|
209
240
|
* whereas the above listener 'AttributesUpdated' receives attributes in object form
|
|
210
241
|
* {[valueOfKey]: valueOfValue} of type RtmChannelAttribute
|
|
211
|
-
*
|
|
242
|
+
* b) Hence in this bridge the data should be modified to keep in sync with both the
|
|
212
243
|
* listeners for web and listener for native
|
|
213
244
|
*/
|
|
214
|
-
|
|
245
|
+
/**
|
|
246
|
+
* 1. Loop through object
|
|
247
|
+
* 2. Create a object {key: "", value: ""} and push into array
|
|
248
|
+
* 3. Return the Array
|
|
249
|
+
*/
|
|
250
|
+
const channelAttributes = Object.keys(attributes).reduce((acc, key) => {
|
|
251
|
+
const {value, lastUpdateTs, lastUpdateUserId} = attributes[key];
|
|
252
|
+
acc.push({key, value, lastUpdateTs, lastUpdateUserId});
|
|
253
|
+
return acc;
|
|
254
|
+
}, []);
|
|
255
|
+
|
|
256
|
+
this.channelEventsMap.get('channelAttributesUpdated')(
|
|
257
|
+
channelAttributes,
|
|
258
|
+
);
|
|
215
259
|
});
|
|
216
260
|
|
|
217
261
|
return this.channelMap.get(channelId).join();
|
|
@@ -266,8 +310,8 @@ export default class RtmEngine {
|
|
|
266
310
|
|
|
267
311
|
async queryPeersOnlineStatus(uid: Array<String>) {
|
|
268
312
|
let peerArray: Array<any> = [];
|
|
269
|
-
await this.client.queryPeersOnlineStatus(uid).then(
|
|
270
|
-
Object.entries(list).forEach(
|
|
313
|
+
await this.client.queryPeersOnlineStatus(uid).then(list => {
|
|
314
|
+
Object.entries(list).forEach(value => {
|
|
271
315
|
peerArray.push({
|
|
272
316
|
online: value[1],
|
|
273
317
|
uid: value[0],
|
|
@@ -294,6 +338,19 @@ export default class RtmEngine {
|
|
|
294
338
|
return response;
|
|
295
339
|
}
|
|
296
340
|
|
|
341
|
+
async getChannelAttributes(channelId: string) {
|
|
342
|
+
let response = {};
|
|
343
|
+
await this.client
|
|
344
|
+
.getChannelAttributes(channelId)
|
|
345
|
+
.then((attributes: string) => {
|
|
346
|
+
response = {attributes};
|
|
347
|
+
})
|
|
348
|
+
.catch((e: any) => {
|
|
349
|
+
Promise.reject(e);
|
|
350
|
+
});
|
|
351
|
+
return response;
|
|
352
|
+
}
|
|
353
|
+
|
|
297
354
|
async removeAllLocalUserAttributes() {
|
|
298
355
|
return this.client.clearLocalUserAttributes();
|
|
299
356
|
}
|
|
@@ -304,7 +361,7 @@ export default class RtmEngine {
|
|
|
304
361
|
|
|
305
362
|
async replaceLocalUserAttributes(attributes: string[]) {
|
|
306
363
|
let formattedAttributes: any = {};
|
|
307
|
-
attributes.map(
|
|
364
|
+
attributes.map(attribute => {
|
|
308
365
|
let key = Object.values(attribute)[0];
|
|
309
366
|
let value = Object.values(attribute)[1];
|
|
310
367
|
formattedAttributes[key] = value;
|
|
@@ -314,7 +371,7 @@ export default class RtmEngine {
|
|
|
314
371
|
|
|
315
372
|
async setLocalUserAttributes(attributes: string[]) {
|
|
316
373
|
let formattedAttributes: any = {};
|
|
317
|
-
attributes.map(
|
|
374
|
+
attributes.map(attribute => {
|
|
318
375
|
let key = Object.values(attribute)[0];
|
|
319
376
|
let value = Object.values(attribute)[1];
|
|
320
377
|
formattedAttributes[key] = value;
|
|
@@ -325,7 +382,7 @@ export default class RtmEngine {
|
|
|
325
382
|
|
|
326
383
|
async addOrUpdateLocalUserAttributes(attributes: RtmAttribute[]) {
|
|
327
384
|
let formattedAttributes: any = {};
|
|
328
|
-
attributes.map(
|
|
385
|
+
attributes.map(attribute => {
|
|
329
386
|
let key = Object.values(attribute)[0];
|
|
330
387
|
let value = Object.values(attribute)[1];
|
|
331
388
|
formattedAttributes[key] = value;
|
|
@@ -333,28 +390,22 @@ export default class RtmEngine {
|
|
|
333
390
|
return this.client.addOrUpdateLocalUserAttributes({...formattedAttributes});
|
|
334
391
|
}
|
|
335
392
|
|
|
336
|
-
addOrUpdateChannelAttributes(
|
|
393
|
+
async addOrUpdateChannelAttributes(
|
|
337
394
|
channelId: string,
|
|
338
395
|
attributes: RtmChannelAttribute[],
|
|
339
396
|
option: ChannelAttributeOptions,
|
|
340
397
|
): Promise<void> {
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
// return this.client.addOrUpdateChannelAttributes(
|
|
353
|
-
// channelId,
|
|
354
|
-
// {...formattedAttributes},
|
|
355
|
-
// option,
|
|
356
|
-
// );
|
|
357
|
-
return Promise.resolve(); // remove this line when functionality is added to the above function
|
|
398
|
+
let formattedAttributes: any = {};
|
|
399
|
+
attributes.map(attribute => {
|
|
400
|
+
let key = Object.values(attribute)[0];
|
|
401
|
+
let value = Object.values(attribute)[1];
|
|
402
|
+
formattedAttributes[key] = value;
|
|
403
|
+
});
|
|
404
|
+
return this.client.addOrUpdateChannelAttributes(
|
|
405
|
+
channelId,
|
|
406
|
+
{...formattedAttributes},
|
|
407
|
+
option,
|
|
408
|
+
);
|
|
358
409
|
}
|
|
359
410
|
|
|
360
411
|
async sendLocalInvitation(invitationProps: any) {
|
|
@@ -12,7 +12,22 @@
|
|
|
12
12
|
let jsonFile = require('./config.json');
|
|
13
13
|
let PREFIX = '$config';
|
|
14
14
|
let config = {};
|
|
15
|
-
Object.keys(jsonFile).map(
|
|
15
|
+
Object.keys(jsonFile).map(key => {
|
|
16
16
|
config[`${PREFIX}.${key}`] = jsonFile[key];
|
|
17
17
|
});
|
|
18
|
+
|
|
19
|
+
//find any missing config
|
|
20
|
+
const defaultConfig = require('./defaultConfig');
|
|
21
|
+
const filteredArray = Object.keys(defaultConfig).filter(
|
|
22
|
+
value => !Object.keys(jsonFile).includes(value),
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
//add missing config with default value
|
|
26
|
+
if (filteredArray && filteredArray?.length) {
|
|
27
|
+
//console.error('config.json missing ', filteredArray);
|
|
28
|
+
filteredArray.forEach(i => {
|
|
29
|
+
config[`${PREFIX}.${i}`] = defaultConfig[i];
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
|
|
18
33
|
module.exports = config;
|
|
@@ -1,22 +1,10 @@
|
|
|
1
1
|
//hooks used for create/join meeting
|
|
2
|
-
export {default as
|
|
3
|
-
export {default as
|
|
4
|
-
|
|
5
|
-
//mute local audio state
|
|
6
|
-
export {
|
|
7
|
-
MUTE_LOCAL_TYPE,
|
|
8
|
-
default as useMuteToggleLocal,
|
|
9
|
-
} from '../src/utils/useMuteToggleLocal';
|
|
2
|
+
export {default as useCreateRoom} from '../src/utils/useCreateRoom';
|
|
3
|
+
export {default as useJoinRoom} from '../src/utils/useJoinRoom';
|
|
10
4
|
|
|
11
5
|
//remove remote user from the call
|
|
12
6
|
export {default as useRemoteEndcall} from '../src/utils/useRemoteEndCall';
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
export {
|
|
16
|
-
default as useRemoteMute,
|
|
17
|
-
MUTE_REMOTE_TYPE,
|
|
18
|
-
} from '../src/utils/useRemoteMute';
|
|
7
|
+
//switch camera
|
|
8
|
+
export {default as useSwitchCamera} from '../src/utils/useSwitchCamera';
|
|
19
9
|
|
|
20
10
|
export {controlMessageEnum} from '../src/components/ChatContext';
|
|
21
|
-
//audio/video toggle state
|
|
22
|
-
export {ToggleState} from '../agora-rn-uikit/src/Contexts/PropsContext';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Core contexts
|
|
3
3
|
*/
|
|
4
4
|
import {createHook} from 'customization-implementation';
|
|
5
|
-
import {RtcContext,
|
|
5
|
+
import {RtcContext, ContentContext} from '../agora-rn-uikit';
|
|
6
6
|
|
|
7
7
|
// commented for v1 release
|
|
8
8
|
//import {default as DeviceContext} from '../src/components/DeviceContext';
|
|
@@ -14,7 +14,7 @@ export const useRtc = createHook(RtcContext);
|
|
|
14
14
|
/**
|
|
15
15
|
* The Render app state governs the information necessary to render each user content view displayed in the videocall screen.
|
|
16
16
|
*/
|
|
17
|
-
export const
|
|
17
|
+
export const useContent = createHook(ContentContext);
|
|
18
18
|
|
|
19
19
|
export {useLocalUserInfo} from '../src/app-state/useLocalUserInfo';
|
|
20
20
|
|
|
@@ -26,8 +26,8 @@ export {useLocalUserInfo} from '../src/app-state/useLocalUserInfo';
|
|
|
26
26
|
* UI contexts
|
|
27
27
|
*/
|
|
28
28
|
// commented for v1 release
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
export {usePreCall} from '../src/components/precall/usePreCall';
|
|
30
|
+
export type {PreCallContextInterface} from '../src/components/precall/usePreCall';
|
|
31
31
|
export {useLayout} from '../src/utils/useLayout';
|
|
32
32
|
export type {LayoutContextInterface} from '../src/utils/useLayout';
|
|
33
33
|
// commented for v1 release
|
|
@@ -40,14 +40,24 @@ export type {LayoutContextInterface} from '../src/utils/useLayout';
|
|
|
40
40
|
// export type {ScreenshareContextInterface} from '../src/subComponents/screenshare/useScreenshare';
|
|
41
41
|
export {useRecording} from '../src/subComponents/recording/useRecording';
|
|
42
42
|
export type {RecordingContextInterface} from '../src/subComponents/recording/useRecording';
|
|
43
|
-
export {
|
|
44
|
-
export type {
|
|
45
|
-
export {useChatUIControl} from '../src/components/chat-ui/useChatUIControl';
|
|
46
|
-
export type {ChatUIControlInterface} from '../src/components/chat-ui/useChatUIControl';
|
|
43
|
+
export {useRoomInfo} from '../src/components/room-info/useRoomInfo';
|
|
44
|
+
export type {RoomInfoContextInterface} from '../src/components/room-info/useRoomInfo';
|
|
47
45
|
export {useMessages} from '../src/app-state/useMessages';
|
|
48
46
|
export type {messageInterface} from '../src/app-state/useMessages';
|
|
49
47
|
export {SidePanelType} from '../src/subComponents/SidePanelEnum';
|
|
50
48
|
export {useSidePanel} from '../src/utils/useSidePanel';
|
|
51
49
|
|
|
50
|
+
export {useNoiseSupression} from '../src/app-state/useNoiseSupression';
|
|
51
|
+
export {useVideoQuality} from '../src/app-state/useVideoQuality';
|
|
52
|
+
|
|
52
53
|
//hook used to get/set username
|
|
53
54
|
export {default as useUserName} from '../src/utils/useUserName';
|
|
55
|
+
|
|
56
|
+
export {
|
|
57
|
+
useChatUIControls,
|
|
58
|
+
ChatType,
|
|
59
|
+
} from '../src/components/chat-ui/useChatUIControls';
|
|
60
|
+
export type {ChatUIControlsInterface} from '../src/components/chat-ui/useChatUIControls';
|
|
61
|
+
export {useVirtualBackground} from '../src/app-state/useVirtualBackground';
|
|
62
|
+
export {useBeautyEffects} from '../src/app-state/useBeautyEffects';
|
|
63
|
+
export {useLiveStreamDataContext} from '../src/components/contexts/LiveStreamDataContext';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export {default as UserAvatar} from '../src/atoms/UserAvatar';
|
|
2
|
+
export {default as ImageIcon} from '../src/atoms/ImageIcon';
|
|
3
|
+
export {default as Checkbox} from '../src/atoms/Checkbox';
|
|
4
|
+
export {default as Spacer} from '../src/atoms/Spacer';
|
|
5
|
+
export {default as LinkButton} from '../src/atoms/LinkButton';
|
|
6
|
+
export {default as PrimaryButton} from '../src/atoms/PrimaryButton';
|
|
7
|
+
export {default as TertiaryButton} from '../src/atoms/TertiaryButton';
|
|
8
|
+
export {default as ActionMenu} from '../src/atoms/ActionMenu';
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
// 1. Import Events
|
|
2
2
|
import Events from '../src/rtm-events-api/Events';
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
EventSource,
|
|
5
|
+
PersistanceLevel,
|
|
6
|
+
EventCallback,
|
|
7
|
+
} from '../src/rtm-events-api';
|
|
4
8
|
|
|
5
9
|
// 2. Initialize with source "fpe"
|
|
6
10
|
const customEvents = new Events(EventSource.fpe);
|
|
7
11
|
|
|
8
12
|
// 3. export
|
|
9
|
-
export {customEvents};
|
|
13
|
+
export {customEvents, PersistanceLevel};
|
|
14
|
+
export type {EventCallback};
|