@stream-io/video-react-native-sdk 1.10.17 → 1.10.19
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/CHANGELOG.md +728 -687
- package/dist/commonjs/components/Call/CallContent/RTCViewPipIOS.js +1 -0
- package/dist/commonjs/components/Call/CallContent/RTCViewPipIOS.js.map +1 -1
- package/dist/commonjs/components/Call/CallContent/RTCViewPipNative.js +5 -5
- package/dist/commonjs/components/Call/CallContent/RTCViewPipNative.js.map +1 -1
- package/dist/commonjs/components/Call/Lobby/Lobby.js.map +1 -1
- package/dist/commonjs/components/Participant/FloatingParticipantView/FloatingView/AnimatedFloatingView.js +1 -1
- package/dist/commonjs/components/Participant/FloatingParticipantView/FloatingView/AnimatedFloatingView.js.map +1 -1
- package/dist/commonjs/components/Participant/FloatingParticipantView/FloatingView/ReanimatedFloatingView.js +5 -3
- package/dist/commonjs/components/Participant/FloatingParticipantView/FloatingView/ReanimatedFloatingView.js.map +1 -1
- package/dist/commonjs/contexts/BackgroundFilters.js +1 -1
- package/dist/commonjs/contexts/BackgroundFilters.js.map +1 -1
- package/dist/commonjs/contexts/ThemeContext.js +12 -3
- package/dist/commonjs/contexts/ThemeContext.js.map +1 -1
- package/dist/commonjs/hooks/internal/useCallMediaStreamCleanup.js +0 -1
- package/dist/commonjs/hooks/internal/useCallMediaStreamCleanup.js.map +1 -1
- package/dist/commonjs/hooks/push/useIosCallkeepWithCallingStateEffect.js +4 -4
- package/dist/commonjs/hooks/push/useIosVoipPushEventsSetupEffect.js +11 -5
- package/dist/commonjs/hooks/push/useIosVoipPushEventsSetupEffect.js.map +1 -1
- package/dist/commonjs/hooks/useScreenShareButton.js +1 -3
- package/dist/commonjs/hooks/useScreenShareButton.js.map +1 -1
- package/dist/commonjs/hooks/useTrackDimensions.js +1 -1
- package/dist/commonjs/hooks/useTrackDimensions.js.map +1 -1
- package/dist/commonjs/providers/StreamCall/DeviceStats.js +2 -2
- package/dist/commonjs/providers/StreamCall/DeviceStats.js.map +1 -1
- package/dist/commonjs/providers/StreamVideo.js +1 -1
- package/dist/commonjs/providers/StreamVideo.js.map +1 -1
- package/dist/commonjs/utils/internal/optionallibs/gestureHandler.js +1 -1
- package/dist/commonjs/utils/internal/optionallibs/gestureHandler.js.map +1 -1
- package/dist/commonjs/utils/internal/optionallibs/reanimated.js +1 -1
- package/dist/commonjs/utils/internal/optionallibs/reanimated.js.map +1 -1
- package/dist/commonjs/utils/internal/pushLogoutCallback.js +1 -1
- package/dist/commonjs/utils/internal/pushLogoutCallback.js.map +1 -1
- package/dist/commonjs/utils/push/internal/ios.js +104 -0
- package/dist/commonjs/utils/push/internal/ios.js.map +1 -0
- package/dist/commonjs/utils/push/ios.js +15 -107
- package/dist/commonjs/utils/push/ios.js.map +1 -1
- package/dist/commonjs/utils/push/libs/callkeep.js +1 -1
- package/dist/commonjs/utils/push/libs/callkeep.js.map +1 -1
- package/dist/commonjs/utils/push/libs/expoNotifications.js +1 -1
- package/dist/commonjs/utils/push/libs/expoNotifications.js.map +1 -1
- package/dist/commonjs/utils/push/libs/firebaseMessaging/lib.js +1 -1
- package/dist/commonjs/utils/push/libs/firebaseMessaging/lib.js.map +1 -1
- package/dist/commonjs/utils/push/libs/iosPushNotification.js +1 -1
- package/dist/commonjs/utils/push/libs/iosPushNotification.js.map +1 -1
- package/dist/commonjs/utils/push/libs/notifee/lib.js +1 -1
- package/dist/commonjs/utils/push/libs/notifee/lib.js.map +1 -1
- package/dist/commonjs/utils/push/libs/voipPushNotification.js +1 -1
- package/dist/commonjs/utils/push/libs/voipPushNotification.js.map +1 -1
- package/dist/commonjs/utils/push/setupIosCallKeepEvents.js +2 -2
- package/dist/commonjs/utils/push/setupIosCallKeepEvents.js.map +1 -1
- package/dist/commonjs/utils/push/setupIosVoipPushEvents.js +2 -2
- package/dist/commonjs/utils/push/setupIosVoipPushEvents.js.map +1 -1
- package/dist/commonjs/version.js +1 -1
- package/dist/module/components/Call/CallContent/CallContent.js +2 -2
- package/dist/module/components/Call/CallContent/CallContent.js.map +1 -1
- package/dist/module/components/Call/CallContent/RTCViewPipIOS.js +2 -1
- package/dist/module/components/Call/CallContent/RTCViewPipIOS.js.map +1 -1
- package/dist/module/components/Call/CallContent/RTCViewPipNative.js +6 -6
- package/dist/module/components/Call/CallContent/RTCViewPipNative.js.map +1 -1
- package/dist/module/components/Call/CallControls/internal/ReactionsPicker.js +1 -1
- package/dist/module/components/Call/CallControls/internal/ReactionsPicker.js.map +1 -1
- package/dist/module/components/Call/Lobby/Lobby.js.map +1 -1
- package/dist/module/components/Call/Lobby/LobbyFooter.js +1 -1
- package/dist/module/components/Call/Lobby/LobbyFooter.js.map +1 -1
- package/dist/module/components/Participant/FloatingParticipantView/FloatingView/AnimatedFloatingView.js +4 -4
- package/dist/module/components/Participant/FloatingParticipantView/FloatingView/AnimatedFloatingView.js.map +1 -1
- package/dist/module/components/Participant/FloatingParticipantView/FloatingView/ReanimatedFloatingView.js +7 -5
- package/dist/module/components/Participant/FloatingParticipantView/FloatingView/ReanimatedFloatingView.js.map +1 -1
- package/dist/module/components/Participant/ParticipantView/ParticipantReaction.js +1 -1
- package/dist/module/components/Participant/ParticipantView/ParticipantReaction.js.map +1 -1
- package/dist/module/components/Participant/ParticipantView/SpeechIndicator.js +1 -1
- package/dist/module/components/Participant/ParticipantView/SpeechIndicator.js.map +1 -1
- package/dist/module/contexts/BackgroundFilters.js +1 -1
- package/dist/module/contexts/BackgroundFilters.js.map +1 -1
- package/dist/module/contexts/ThemeContext.js +11 -1
- package/dist/module/contexts/ThemeContext.js.map +1 -1
- package/dist/module/hooks/internal/useCallMediaStreamCleanup.js +0 -1
- package/dist/module/hooks/internal/useCallMediaStreamCleanup.js.map +1 -1
- package/dist/module/hooks/push/useIosCallkeepWithCallingStateEffect.js +4 -4
- package/dist/module/hooks/push/useIosVoipPushEventsSetupEffect.js +12 -6
- package/dist/module/hooks/push/useIosVoipPushEventsSetupEffect.js.map +1 -1
- package/dist/module/hooks/push/useProcessPushCallEffect.js +1 -1
- package/dist/module/hooks/push/useProcessPushCallEffect.js.map +1 -1
- package/dist/module/hooks/useAndroidKeepCallAliveEffect.js +2 -2
- package/dist/module/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
- package/dist/module/hooks/usePermissionRequest.js +1 -1
- package/dist/module/hooks/usePermissionRequest.js.map +1 -1
- package/dist/module/hooks/useScreenShareButton.js +3 -5
- package/dist/module/hooks/useScreenShareButton.js.map +1 -1
- package/dist/module/hooks/useTrackDimensions.js +2 -2
- package/dist/module/hooks/useTrackDimensions.js.map +1 -1
- package/dist/module/providers/StreamCall/DeviceStats.js +4 -4
- package/dist/module/providers/StreamCall/DeviceStats.js.map +1 -1
- package/dist/module/providers/StreamVideo.js +2 -2
- package/dist/module/providers/StreamVideo.js.map +1 -1
- package/dist/module/utils/internal/optionallibs/gestureHandler.js +1 -1
- package/dist/module/utils/internal/optionallibs/gestureHandler.js.map +1 -1
- package/dist/module/utils/internal/optionallibs/reanimated.js +1 -1
- package/dist/module/utils/internal/optionallibs/reanimated.js.map +1 -1
- package/dist/module/utils/internal/pushLogoutCallback.js +1 -1
- package/dist/module/utils/internal/pushLogoutCallback.js.map +1 -1
- package/dist/module/utils/push/android.js +3 -3
- package/dist/module/utils/push/android.js.map +1 -1
- package/dist/module/utils/push/internal/ios.js +97 -0
- package/dist/module/utils/push/internal/ios.js.map +1 -0
- package/dist/module/utils/push/internal/utils.js +1 -1
- package/dist/module/utils/push/internal/utils.js.map +1 -1
- package/dist/module/utils/push/ios.js +18 -109
- package/dist/module/utils/push/ios.js.map +1 -1
- package/dist/module/utils/push/libs/callkeep.js +1 -1
- package/dist/module/utils/push/libs/callkeep.js.map +1 -1
- package/dist/module/utils/push/libs/expoNotifications.js +1 -1
- package/dist/module/utils/push/libs/expoNotifications.js.map +1 -1
- package/dist/module/utils/push/libs/firebaseMessaging/index.js.map +1 -1
- package/dist/module/utils/push/libs/firebaseMessaging/lib.js +1 -1
- package/dist/module/utils/push/libs/firebaseMessaging/lib.js.map +1 -1
- package/dist/module/utils/push/libs/iosPushNotification.js +1 -1
- package/dist/module/utils/push/libs/iosPushNotification.js.map +1 -1
- package/dist/module/utils/push/libs/notifee/index.js.map +1 -1
- package/dist/module/utils/push/libs/notifee/lib.js +1 -1
- package/dist/module/utils/push/libs/notifee/lib.js.map +1 -1
- package/dist/module/utils/push/libs/voipPushNotification.js +1 -1
- package/dist/module/utils/push/libs/voipPushNotification.js.map +1 -1
- package/dist/module/utils/push/setupIosCallKeepEvents.js +3 -4
- package/dist/module/utils/push/setupIosCallKeepEvents.js.map +1 -1
- package/dist/module/utils/push/setupIosVoipPushEvents.js +2 -2
- package/dist/module/utils/push/setupIosVoipPushEvents.js.map +1 -1
- package/dist/module/version.js +1 -1
- package/dist/typescript/components/Call/CallContent/CallContent.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallContent/RTCViewPipIOS.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallContent/RTCViewPipNative.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallControls/AcceptCallButton.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallControls/CallControls.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallControls/CallControlsButton.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallControls/HangupCallButton.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallControls/IncomingCallControls.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallControls/OutgoingCallControls.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallControls/ReactionsButton.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallControls/RejectCallButton.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallControls/ScreenShareToggleButton.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallControls/ToggleAudioPreviewButton.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallControls/ToggleAudioPublishingButton.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallControls/ToggleCameraFaceButton.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallControls/ToggleVideoPreviewButton.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallControls/ToggleVideoPublishingButton.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallControls/internal/ReactionsPicker.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallLayout/CallParticipantsGrid.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallLayout/CallParticipantsSpotlight.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallParticipantsList/CallParticipantsList.d.ts.map +1 -1
- package/dist/typescript/components/Call/Lobby/JoinCallButton.d.ts.map +1 -1
- package/dist/typescript/components/Call/Lobby/Lobby.d.ts.map +1 -1
- package/dist/typescript/components/Call/Lobby/LobbyFooter.d.ts.map +1 -1
- package/dist/typescript/components/Call/RingingCallContent/CallLeftIndicator.d.ts.map +1 -1
- package/dist/typescript/components/Call/RingingCallContent/CallPreparingIndicator.d.ts.map +1 -1
- package/dist/typescript/components/Call/RingingCallContent/IncomingCall.d.ts.map +1 -1
- package/dist/typescript/components/Call/RingingCallContent/OutgoingCall.d.ts.map +1 -1
- package/dist/typescript/components/Call/RingingCallContent/RingingCallContent.d.ts.map +1 -1
- package/dist/typescript/components/Call/RingingCallContent/TextBasedIndicator.d.ts.map +1 -1
- package/dist/typescript/components/Call/RingingCallContent/UserInfo.d.ts.map +1 -1
- package/dist/typescript/components/Livestream/HostLivestream/HostLivestream.d.ts.map +1 -1
- package/dist/typescript/components/Livestream/LivestreamControls/HostLivestreamControls.d.ts.map +1 -1
- package/dist/typescript/components/Livestream/LivestreamControls/HostStartStreamButton.d.ts.map +1 -1
- package/dist/typescript/components/Livestream/LivestreamControls/LivestreamMediaControls.d.ts.map +1 -1
- package/dist/typescript/components/Livestream/LivestreamControls/ViewerLeaveStreamButton.d.ts.map +1 -1
- package/dist/typescript/components/Livestream/LivestreamControls/ViewerLivestreamControls.d.ts.map +1 -1
- package/dist/typescript/components/Livestream/LivestreamLayout/LivestreamLayout.d.ts.map +1 -1
- package/dist/typescript/components/Livestream/LivestreamPlayer/LivestreamPlayer.d.ts.map +1 -1
- package/dist/typescript/components/Livestream/LivestreamTopView/DurationBadge.d.ts.map +1 -1
- package/dist/typescript/components/Livestream/LivestreamTopView/FollowerCount.d.ts.map +1 -1
- package/dist/typescript/components/Livestream/LivestreamTopView/HostLivestreamTopView.d.ts.map +1 -1
- package/dist/typescript/components/Livestream/LivestreamTopView/LiveIndicator.d.ts.map +1 -1
- package/dist/typescript/components/Livestream/LivestreamTopView/ViewerLivestreamTopView.d.ts.map +1 -1
- package/dist/typescript/components/Livestream/ViewerLivestream/ViewerLivestream.d.ts.map +1 -1
- package/dist/typescript/components/Participant/FloatingParticipantView/FloatingView/AnimatedFloatingView.d.ts.map +1 -1
- package/dist/typescript/components/Participant/FloatingParticipantView/FloatingView/ReanimatedFloatingView.d.ts.map +1 -1
- package/dist/typescript/components/Participant/FloatingParticipantView/index.d.ts.map +1 -1
- package/dist/typescript/components/Participant/ParticipantView/ParticipantLabel.d.ts.map +1 -1
- package/dist/typescript/components/Participant/ParticipantView/ParticipantNetworkQualityIndicator.d.ts.map +1 -1
- package/dist/typescript/components/Participant/ParticipantView/ParticipantReaction.d.ts.map +1 -1
- package/dist/typescript/components/Participant/ParticipantView/ParticipantVideoFallback.d.ts.map +1 -1
- package/dist/typescript/components/Participant/ParticipantView/ParticipantView.d.ts.map +1 -1
- package/dist/typescript/components/Participant/ParticipantView/SpeechIndicator.d.ts.map +1 -1
- package/dist/typescript/components/Participant/ParticipantView/VideoRenderer.d.ts.map +1 -1
- package/dist/typescript/components/utility/Avatar.d.ts.map +1 -1
- package/dist/typescript/components/utility/ScreenShareOverlay.d.ts.map +1 -1
- package/dist/typescript/contexts/BackgroundFilters.d.ts.map +1 -1
- package/dist/typescript/contexts/ThemeContext.d.ts +10 -2
- package/dist/typescript/contexts/ThemeContext.d.ts.map +1 -1
- package/dist/typescript/hooks/internal/useCallMediaStreamCleanup.d.ts.map +1 -1
- package/dist/typescript/hooks/push/useIosVoipPushEventsSetupEffect.d.ts.map +1 -1
- package/dist/typescript/hooks/usePaginatedLayoutSortPreset.d.ts.map +1 -1
- package/dist/typescript/hooks/usePermissionNotification.d.ts.map +1 -1
- package/dist/typescript/hooks/useScreenShareButton.d.ts +21 -1
- package/dist/typescript/hooks/useScreenShareButton.d.ts.map +1 -1
- package/dist/typescript/icons/Back.d.ts.map +1 -1
- package/dist/typescript/icons/CameraSwitch.d.ts.map +1 -1
- package/dist/typescript/icons/IconWrapper.d.ts.map +1 -1
- package/dist/typescript/icons/Lock.d.ts.map +1 -1
- package/dist/typescript/icons/Mic.d.ts.map +1 -1
- package/dist/typescript/icons/MicOff.d.ts.map +1 -1
- package/dist/typescript/icons/Phone.d.ts.map +1 -1
- package/dist/typescript/icons/PhoneDown.d.ts.map +1 -1
- package/dist/typescript/icons/PinVertical.d.ts.map +1 -1
- package/dist/typescript/icons/Reaction.d.ts.map +1 -1
- package/dist/typescript/icons/ScreenShare.d.ts.map +1 -1
- package/dist/typescript/icons/ScreenShareIndicator.d.ts.map +1 -1
- package/dist/typescript/icons/Settings.d.ts.map +1 -1
- package/dist/typescript/icons/Spotlight.d.ts.map +1 -1
- package/dist/typescript/icons/StopScreenShare.d.ts.map +1 -1
- package/dist/typescript/icons/ThreeDots.d.ts.map +1 -1
- package/dist/typescript/icons/TopViewBackground.d.ts.map +1 -1
- package/dist/typescript/icons/Video.d.ts.map +1 -1
- package/dist/typescript/icons/VideoSlash.d.ts.map +1 -1
- package/dist/typescript/providers/StreamCall/index.d.ts.map +1 -1
- package/dist/typescript/providers/StreamVideo.d.ts.map +1 -1
- package/dist/typescript/utils/hooks/usePrevious.d.ts.map +1 -1
- package/dist/typescript/utils/index.d.ts.map +1 -1
- package/dist/typescript/utils/internal/optionallibs/gestureHandler.d.ts.map +1 -1
- package/dist/typescript/utils/internal/optionallibs/reanimated.d.ts.map +1 -1
- package/dist/typescript/utils/internal/pushLogoutCallback.d.ts +1 -1
- package/dist/typescript/utils/internal/pushLogoutCallback.d.ts.map +1 -1
- package/dist/typescript/utils/push/android.d.ts +1 -1
- package/dist/typescript/utils/push/android.d.ts.map +1 -1
- package/dist/typescript/utils/push/internal/ios.d.ts +3 -0
- package/dist/typescript/utils/push/internal/ios.d.ts.map +1 -0
- package/dist/typescript/utils/push/internal/utils.d.ts.map +1 -1
- package/dist/typescript/utils/push/ios.d.ts +0 -1
- package/dist/typescript/utils/push/ios.d.ts.map +1 -1
- package/dist/typescript/utils/push/libs/expoNotifications.d.ts +1 -1
- package/dist/typescript/utils/push/libs/expoNotifications.d.ts.map +1 -1
- package/dist/typescript/utils/push/libs/firebaseMessaging/index.d.ts.map +1 -1
- package/dist/typescript/utils/push/libs/iosPushNotification.d.ts +1 -1
- package/dist/typescript/utils/push/libs/iosPushNotification.d.ts.map +1 -1
- package/dist/typescript/utils/push/libs/notifee/index.d.ts.map +1 -1
- package/dist/typescript/utils/push/setupIosCallKeepEvents.d.ts.map +1 -1
- package/dist/typescript/version.d.ts +1 -1
- package/expo-config-plugin/dist/withAndroidManifest.js +0 -1
- package/expo-config-plugin/dist/withAppDelegate.js +1 -1
- package/expo-config-plugin/dist/withIosScreenCapture/withPlistUpdates.js +1 -1
- package/expo-config-plugin/dist/withiOSInfoPlist.js +3 -1
- package/package.json +20 -23
- package/src/components/Call/CallContent/CallContent.tsx +3 -3
- package/src/components/Call/CallContent/RTCViewPipIOS.tsx +6 -4
- package/src/components/Call/CallContent/RTCViewPipNative.tsx +5 -5
- package/src/components/Call/CallControls/CallControlsButton.tsx +1 -1
- package/src/components/Call/CallControls/LobbyControls.tsx +1 -1
- package/src/components/Call/CallControls/ScreenShareToggleButton.tsx +1 -1
- package/src/components/Call/CallControls/internal/ReactionsPicker.tsx +4 -4
- package/src/components/Call/CallLayout/CallParticipantsSpotlight.tsx +1 -1
- package/src/components/Call/CallParticipantsList/CallParticipantsList.tsx +5 -5
- package/src/components/Call/Lobby/JoinCallButton.tsx +1 -1
- package/src/components/Call/Lobby/Lobby.tsx +2 -2
- package/src/components/Call/Lobby/LobbyFooter.tsx +2 -2
- package/src/components/Call/RingingCallContent/UserInfo.tsx +1 -1
- package/src/components/Livestream/HostLivestream/HostLivestream.tsx +1 -1
- package/src/components/Livestream/LivestreamControls/LivestreamScreenShareToggleButton.tsx +1 -1
- package/src/components/Livestream/LivestreamLayout/LivestreamLayout.tsx +1 -1
- package/src/components/Livestream/LivestreamTopView/DurationBadge.tsx +1 -1
- package/src/components/Livestream/ViewerLivestream/ViewerLivestream.tsx +1 -1
- package/src/components/Participant/FloatingParticipantView/FloatingView/AnimatedFloatingView.tsx +10 -10
- package/src/components/Participant/FloatingParticipantView/FloatingView/ReanimatedFloatingView.tsx +15 -13
- package/src/components/Participant/ParticipantView/ParticipantLabel.tsx +1 -1
- package/src/components/Participant/ParticipantView/ParticipantNetworkQualityIndicator.tsx +1 -1
- package/src/components/Participant/ParticipantView/ParticipantReaction.tsx +3 -3
- package/src/components/Participant/ParticipantView/ParticipantView.tsx +1 -1
- package/src/components/Participant/ParticipantView/SpeechIndicator.tsx +3 -3
- package/src/components/Participant/ParticipantView/VideoRenderer.tsx +1 -1
- package/src/contexts/BackgroundFilters.tsx +7 -7
- package/src/contexts/StreamVideoContext.tsx +3 -3
- package/src/contexts/ThemeContext.tsx +15 -5
- package/src/hooks/internal/useCallMediaStreamCleanup.ts +2 -6
- package/src/hooks/push/useInitAndroidTokenAndRest.ts +1 -1
- package/src/hooks/push/useIosCallkeepWithCallingStateEffect.ts +25 -25
- package/src/hooks/push/useIosVoipPushEventsSetupEffect.ts +28 -19
- package/src/hooks/push/useProcessPushCallEffect.ts +8 -8
- package/src/hooks/push/useProcessPushNonRingingCallEffect.ts +1 -1
- package/src/hooks/useAndroidKeepCallAliveEffect.ts +10 -10
- package/src/hooks/useAutoEnterPiPEffect.tsx +2 -2
- package/src/hooks/useIsIosScreenshareBroadcastStarted.ts +2 -2
- package/src/hooks/usePaginatedLayoutSortPreset.ts +1 -1
- package/src/hooks/usePermissionNotification.tsx +1 -1
- package/src/hooks/usePermissionRequest.tsx +4 -4
- package/src/hooks/useScreenShareButton.ts +9 -10
- package/src/hooks/useTrackDimensions.ts +3 -3
- package/src/providers/StreamCall/AppStateListener.tsx +6 -6
- package/src/providers/StreamCall/DeviceStats.tsx +8 -8
- package/src/providers/StreamVideo.tsx +4 -4
- package/src/utils/StreamVideoRN/index.ts +4 -4
- package/src/utils/StreamVideoRN/types.ts +2 -2
- package/src/utils/enterPiPAndroid.ts +1 -1
- package/src/utils/index.ts +2 -2
- package/src/utils/internal/newNotificationCallbacks.ts +3 -3
- package/src/utils/internal/optionallibs/gestureHandler.ts +1 -1
- package/src/utils/internal/optionallibs/reanimated.ts +1 -1
- package/src/utils/internal/pushLogoutCallback.ts +1 -1
- package/src/utils/push/android.ts +33 -33
- package/src/utils/push/internal/ios.ts +133 -0
- package/src/utils/push/internal/utils.ts +10 -10
- package/src/utils/push/ios.ts +38 -164
- package/src/utils/push/libs/callkeep.ts +2 -2
- package/src/utils/push/libs/expoNotifications.ts +5 -5
- package/src/utils/push/libs/firebaseMessaging/index.ts +3 -3
- package/src/utils/push/libs/firebaseMessaging/lib.ts +1 -1
- package/src/utils/push/libs/iosPushNotification.ts +4 -4
- package/src/utils/push/libs/notifee/index.ts +7 -7
- package/src/utils/push/libs/notifee/lib.ts +1 -1
- package/src/utils/push/libs/voipPushNotification.ts +2 -2
- package/src/utils/push/setupIosCallKeepEvents.ts +17 -18
- package/src/utils/push/setupIosVoipPushEvents.ts +5 -5
- package/src/utils/push/utils.ts +2 -2
- package/src/version.ts +1 -1
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
useStreamVideoClient,
|
|
12
12
|
} from '@stream-io/video-react-bindings';
|
|
13
13
|
import { BehaviorSubject } from 'rxjs';
|
|
14
|
-
import {
|
|
14
|
+
import { distinctUntilChanged, filter } from 'rxjs/operators';
|
|
15
15
|
import { processCallFromPush } from '../../utils/push/internal/utils';
|
|
16
16
|
import { getLogger, StreamVideoClient } from '@stream-io/video-client';
|
|
17
17
|
import type { StreamVideoConfig } from '../../utils/StreamVideoRN/types';
|
|
@@ -34,7 +34,7 @@ export const useProcessPushCallEffect = () => {
|
|
|
34
34
|
|
|
35
35
|
getLogger(['useProcessPushCallEffect'])(
|
|
36
36
|
'debug',
|
|
37
|
-
`Adding subscriptions to process incoming call from push notification
|
|
37
|
+
`Adding subscriptions to process incoming call from push notification`,
|
|
38
38
|
);
|
|
39
39
|
|
|
40
40
|
// if the user accepts the call from push notification we join the call
|
|
@@ -42,7 +42,7 @@ export const useProcessPushCallEffect = () => {
|
|
|
42
42
|
pushAcceptedIncomingCallCId$,
|
|
43
43
|
client,
|
|
44
44
|
pushConfig,
|
|
45
|
-
'accept'
|
|
45
|
+
'accept',
|
|
46
46
|
);
|
|
47
47
|
|
|
48
48
|
// if the user rejects the call from push notification we leave the call
|
|
@@ -50,7 +50,7 @@ export const useProcessPushCallEffect = () => {
|
|
|
50
50
|
pushRejectedIncomingCallCId$,
|
|
51
51
|
client,
|
|
52
52
|
pushConfig,
|
|
53
|
-
'decline'
|
|
53
|
+
'decline',
|
|
54
54
|
);
|
|
55
55
|
|
|
56
56
|
// if the user taps the call from push notification we do nothing as the only thing is to get the call which adds it to the client
|
|
@@ -58,14 +58,14 @@ export const useProcessPushCallEffect = () => {
|
|
|
58
58
|
pushTappedIncomingCallCId$,
|
|
59
59
|
client,
|
|
60
60
|
pushConfig,
|
|
61
|
-
'pressed'
|
|
61
|
+
'pressed',
|
|
62
62
|
);
|
|
63
63
|
|
|
64
64
|
const backgroundIncomingDeliveredCallSubscription = createCallSubscription(
|
|
65
65
|
pushAndroidBackgroundDeliveredIncomingCallCId$,
|
|
66
66
|
client,
|
|
67
67
|
pushConfig,
|
|
68
|
-
'backgroundDelivered'
|
|
68
|
+
'backgroundDelivered',
|
|
69
69
|
);
|
|
70
70
|
|
|
71
71
|
return () => {
|
|
@@ -91,14 +91,14 @@ const createCallSubscription = (
|
|
|
91
91
|
behaviourSubjectWithCallCid: BehaviorSubject<string | undefined>,
|
|
92
92
|
client: StreamVideoClient,
|
|
93
93
|
pushConfig: NonNullable<StreamVideoConfig['push']>,
|
|
94
|
-
action: 'accept' | 'decline' | 'pressed' | 'backgroundDelivered'
|
|
94
|
+
action: 'accept' | 'decline' | 'pressed' | 'backgroundDelivered',
|
|
95
95
|
) => {
|
|
96
96
|
return behaviourSubjectWithCallCid
|
|
97
97
|
.pipe(distinctUntilChanged(), filter(cidIsNotUndefined))
|
|
98
98
|
.subscribe(async (callCId) => {
|
|
99
99
|
getLogger(['useProcessPushCallEffect'])(
|
|
100
100
|
'debug',
|
|
101
|
-
`Processing call from push notification with action: ${action} and callCId: ${callCId}
|
|
101
|
+
`Processing call from push notification with action: ${action} and callCId: ${callCId}`,
|
|
102
102
|
);
|
|
103
103
|
await processCallFromPush(client, callCId, action, pushConfig);
|
|
104
104
|
behaviourSubjectWithCallCid.next(undefined); // remove the current call id to avoid processing again
|
|
@@ -29,7 +29,7 @@ export const useProcessPushNonRingingCallEffect = () => {
|
|
|
29
29
|
.subscribe(async ({ cid, type }) => {
|
|
30
30
|
getLogger(['useProcessPushNonRingingCallEffect'])(
|
|
31
31
|
'debug',
|
|
32
|
-
`processNonIncomingCallFromPush with callCId: ${cid} and type: ${type}
|
|
32
|
+
`processNonIncomingCallFromPush with callCId: ${cid} and type: ${type}`,
|
|
33
33
|
);
|
|
34
34
|
await processNonIncomingCallFromPush(client, cid, type);
|
|
35
35
|
pushNonRingingCallData$.next(undefined); // remove the current data to avoid processing again
|
|
@@ -2,15 +2,15 @@ import { useCall, useCallStateHooks } from '@stream-io/video-react-bindings';
|
|
|
2
2
|
import { useEffect, useRef } from 'react';
|
|
3
3
|
import { StreamVideoRN } from '../utils';
|
|
4
4
|
import {
|
|
5
|
-
NativeModules,
|
|
6
5
|
AppState,
|
|
7
6
|
type AppStateStatus,
|
|
7
|
+
NativeModules,
|
|
8
8
|
Platform,
|
|
9
9
|
} from 'react-native';
|
|
10
10
|
import { CallingState, getLogger } from '@stream-io/video-client';
|
|
11
11
|
import {
|
|
12
|
-
getNotifeeLibNoThrowForKeepCallAlive,
|
|
13
12
|
getKeepCallAliveForegroundServiceTypes,
|
|
13
|
+
getNotifeeLibNoThrowForKeepCallAlive,
|
|
14
14
|
} from '../utils/push/libs/notifee';
|
|
15
15
|
|
|
16
16
|
const notifeeLib = getNotifeeLibNoThrowForKeepCallAlive();
|
|
@@ -23,7 +23,7 @@ function setForegroundService() {
|
|
|
23
23
|
const logger = getLogger(['setForegroundService method']);
|
|
24
24
|
logger(
|
|
25
25
|
'info',
|
|
26
|
-
'KeepCallAlive is not configured. Skipping foreground service setup.'
|
|
26
|
+
'KeepCallAlive is not configured. Skipping foreground service setup.',
|
|
27
27
|
);
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
@@ -33,7 +33,7 @@ function setForegroundService() {
|
|
|
33
33
|
logger('info', 'Foreground service running for call in progress');
|
|
34
34
|
});
|
|
35
35
|
});
|
|
36
|
-
}
|
|
36
|
+
},
|
|
37
37
|
);
|
|
38
38
|
}
|
|
39
39
|
|
|
@@ -50,7 +50,7 @@ async function startForegroundService(call_cid: string) {
|
|
|
50
50
|
const logger = getLogger(['startForegroundService']);
|
|
51
51
|
logger(
|
|
52
52
|
'info',
|
|
53
|
-
'KeepCallAlive is not configured. Skipping foreground service setup.'
|
|
53
|
+
'KeepCallAlive is not configured. Skipping foreground service setup.',
|
|
54
54
|
);
|
|
55
55
|
return;
|
|
56
56
|
}
|
|
@@ -61,13 +61,13 @@ async function startForegroundService(call_cid: string) {
|
|
|
61
61
|
const logger = getLogger(['startForegroundService']);
|
|
62
62
|
logger(
|
|
63
63
|
'info',
|
|
64
|
-
'Notification permission not granted, can not start foreground service to keep the call alive'
|
|
64
|
+
'Notification permission not granted, can not start foreground service to keep the call alive',
|
|
65
65
|
);
|
|
66
66
|
return;
|
|
67
67
|
}
|
|
68
68
|
const channelId = foregroundServiceConfig.android.channel.id;
|
|
69
69
|
await notifeeLib.default.createChannel(
|
|
70
|
-
foregroundServiceConfig.android.channel
|
|
70
|
+
foregroundServiceConfig.android.channel,
|
|
71
71
|
);
|
|
72
72
|
const foregroundServiceTypes = await getKeepCallAliveForegroundServiceTypes();
|
|
73
73
|
// NOTE: we use requestAnimationFrame to ensure that the foreground service is started after all the current UI operations are done
|
|
@@ -138,7 +138,7 @@ export const useAndroidKeepCallAliveEffect = () => {
|
|
|
138
138
|
const displayedNotifications =
|
|
139
139
|
await notifee.getDisplayedNotifications();
|
|
140
140
|
const activeCallNotification = displayedNotifications.find(
|
|
141
|
-
(notification) => notification.id === activeCallCid
|
|
141
|
+
(notification) => notification.id === activeCallCid,
|
|
142
142
|
);
|
|
143
143
|
if (activeCallNotification) {
|
|
144
144
|
// this means that we have a incoming call notification shown as foreground service and we must stop it
|
|
@@ -163,7 +163,7 @@ export const useAndroidKeepCallAliveEffect = () => {
|
|
|
163
163
|
run();
|
|
164
164
|
sub.remove();
|
|
165
165
|
}
|
|
166
|
-
}
|
|
166
|
+
},
|
|
167
167
|
);
|
|
168
168
|
return () => {
|
|
169
169
|
sub.remove();
|
|
@@ -187,7 +187,7 @@ export const useAndroidKeepCallAliveEffect = () => {
|
|
|
187
187
|
.getDisplayedNotifications()
|
|
188
188
|
.then((displayedNotifications) => {
|
|
189
189
|
const activeCallNotification = displayedNotifications.find(
|
|
190
|
-
(notification) => notification.id === activeCallCid
|
|
190
|
+
(notification) => notification.id === activeCallCid,
|
|
191
191
|
);
|
|
192
192
|
if (activeCallNotification) {
|
|
193
193
|
// this means that we have a incoming call notification shown as foreground service and we must stop it
|
|
@@ -5,7 +5,7 @@ import { NativeModules, Platform } from 'react-native';
|
|
|
5
5
|
import { disablePiPMode$ } from '../utils/internal/rxSubjects';
|
|
6
6
|
|
|
7
7
|
export function useAutoEnterPiPEffect(
|
|
8
|
-
disablePictureInPicture: boolean | undefined
|
|
8
|
+
disablePictureInPicture: boolean | undefined,
|
|
9
9
|
) {
|
|
10
10
|
const { useCallCallingState } = useCallStateHooks();
|
|
11
11
|
|
|
@@ -19,7 +19,7 @@ export function useAutoEnterPiPEffect(
|
|
|
19
19
|
|
|
20
20
|
if (!disablePictureInPicture && callingState === CallingState.JOINED) {
|
|
21
21
|
NativeModules.StreamVideoReactNative.canAutoEnterPipMode(
|
|
22
|
-
!disablePictureInPicture
|
|
22
|
+
!disablePictureInPicture,
|
|
23
23
|
);
|
|
24
24
|
}
|
|
25
25
|
}, [callingState, disablePictureInPicture]);
|
|
@@ -14,14 +14,14 @@ export function useIsIosScreenshareBroadcastStarted() {
|
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
const eventEmitter = new NativeEventEmitter(
|
|
17
|
-
NativeModules.StreamVideoReactNative
|
|
17
|
+
NativeModules.StreamVideoReactNative,
|
|
18
18
|
);
|
|
19
19
|
|
|
20
20
|
const subscription = eventEmitter.addListener(
|
|
21
21
|
'StreamVideoReactNative_Ios_Screenshare_Event',
|
|
22
22
|
(event: Event) => {
|
|
23
23
|
setHasStarted(event.name === 'iOS_BroadcastStarted');
|
|
24
|
-
}
|
|
24
|
+
},
|
|
25
25
|
);
|
|
26
26
|
|
|
27
27
|
return () => {
|
|
@@ -10,7 +10,7 @@ const resetSortPreset = (call: Call) => {
|
|
|
10
10
|
// reset the sorting to the default for the call type
|
|
11
11
|
const callConfig = CallTypes.get(call.type);
|
|
12
12
|
call.setSortParticipantsBy(
|
|
13
|
-
callConfig.options.sortParticipantsBy || defaultSortPreset
|
|
13
|
+
callConfig.options.sortParticipantsBy || defaultSortPreset,
|
|
14
14
|
);
|
|
15
15
|
};
|
|
16
16
|
|
|
@@ -24,7 +24,7 @@ export type PermissionNotificationProps = {
|
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
export const usePermissionNotification = (
|
|
27
|
-
props: PermissionNotificationProps
|
|
27
|
+
props: PermissionNotificationProps,
|
|
28
28
|
) => {
|
|
29
29
|
const { permission, messageApproved, messageRevoked } = props;
|
|
30
30
|
const { useCallCallingState, useHasPermissions } = useCallStateHooks();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
|
+
getLogger,
|
|
2
3
|
OwnCapability,
|
|
3
4
|
type PermissionRequestEvent,
|
|
4
|
-
getLogger,
|
|
5
5
|
} from '@stream-io/video-client';
|
|
6
6
|
import { useCall, useCallStateHooks } from '@stream-io/video-react-bindings';
|
|
7
7
|
import { useCallback, useEffect } from 'react';
|
|
@@ -12,7 +12,7 @@ export const usePermissionRequest = () => {
|
|
|
12
12
|
|
|
13
13
|
const { useHasPermissions } = useCallStateHooks();
|
|
14
14
|
const userHasUpdateCallPermissionsCapability = useHasPermissions(
|
|
15
|
-
OwnCapability.UPDATE_CALL_PERMISSIONS
|
|
15
|
+
OwnCapability.UPDATE_CALL_PERMISSIONS,
|
|
16
16
|
);
|
|
17
17
|
|
|
18
18
|
const messageForPermission = (userName: string, permission: string) => {
|
|
@@ -44,7 +44,7 @@ export const usePermissionRequest = () => {
|
|
|
44
44
|
}
|
|
45
45
|
};
|
|
46
46
|
},
|
|
47
|
-
[call]
|
|
47
|
+
[call],
|
|
48
48
|
);
|
|
49
49
|
|
|
50
50
|
useEffect(() => {
|
|
@@ -69,7 +69,7 @@ export const usePermissionRequest = () => {
|
|
|
69
69
|
text: 'Allow',
|
|
70
70
|
onPress: handleUpdatePermission(event, true),
|
|
71
71
|
},
|
|
72
|
-
]
|
|
72
|
+
],
|
|
73
73
|
);
|
|
74
74
|
});
|
|
75
75
|
});
|
|
@@ -4,17 +4,16 @@ import {
|
|
|
4
4
|
OwnCapability,
|
|
5
5
|
} from '@stream-io/video-client';
|
|
6
6
|
import { useCall, useCallStateHooks } from '@stream-io/video-react-bindings';
|
|
7
|
-
import React, {
|
|
8
|
-
import {
|
|
7
|
+
import React, { useEffect, useRef } from 'react';
|
|
8
|
+
import { findNodeHandle, NativeModules, Platform } from 'react-native';
|
|
9
9
|
import { usePrevious } from '../utils/hooks';
|
|
10
10
|
import { useIsIosScreenshareBroadcastStarted } from './useIsIosScreenshareBroadcastStarted';
|
|
11
11
|
|
|
12
12
|
// ios >= 14.0 or android - platform restrictions
|
|
13
13
|
const CanDeviceScreenShare =
|
|
14
14
|
(Platform.OS === 'ios' &&
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
10) || Platform.OS === 'android';
|
|
15
|
+
Number.parseInt(Platform.Version.split('.')[0], 10) >= 14) ||
|
|
16
|
+
Platform.OS === 'android';
|
|
18
17
|
|
|
19
18
|
export const useScreenShareButton = (
|
|
20
19
|
/**
|
|
@@ -36,7 +35,7 @@ export const useScreenShareButton = (
|
|
|
36
35
|
* Handler to be called when the permissions to stream screen share media is missing
|
|
37
36
|
*
|
|
38
37
|
*/
|
|
39
|
-
onMissingScreenShareStreamPermission?: () => void
|
|
38
|
+
onMissingScreenShareStreamPermission?: () => void,
|
|
40
39
|
) => {
|
|
41
40
|
const call = useCall();
|
|
42
41
|
const { useLocalParticipant, useCallSettings, useOwnCapabilities } =
|
|
@@ -44,7 +43,7 @@ export const useScreenShareButton = (
|
|
|
44
43
|
const callSettings = useCallSettings();
|
|
45
44
|
const ownCapabilities = useOwnCapabilities();
|
|
46
45
|
const hasScreenSharingPermissions = ownCapabilities?.includes(
|
|
47
|
-
OwnCapability.SCREENSHARE
|
|
46
|
+
OwnCapability.SCREENSHARE,
|
|
48
47
|
);
|
|
49
48
|
const isScreenSharingEnabledInCall = callSettings?.screensharing.enabled;
|
|
50
49
|
|
|
@@ -55,7 +54,7 @@ export const useScreenShareButton = (
|
|
|
55
54
|
|
|
56
55
|
const iosScreenShareStartedFromSystem = useIsIosScreenshareBroadcastStarted();
|
|
57
56
|
const prevIosScreenShareStartedFromSystem = usePrevious(
|
|
58
|
-
iosScreenShareStartedFromSystem
|
|
57
|
+
iosScreenShareStartedFromSystem,
|
|
59
58
|
);
|
|
60
59
|
|
|
61
60
|
const localParticipant = useLocalParticipant();
|
|
@@ -91,7 +90,7 @@ export const useScreenShareButton = (
|
|
|
91
90
|
const logger = getLogger(['useScreenShareButton']);
|
|
92
91
|
logger(
|
|
93
92
|
'info',
|
|
94
|
-
'User does not have permissions to stream the screen share media, calling onMissingScreenShareStreamPermission handler if present'
|
|
93
|
+
'User does not have permissions to stream the screen share media, calling onMissingScreenShareStreamPermission handler if present',
|
|
95
94
|
);
|
|
96
95
|
onMissingScreenShareStreamPermission?.();
|
|
97
96
|
}
|
|
@@ -111,7 +110,7 @@ export const useScreenShareButton = (
|
|
|
111
110
|
logger(
|
|
112
111
|
'info',
|
|
113
112
|
'User opted to not give permissions to start a screen share stream',
|
|
114
|
-
error
|
|
113
|
+
error,
|
|
115
114
|
);
|
|
116
115
|
}
|
|
117
116
|
}
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
type VideoTrackType,
|
|
4
4
|
} from '@stream-io/video-client';
|
|
5
5
|
import { useCall } from '@stream-io/video-react-bindings';
|
|
6
|
-
import {
|
|
6
|
+
import { useEffect, useState } from 'react';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* This is a utility hook to get the dimensions of the video track of the participant.
|
|
@@ -12,7 +12,7 @@ import { useState, useEffect } from 'react';
|
|
|
12
12
|
*/
|
|
13
13
|
export function useTrackDimensions(
|
|
14
14
|
participant: StreamVideoParticipant,
|
|
15
|
-
trackType: VideoTrackType
|
|
15
|
+
trackType: VideoTrackType,
|
|
16
16
|
) {
|
|
17
17
|
const [trackDimensions, setTrackDimensions] = useState({
|
|
18
18
|
width: 0,
|
|
@@ -28,7 +28,7 @@ export function useTrackDimensions(
|
|
|
28
28
|
const stream =
|
|
29
29
|
trackType === 'screenShareTrack' ? screenShareStream : videoStream;
|
|
30
30
|
if (!stream) return;
|
|
31
|
-
const [track] = stream
|
|
31
|
+
const [track] = stream.getVideoTracks();
|
|
32
32
|
if (!track) return;
|
|
33
33
|
const { width = 0, height = 0 } = track.getSettings();
|
|
34
34
|
setTrackDimensions((prev) => {
|
|
@@ -44,20 +44,20 @@ export const AppStateListener = () => {
|
|
|
44
44
|
logger(
|
|
45
45
|
'debug',
|
|
46
46
|
'Initial PiP mode on mount (after asking native module) set to ',
|
|
47
|
-
!!isInPiP
|
|
47
|
+
!!isInPiP,
|
|
48
48
|
);
|
|
49
|
-
}
|
|
49
|
+
},
|
|
50
50
|
);
|
|
51
51
|
|
|
52
52
|
const eventEmitter = new NativeEventEmitter(
|
|
53
|
-
NativeModules.StreamVideoReactNative
|
|
53
|
+
NativeModules.StreamVideoReactNative,
|
|
54
54
|
);
|
|
55
55
|
|
|
56
56
|
const subscriptionPiPChange = eventEmitter.addListener(
|
|
57
57
|
PIP_CHANGE_EVENT,
|
|
58
58
|
(isInPiPMode: boolean) => {
|
|
59
59
|
isInPiPModeAndroid$.next(isInPiPMode);
|
|
60
|
-
}
|
|
60
|
+
},
|
|
61
61
|
);
|
|
62
62
|
|
|
63
63
|
return () => {
|
|
@@ -83,7 +83,7 @@ export const AppStateListener = () => {
|
|
|
83
83
|
});
|
|
84
84
|
logger(
|
|
85
85
|
'debug',
|
|
86
|
-
'Disable and reenable camera as app came to foreground'
|
|
86
|
+
'Disable and reenable camera as app came to foreground',
|
|
87
87
|
);
|
|
88
88
|
} else {
|
|
89
89
|
if (cameraDisabledByAppState.current) {
|
|
@@ -124,7 +124,7 @@ export const AppStateListener = () => {
|
|
|
124
124
|
}
|
|
125
125
|
disableCameraIfNeeded();
|
|
126
126
|
}
|
|
127
|
-
}
|
|
127
|
+
},
|
|
128
128
|
);
|
|
129
129
|
} else {
|
|
130
130
|
disableCameraIfNeeded();
|
|
@@ -2,10 +2,10 @@ import { useCallStateHooks } from '@stream-io/video-react-bindings';
|
|
|
2
2
|
import { useEffect } from 'react';
|
|
3
3
|
import {
|
|
4
4
|
CallingState,
|
|
5
|
-
setThermalState,
|
|
6
5
|
setPowerState,
|
|
6
|
+
setThermalState,
|
|
7
7
|
} from '@stream-io/video-client';
|
|
8
|
-
import { NativeModules, Platform
|
|
8
|
+
import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
|
|
9
9
|
|
|
10
10
|
const eventEmitter = NativeModules?.StreamVideoReactNative
|
|
11
11
|
? new NativeEventEmitter(NativeModules?.StreamVideoReactNative)
|
|
@@ -24,21 +24,21 @@ export const DeviceStats = () => {
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
NativeModules?.StreamVideoReactNative.isLowPowerModeEnabled().then(
|
|
27
|
-
(initialPowerMode: boolean) => setPowerState(initialPowerMode)
|
|
27
|
+
(initialPowerMode: boolean) => setPowerState(initialPowerMode),
|
|
28
28
|
);
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
const powerModeSubscription = eventEmitter?.addListener(
|
|
31
31
|
'isLowPowerModeEnabled',
|
|
32
|
-
(isLowPowerMode: boolean) => setPowerState(isLowPowerMode)
|
|
32
|
+
(isLowPowerMode: boolean) => setPowerState(isLowPowerMode),
|
|
33
33
|
);
|
|
34
34
|
|
|
35
35
|
NativeModules?.StreamVideoReactNative.currentThermalState().then(
|
|
36
|
-
(initialState: string) => setThermalState(initialState)
|
|
36
|
+
(initialState: string) => setThermalState(initialState),
|
|
37
37
|
);
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
const thermalStateSubscription = eventEmitter?.addListener(
|
|
40
40
|
'thermalStateDidChange',
|
|
41
|
-
(thermalState: string) => setThermalState(thermalState)
|
|
41
|
+
(thermalState: string) => setThermalState(thermalState),
|
|
42
42
|
);
|
|
43
43
|
|
|
44
44
|
// on android we need to explicitly start and stop the thermal status updates
|
|
@@ -8,7 +8,7 @@ import { StreamVideoStoreProvider } from '../contexts/StreamVideoContext';
|
|
|
8
8
|
import NetInfo from '@react-native-community/netinfo';
|
|
9
9
|
import { usePushRegisterEffect } from '../hooks';
|
|
10
10
|
import { translations } from '../translations';
|
|
11
|
-
import { type DeepPartial,
|
|
11
|
+
import { type DeepPartial, StreamTheme } from '../contexts/ThemeContext';
|
|
12
12
|
import { type Theme } from '../theme/theme';
|
|
13
13
|
|
|
14
14
|
/**
|
|
@@ -24,7 +24,7 @@ export const StreamVideo = (
|
|
|
24
24
|
StreamI18nProviderProps & {
|
|
25
25
|
style?: DeepPartial<Theme>;
|
|
26
26
|
}
|
|
27
|
-
|
|
27
|
+
>,
|
|
28
28
|
) => {
|
|
29
29
|
const {
|
|
30
30
|
client,
|
|
@@ -59,12 +59,12 @@ export const StreamVideo = (
|
|
|
59
59
|
translationsOverrides={translationsOverrides}
|
|
60
60
|
i18nInstance={i18nInstance}
|
|
61
61
|
>
|
|
62
|
-
<
|
|
62
|
+
<StreamTheme style={style}>
|
|
63
63
|
<StreamVideoStoreProvider>
|
|
64
64
|
<PushRegister />
|
|
65
65
|
{children}
|
|
66
66
|
</StreamVideoStoreProvider>
|
|
67
|
-
</
|
|
67
|
+
</StreamTheme>
|
|
68
68
|
</StreamVideoProvider>
|
|
69
69
|
);
|
|
70
70
|
};
|
|
@@ -42,7 +42,7 @@ export class StreamVideoRN {
|
|
|
42
42
|
static updateAndroidIncomingCallChannel(
|
|
43
43
|
updateChannel: Partial<
|
|
44
44
|
NonNullable<StreamVideoConfig['push']>['android']['incomingCallChannel']
|
|
45
|
-
|
|
45
|
+
>,
|
|
46
46
|
) {
|
|
47
47
|
const prevChannel = this.config.push?.android?.incomingCallChannel;
|
|
48
48
|
if (prevChannel) {
|
|
@@ -80,7 +80,7 @@ export class StreamVideoRN {
|
|
|
80
80
|
throw new Error(
|
|
81
81
|
`Support for navigateAcceptCall or navigateToIncomingCall in pushConfig has been removed.
|
|
82
82
|
Please watch for incoming and outgoing calls in the root component of your app.
|
|
83
|
-
Please see https://getstream.io/video/docs/react-native/advanced/ringing-calls/#watch-for-incoming-and-outgoing-calls for more information
|
|
83
|
+
Please see https://getstream.io/video/docs/react-native/advanced/ringing-calls/#watch-for-incoming-and-outgoing-calls for more information.`,
|
|
84
84
|
);
|
|
85
85
|
}
|
|
86
86
|
|
|
@@ -101,7 +101,7 @@ export class StreamVideoRN {
|
|
|
101
101
|
static onPushLogout() {
|
|
102
102
|
if (pushLogoutCallbacks.current) {
|
|
103
103
|
return Promise.all(
|
|
104
|
-
pushLogoutCallbacks.current.map((callback) => callback())
|
|
104
|
+
pushLogoutCallbacks.current.map((callback) => callback()),
|
|
105
105
|
).then(() => {});
|
|
106
106
|
}
|
|
107
107
|
return Promise.resolve();
|
|
@@ -117,7 +117,7 @@ export class StreamVideoRN {
|
|
|
117
117
|
* @returns Unsubscribe function
|
|
118
118
|
*/
|
|
119
119
|
static addOnNewCallNotificationListener(
|
|
120
|
-
callback: NewCallNotificationCallback
|
|
120
|
+
callback: NewCallNotificationCallback,
|
|
121
121
|
) {
|
|
122
122
|
if (!newNotificationCallbacks.current) {
|
|
123
123
|
newNotificationCallbacks.current = [callback];
|
|
@@ -101,7 +101,7 @@ export type StreamVideoConfig = {
|
|
|
101
101
|
callNotificationTextGetters?: {
|
|
102
102
|
getTitle: (
|
|
103
103
|
type: NonRingingPushEvent,
|
|
104
|
-
createdUserName: string
|
|
104
|
+
createdUserName: string,
|
|
105
105
|
) => string;
|
|
106
106
|
getBody: (type: NonRingingPushEvent, createdUserName: string) => string;
|
|
107
107
|
};
|
|
@@ -134,7 +134,7 @@ export type StreamVideoConfig = {
|
|
|
134
134
|
/** Callback that is called when a non ringing push notification was tapped */
|
|
135
135
|
onTapNonRingingCallNotification?: (
|
|
136
136
|
call_cid: string,
|
|
137
|
-
type: NonRingingPushEvent
|
|
137
|
+
type: NonRingingPushEvent,
|
|
138
138
|
) => void;
|
|
139
139
|
};
|
|
140
140
|
foregroundService: {
|
package/src/utils/index.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// Utility to join strings with commas and 'and'
|
|
2
2
|
export const generateCallTitle = (
|
|
3
3
|
memberUserIds: string[],
|
|
4
|
-
totalMembersToShow?: number
|
|
4
|
+
totalMembersToShow?: number,
|
|
5
5
|
) => {
|
|
6
6
|
const supportedAmountOfMemberUserIds = memberUserIds.slice(
|
|
7
7
|
0,
|
|
8
|
-
totalMembersToShow
|
|
8
|
+
totalMembersToShow,
|
|
9
9
|
);
|
|
10
10
|
if (
|
|
11
11
|
totalMembersToShow &&
|
|
@@ -3,7 +3,7 @@ import { type NonRingingPushEvent } from '../StreamVideoRN/types';
|
|
|
3
3
|
|
|
4
4
|
export type NewCallNotificationCallback = (
|
|
5
5
|
call: Call,
|
|
6
|
-
notificationType: NonRingingPushEvent
|
|
6
|
+
notificationType: NonRingingPushEvent,
|
|
7
7
|
) => void;
|
|
8
8
|
|
|
9
9
|
type NewNotificationCallbacks = {
|
|
@@ -16,11 +16,11 @@ const newNotificationCallbacks: NewNotificationCallbacks = {};
|
|
|
16
16
|
|
|
17
17
|
export const onNewCallNotification: NewCallNotificationCallback = (
|
|
18
18
|
call,
|
|
19
|
-
notificationType
|
|
19
|
+
notificationType,
|
|
20
20
|
) => {
|
|
21
21
|
if (newNotificationCallbacks.current && lastCid !== call.cid) {
|
|
22
22
|
newNotificationCallbacks.current.forEach((callback) =>
|
|
23
|
-
callback(call, notificationType)
|
|
23
|
+
callback(call, notificationType),
|
|
24
24
|
);
|
|
25
25
|
lastCid = call.cid;
|
|
26
26
|
}
|
|
@@ -4,7 +4,7 @@ type PushLogoutCallbacks = {
|
|
|
4
4
|
current?: Callback[];
|
|
5
5
|
};
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
const pushLogoutCallbacks: PushLogoutCallbacks = {};
|
|
8
8
|
|
|
9
9
|
export const setPushLogoutCallback = (callback: Callback) => {
|
|
10
10
|
if (!pushLogoutCallbacks.current) {
|