@stream-io/video-react-native-sdk 1.10.17 → 1.10.18
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 +718 -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/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/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/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/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.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 +21 -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 +2 -2
- 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 +1 -1
- 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
|
@@ -8,7 +8,7 @@ import { useCall, useCallStateHooks } from '@stream-io/video-react-bindings';
|
|
|
8
8
|
import type { MediaStream } from '@stream-io/react-native-webrtc';
|
|
9
9
|
import React, { useEffect, useMemo } from 'react';
|
|
10
10
|
import { findNodeHandle } from 'react-native';
|
|
11
|
-
import {
|
|
11
|
+
import { onNativeCallClosed, RTCViewPipNative } from './RTCViewPipNative';
|
|
12
12
|
import { useDebouncedValue } from '../../../utils/hooks/useDebouncedValue';
|
|
13
13
|
import { shouldDisableIOSLocalVideoOnBackgroundRef } from '../../../utils/internal/shouldDisableIOSLocalVideoOnBackground';
|
|
14
14
|
|
|
@@ -26,7 +26,7 @@ const RTCViewPipIOS = React.memo(({ includeLocalParticipantVideo }: Props) => {
|
|
|
26
26
|
|
|
27
27
|
const [dominantSpeaker, dominantSpeaker2] = allParticipants.filter(
|
|
28
28
|
(participant) =>
|
|
29
|
-
includeLocalParticipantVideo ? true : !participant.isLocalParticipant
|
|
29
|
+
includeLocalParticipantVideo ? true : !participant.isLocalParticipant,
|
|
30
30
|
);
|
|
31
31
|
|
|
32
32
|
// show the dominant remote speaker in PiP mode
|
|
@@ -59,7 +59,7 @@ const RTCViewPipIOS = React.memo(({ includeLocalParticipantVideo }: Props) => {
|
|
|
59
59
|
const unsubFunc = call?.on('call.ended', () => {
|
|
60
60
|
getLogger(['RTCViewPipIOS'])(
|
|
61
61
|
'debug',
|
|
62
|
-
`onCallClosed due to call.ended event
|
|
62
|
+
`onCallClosed due to call.ended event`,
|
|
63
63
|
);
|
|
64
64
|
unsubFunc?.();
|
|
65
65
|
onCallClosed();
|
|
@@ -68,7 +68,7 @@ const RTCViewPipIOS = React.memo(({ includeLocalParticipantVideo }: Props) => {
|
|
|
68
68
|
if (state === CallingState.LEFT || state === CallingState.IDLE) {
|
|
69
69
|
getLogger(['RTCViewPipIOS'])(
|
|
70
70
|
'debug',
|
|
71
|
-
`onCallClosed due to callingState: ${state}
|
|
71
|
+
`onCallClosed due to callingState: ${state}`,
|
|
72
72
|
);
|
|
73
73
|
subscription?.unsubscribe();
|
|
74
74
|
onCallClosed();
|
|
@@ -100,4 +100,6 @@ const RTCViewPipIOS = React.memo(({ includeLocalParticipantVideo }: Props) => {
|
|
|
100
100
|
return <RTCViewPipNative streamURL={streamURL} ref={nativeRef} />;
|
|
101
101
|
});
|
|
102
102
|
|
|
103
|
+
RTCViewPipIOS.displayName = 'RTCViewPipIOS';
|
|
104
|
+
|
|
103
105
|
export default RTCViewPipIOS;
|
|
@@ -4,8 +4,8 @@ import {
|
|
|
4
4
|
type HostComponent,
|
|
5
5
|
Platform,
|
|
6
6
|
requireNativeComponent,
|
|
7
|
-
UIManager,
|
|
8
7
|
StyleSheet,
|
|
8
|
+
UIManager,
|
|
9
9
|
} from 'react-native';
|
|
10
10
|
|
|
11
11
|
const COMPONENT_NAME = 'RTCViewPip';
|
|
@@ -21,9 +21,8 @@ export function onNativeCallClosed(reactTag: number) {
|
|
|
21
21
|
getLogger(['RTCViewPipNative'])('debug', 'onNativeCallClosed');
|
|
22
22
|
UIManager.dispatchViewManagerCommand(
|
|
23
23
|
reactTag,
|
|
24
|
-
// @ts-ignore
|
|
25
24
|
UIManager.getViewManagerConfig(COMPONENT_NAME).Commands.onCallClosed,
|
|
26
|
-
[]
|
|
25
|
+
[],
|
|
27
26
|
);
|
|
28
27
|
}
|
|
29
28
|
|
|
@@ -42,10 +41,11 @@ export const RTCViewPipNative = React.memo(
|
|
|
42
41
|
<NativeComponent
|
|
43
42
|
style={StyleSheet.absoluteFill}
|
|
44
43
|
pointerEvents={'none'}
|
|
44
|
+
// eslint-disable-next-line react/prop-types
|
|
45
45
|
streamURL={props.streamURL}
|
|
46
|
-
// @ts-
|
|
46
|
+
// @ts-expect-error - types issue
|
|
47
47
|
ref={ref}
|
|
48
48
|
/>
|
|
49
49
|
);
|
|
50
|
-
})
|
|
50
|
+
}),
|
|
51
51
|
);
|
|
@@ -41,7 +41,7 @@ export const ScreenShareToggleButton = ({
|
|
|
41
41
|
const { onPress, hasPublishedScreenShare } = useScreenShareButton(
|
|
42
42
|
screenCapturePickerViewiOSRef,
|
|
43
43
|
onScreenShareStartedHandler,
|
|
44
|
-
onScreenShareStoppedHandler
|
|
44
|
+
onScreenShareStoppedHandler,
|
|
45
45
|
);
|
|
46
46
|
|
|
47
47
|
if (!onPress) return null;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import React, { useEffect, useMemo, useRef } from 'react';
|
|
2
2
|
import {
|
|
3
|
+
Animated,
|
|
4
|
+
Easing,
|
|
3
5
|
type LayoutRectangle,
|
|
4
6
|
Pressable,
|
|
5
7
|
StyleSheet,
|
|
6
|
-
Animated,
|
|
7
|
-
Easing,
|
|
8
8
|
} from 'react-native';
|
|
9
9
|
import { useCall } from '@stream-io/video-react-bindings';
|
|
10
|
-
import { type SendReactionRequest
|
|
10
|
+
import { getLogger, type SendReactionRequest } from '@stream-io/video-client';
|
|
11
11
|
import { ComponentTestIds } from '../../../../constants/TestIds';
|
|
12
12
|
import { useTheme } from '../../../../contexts/ThemeContext';
|
|
13
13
|
import type { ReactionsButtonProps } from '../ReactionsButton';
|
|
@@ -187,6 +187,6 @@ const useStyles = () => {
|
|
|
187
187
|
fontSize: 18.5,
|
|
188
188
|
},
|
|
189
189
|
}),
|
|
190
|
-
[theme]
|
|
190
|
+
[theme],
|
|
191
191
|
);
|
|
192
192
|
};
|
|
@@ -116,7 +116,7 @@ export const CallParticipantsList = ({
|
|
|
116
116
|
const participantPatches: StreamVideoParticipantPatches = {};
|
|
117
117
|
let mustUpdate = false;
|
|
118
118
|
const newVisibleParticipantSessionIds = new Set<string>(
|
|
119
|
-
viewableItems.map((v) => v.key)
|
|
119
|
+
viewableItems.map((v) => v.key),
|
|
120
120
|
);
|
|
121
121
|
const oldVisibleParticipantSessionIds =
|
|
122
122
|
viewableParticipantSessionIds.current;
|
|
@@ -151,7 +151,7 @@ export const CallParticipantsList = ({
|
|
|
151
151
|
|
|
152
152
|
// NOTE: key must be sessionId always as it is used to track viewable participants
|
|
153
153
|
const keyExtractor = useRef<NonNullable<FlatListProps['keyExtractor']>>(
|
|
154
|
-
(item) => item.sessionId
|
|
154
|
+
(item) => item.sessionId,
|
|
155
155
|
).current;
|
|
156
156
|
|
|
157
157
|
const onLayout = useRef<NonNullable<FlatListProps['onLayout']>>((event) => {
|
|
@@ -199,7 +199,7 @@ export const CallParticipantsList = ({
|
|
|
199
199
|
const renderItem = useCallback<NonNullable<FlatListProps['renderItem']>>(
|
|
200
200
|
({ item: participant }) => {
|
|
201
201
|
const isVisible = viewableParticipantSessionIds.current.has(
|
|
202
|
-
participant.sessionId
|
|
202
|
+
participant.sessionId,
|
|
203
203
|
);
|
|
204
204
|
return (
|
|
205
205
|
<>
|
|
@@ -217,7 +217,7 @@ export const CallParticipantsList = ({
|
|
|
217
217
|
);
|
|
218
218
|
},
|
|
219
219
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
220
|
-
[itemContainerStyle]
|
|
220
|
+
[itemContainerStyle],
|
|
221
221
|
);
|
|
222
222
|
|
|
223
223
|
// in vertical mode, only when there are more than 2 participants in a call, the participants should be displayed in a grid
|
|
@@ -281,7 +281,7 @@ const useStyles = () => {
|
|
|
281
281
|
margin: theme.variants.spacingSizes.xs,
|
|
282
282
|
},
|
|
283
283
|
}),
|
|
284
|
-
[theme]
|
|
284
|
+
[theme],
|
|
285
285
|
);
|
|
286
286
|
};
|
|
287
287
|
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
} from '@stream-io/video-react-bindings';
|
|
8
8
|
import { Avatar } from '../../utility/Avatar';
|
|
9
9
|
import type { StreamVideoParticipant } from '@stream-io/video-client';
|
|
10
|
+
import type { MediaStream } from '@stream-io/react-native-webrtc';
|
|
10
11
|
import { RTCView } from '@stream-io/react-native-webrtc';
|
|
11
12
|
import { LobbyControls as DefaultLobbyControls } from '../CallControls/LobbyControls';
|
|
12
13
|
import {
|
|
@@ -15,7 +16,6 @@ import {
|
|
|
15
16
|
} from './JoinCallButton';
|
|
16
17
|
import { useTheme } from '../../../contexts/ThemeContext';
|
|
17
18
|
import { useCallMediaStreamCleanup } from '../../../hooks/internal/useCallMediaStreamCleanup';
|
|
18
|
-
import type { MediaStream } from '@stream-io/react-native-webrtc';
|
|
19
19
|
import {
|
|
20
20
|
LobbyFooter as DefaultLobbyFooter,
|
|
21
21
|
type LobbyFooterProps,
|
|
@@ -206,6 +206,6 @@ const useStyles = (landscape = false) => {
|
|
|
206
206
|
flexShrink: 1,
|
|
207
207
|
},
|
|
208
208
|
}),
|
|
209
|
-
[theme, landscape]
|
|
209
|
+
[theme, landscape],
|
|
210
210
|
);
|
|
211
211
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useMemo } from 'react';
|
|
2
2
|
import { type LobbyProps } from './Lobby';
|
|
3
|
-
import {
|
|
3
|
+
import { StyleSheet, Text, View } from 'react-native';
|
|
4
4
|
import { useTheme } from '../../../contexts/ThemeContext';
|
|
5
5
|
import { useCallStateHooks, useI18n } from '@stream-io/video-react-bindings';
|
|
6
6
|
import { Lock } from '../../../icons/Lock';
|
|
@@ -92,6 +92,6 @@ const useStyles = () => {
|
|
|
92
92
|
fontWeight: '400',
|
|
93
93
|
},
|
|
94
94
|
}),
|
|
95
|
-
[theme]
|
|
95
|
+
[theme],
|
|
96
96
|
);
|
|
97
97
|
};
|
|
@@ -63,7 +63,7 @@ export const UserInfo = ({
|
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
const memberUserIds = membersToShow.map(
|
|
66
|
-
(memberToShow) => memberToShow.name ?? memberToShow.id
|
|
66
|
+
(memberToShow) => memberToShow.name ?? memberToShow.id,
|
|
67
67
|
);
|
|
68
68
|
|
|
69
69
|
const callTitle = generateCallTitle(memberUserIds, totalMembersToShow);
|
|
@@ -23,7 +23,7 @@ export const LivestreamScreenShareToggleButton = () => {
|
|
|
23
23
|
const screenCapturePickerViewiOSRef = React.useRef(null);
|
|
24
24
|
|
|
25
25
|
const { onPress, hasPublishedScreenShare } = useScreenShareButton(
|
|
26
|
-
screenCapturePickerViewiOSRef
|
|
26
|
+
screenCapturePickerViewiOSRef,
|
|
27
27
|
);
|
|
28
28
|
|
|
29
29
|
return (
|
|
@@ -66,7 +66,7 @@ export const DurationBadge = ({ mode }: DurationBadgeProps) => {
|
|
|
66
66
|
|
|
67
67
|
const callLiveStartedUnsubscribe = call?.on(
|
|
68
68
|
'call.live_started',
|
|
69
|
-
handleLiveStarted
|
|
69
|
+
handleLiveStarted,
|
|
70
70
|
);
|
|
71
71
|
const callUpdatedUnsubscribe = call?.on('call.updated', handleLiveEnded);
|
|
72
72
|
|
package/src/components/Participant/FloatingParticipantView/FloatingView/AnimatedFloatingView.tsx
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import React, {
|
|
1
|
+
import React, { useEffect, useReducer, useRef } from 'react';
|
|
2
2
|
import {
|
|
3
3
|
Animated,
|
|
4
|
+
Easing,
|
|
4
5
|
type LayoutRectangle,
|
|
5
6
|
PanResponder,
|
|
6
|
-
Easing,
|
|
7
|
-
View,
|
|
8
7
|
StyleSheet,
|
|
8
|
+
View,
|
|
9
9
|
} from 'react-native';
|
|
10
10
|
import {
|
|
11
|
-
|
|
12
|
-
getSnapAlignments,
|
|
11
|
+
floatingChildViewContainerStyle,
|
|
13
12
|
FloatingViewAlignment,
|
|
13
|
+
type FloatingViewProps,
|
|
14
14
|
getClosestSnapAlignment,
|
|
15
|
-
|
|
15
|
+
getSnapAlignments,
|
|
16
16
|
} from './common';
|
|
17
17
|
import { getLogger } from '@stream-io/video-client';
|
|
18
18
|
|
|
@@ -34,7 +34,7 @@ const AnimatedFloatingView = ({
|
|
|
34
34
|
// we need to force update the component when the rectangle is available
|
|
35
35
|
// we cannot just rely on the rectangle because it is not available on the first render
|
|
36
36
|
// and we need snapAlignments to be in a Ref so that it can be used in the panResponder's creation Ref
|
|
37
|
-
const [
|
|
37
|
+
const [, forceUpdate] = useReducer((x) => x + 1, 0);
|
|
38
38
|
|
|
39
39
|
// the offsets for the translate bounds of the floating view
|
|
40
40
|
// stored in ref, because it is used in the panResponder (which has to be a ref)
|
|
@@ -86,7 +86,7 @@ const AnimatedFloatingView = ({
|
|
|
86
86
|
],
|
|
87
87
|
{
|
|
88
88
|
useNativeDriver: false, // pan responder move event doesn't support nativeDriver
|
|
89
|
-
}
|
|
89
|
+
},
|
|
90
90
|
),
|
|
91
91
|
onPanResponderGrant: () => {
|
|
92
92
|
// start of a drag value is always (0,0) and offset is the last (translateX, translateY)
|
|
@@ -111,14 +111,14 @@ const AnimatedFloatingView = ({
|
|
|
111
111
|
easing: Easing.inOut(Easing.quad),
|
|
112
112
|
}).start();
|
|
113
113
|
},
|
|
114
|
-
})
|
|
114
|
+
}),
|
|
115
115
|
).current;
|
|
116
116
|
|
|
117
117
|
useEffect(() => {
|
|
118
118
|
const logger = getLogger(['AnimatedFloatingView']);
|
|
119
119
|
logger(
|
|
120
120
|
'info',
|
|
121
|
-
'react-native-reanimated and/or react-native-gesture-handler libraries are not installed. Please install them to get a more performant draggable local video component'
|
|
121
|
+
'react-native-reanimated and/or react-native-gesture-handler libraries are not installed. Please install them to get a more performant draggable local video component',
|
|
122
122
|
);
|
|
123
123
|
}, []);
|
|
124
124
|
|
package/src/components/Participant/FloatingParticipantView/FloatingView/ReanimatedFloatingView.tsx
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
import React, {
|
|
1
|
+
import React, { useEffect, useMemo } from 'react';
|
|
2
2
|
import { type LayoutRectangle, View } from 'react-native';
|
|
3
3
|
import {
|
|
4
|
-
FloatingViewAlignment,
|
|
5
|
-
getSnapAlignments,
|
|
6
|
-
getClosestSnapAlignment,
|
|
7
4
|
floatingChildViewContainerStyle,
|
|
5
|
+
FloatingViewAlignment,
|
|
8
6
|
type FloatingViewProps,
|
|
7
|
+
getClosestSnapAlignment,
|
|
8
|
+
getSnapAlignments,
|
|
9
9
|
} from './common';
|
|
10
|
+
|
|
10
11
|
type GestureHandlerExportsType = typeof import('react-native-gesture-handler');
|
|
11
12
|
type ReanimatedNamespaceType = typeof import('react-native-reanimated').default;
|
|
12
13
|
type ReanimatedExportsType = typeof import('react-native-reanimated');
|
|
13
14
|
|
|
14
15
|
let ReanimatedFloatingView: React.FC<FloatingViewProps> = () => {
|
|
15
16
|
throw new Error(
|
|
16
|
-
'ReanimatedFloatingView component must not be used without the react-native-reanimated library and react-native-gesture-handler library installed'
|
|
17
|
+
'ReanimatedFloatingView component must not be used without the react-native-reanimated library and react-native-gesture-handler library installed',
|
|
17
18
|
);
|
|
18
19
|
};
|
|
19
20
|
|
|
@@ -39,6 +40,7 @@ try {
|
|
|
39
40
|
withDelay: ReanimatedExportsType['withDelay'];
|
|
40
41
|
} = require('react-native-reanimated');
|
|
41
42
|
|
|
43
|
+
// eslint-disable-next-line react/display-name
|
|
42
44
|
ReanimatedFloatingView = ({
|
|
43
45
|
initialAlignment,
|
|
44
46
|
containerHeight,
|
|
@@ -77,7 +79,7 @@ try {
|
|
|
77
79
|
}, [rectangle, containerWidth, containerHeight]);
|
|
78
80
|
|
|
79
81
|
const dragGesture = Gesture.Pan()
|
|
80
|
-
.onStart((
|
|
82
|
+
.onStart(() => {
|
|
81
83
|
start.value = {
|
|
82
84
|
x: translationX.value,
|
|
83
85
|
y: translationY.value,
|
|
@@ -89,15 +91,15 @@ try {
|
|
|
89
91
|
0,
|
|
90
92
|
Math.min(
|
|
91
93
|
e.translationX + (start.value.x ?? 0),
|
|
92
|
-
snapAlignments[FloatingViewAlignment.bottomRight].x
|
|
93
|
-
)
|
|
94
|
+
snapAlignments[FloatingViewAlignment.bottomRight].x,
|
|
95
|
+
),
|
|
94
96
|
);
|
|
95
97
|
translationY.value = Math.max(
|
|
96
98
|
0,
|
|
97
99
|
Math.min(
|
|
98
100
|
e.translationY + (start.value.y ?? 0),
|
|
99
|
-
snapAlignments[FloatingViewAlignment.bottomRight].y
|
|
100
|
-
)
|
|
101
|
+
snapAlignments[FloatingViewAlignment.bottomRight].y,
|
|
102
|
+
),
|
|
101
103
|
);
|
|
102
104
|
})
|
|
103
105
|
.onEnd(() => {
|
|
@@ -138,7 +140,7 @@ try {
|
|
|
138
140
|
start,
|
|
139
141
|
]);
|
|
140
142
|
|
|
141
|
-
// @ts-
|
|
143
|
+
// @ts-expect-error - types conflict
|
|
142
144
|
const animatedStyle = useAnimatedStyle(() => {
|
|
143
145
|
return {
|
|
144
146
|
height: rectangle?.height,
|
|
@@ -160,7 +162,7 @@ try {
|
|
|
160
162
|
// gesture handler root view must absolutely fill the bounds
|
|
161
163
|
// to intercept gestures within those bounds
|
|
162
164
|
<GestureDetector gesture={dragGesture}>
|
|
163
|
-
{/* @ts-
|
|
165
|
+
{/* @ts-expect-error types conflict */}
|
|
164
166
|
<Reanimated.View style={animatedStyle}>
|
|
165
167
|
<View
|
|
166
168
|
onLayout={(event) => {
|
|
@@ -186,6 +188,6 @@ try {
|
|
|
186
188
|
</GestureDetector>
|
|
187
189
|
);
|
|
188
190
|
};
|
|
189
|
-
} catch
|
|
191
|
+
} catch {}
|
|
190
192
|
|
|
191
193
|
export default ReanimatedFloatingView;
|
|
@@ -15,7 +15,7 @@ export type ParticipantNetworkQualityIndicatorProps = Pick<
|
|
|
15
15
|
>;
|
|
16
16
|
|
|
17
17
|
const useConnectionQualitySignalColors = (
|
|
18
|
-
participant: ParticipantViewProps['participant']
|
|
18
|
+
participant: ParticipantViewProps['participant'],
|
|
19
19
|
) => {
|
|
20
20
|
const {
|
|
21
21
|
theme: { colors },
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useEffect, useMemo } from 'react';
|
|
2
2
|
import { StyleSheet, Text, View } from 'react-native';
|
|
3
3
|
import { useCall } from '@stream-io/video-react-bindings';
|
|
4
|
-
import {
|
|
4
|
+
import { defaultEmojiReactions, Z_INDEX } from '../../../constants';
|
|
5
5
|
import type { ParticipantViewProps } from './ParticipantView';
|
|
6
6
|
import { useTheme } from '../../../contexts/ThemeContext';
|
|
7
7
|
import type { CallContentProps } from '../../Call';
|
|
@@ -53,7 +53,7 @@ export const ParticipantReaction = ({
|
|
|
53
53
|
reaction &&
|
|
54
54
|
supportedReactions.find(
|
|
55
55
|
(supportedReaction) =>
|
|
56
|
-
supportedReaction.emoji_code === reaction.emoji_code
|
|
56
|
+
supportedReaction.emoji_code === reaction.emoji_code,
|
|
57
57
|
);
|
|
58
58
|
|
|
59
59
|
return (
|
|
@@ -90,6 +90,6 @@ const useStyles = () => {
|
|
|
90
90
|
justifyContent: 'center',
|
|
91
91
|
},
|
|
92
92
|
}),
|
|
93
|
-
[theme]
|
|
93
|
+
[theme],
|
|
94
94
|
);
|
|
95
95
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useEffect, useMemo, useState } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { Animated, StyleSheet, View } from 'react-native';
|
|
3
3
|
import { useTheme } from '../../../contexts';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -41,7 +41,7 @@ export const SpeechIndicator = ({ isSpeaking }: SpeechIndicatorProps) => {
|
|
|
41
41
|
duration: (index + 1) * 300,
|
|
42
42
|
useNativeDriver: true,
|
|
43
43
|
}),
|
|
44
|
-
])
|
|
44
|
+
]),
|
|
45
45
|
).start();
|
|
46
46
|
});
|
|
47
47
|
} else {
|
|
@@ -96,7 +96,7 @@ const useStyles = () => {
|
|
|
96
96
|
borderRadius: 2,
|
|
97
97
|
},
|
|
98
98
|
}),
|
|
99
|
-
[theme]
|
|
99
|
+
[theme],
|
|
100
100
|
);
|
|
101
101
|
};
|
|
102
102
|
|
|
@@ -27,7 +27,7 @@ let videoFiltersModule: VideoFiltersModuleType | undefined;
|
|
|
27
27
|
|
|
28
28
|
try {
|
|
29
29
|
videoFiltersModule = require('@stream-io/video-filters-react-native');
|
|
30
|
-
} catch
|
|
30
|
+
} catch {}
|
|
31
31
|
|
|
32
32
|
const resolveAssetSourceFunc = Image.resolveAssetSource;
|
|
33
33
|
|
|
@@ -87,12 +87,12 @@ export const useBackgroundFilters = () => {
|
|
|
87
87
|
const context = useContext(BackgroundFiltersContext);
|
|
88
88
|
if (!context) {
|
|
89
89
|
throw new Error(
|
|
90
|
-
'useBackgroundFilters must be used within a BackgroundFiltersProvider'
|
|
90
|
+
'useBackgroundFilters must be used within a BackgroundFiltersProvider',
|
|
91
91
|
);
|
|
92
92
|
}
|
|
93
93
|
if (!videoFiltersModule) {
|
|
94
94
|
throw new Error(
|
|
95
|
-
"Install the '@stream-io/video-filters-react-native' library to use background filters"
|
|
95
|
+
"Install the '@stream-io/video-filters-react-native' library to use background filters",
|
|
96
96
|
);
|
|
97
97
|
}
|
|
98
98
|
return context;
|
|
@@ -107,7 +107,7 @@ export const useBackgroundFilters = () => {
|
|
|
107
107
|
export const BackgroundFiltersProvider = ({ children }: PropsWithChildren) => {
|
|
108
108
|
if (!videoFiltersModule) {
|
|
109
109
|
throw new Error(
|
|
110
|
-
"Install the '@stream-io/video-filters-react-native' library to use background filters"
|
|
110
|
+
"Install the '@stream-io/video-filters-react-native' library to use background filters",
|
|
111
111
|
);
|
|
112
112
|
}
|
|
113
113
|
const call = useCall();
|
|
@@ -138,7 +138,7 @@ export const BackgroundFiltersProvider = ({ children }: PropsWithChildren) => {
|
|
|
138
138
|
});
|
|
139
139
|
setCurrentBackgroundFilter({ blur: blurIntensity });
|
|
140
140
|
},
|
|
141
|
-
[call]
|
|
141
|
+
[call],
|
|
142
142
|
);
|
|
143
143
|
|
|
144
144
|
const applyBackgroundImageFilter = useCallback(
|
|
@@ -161,7 +161,7 @@ export const BackgroundFiltersProvider = ({ children }: PropsWithChildren) => {
|
|
|
161
161
|
});
|
|
162
162
|
setCurrentBackgroundFilter({ image: imageSource });
|
|
163
163
|
},
|
|
164
|
-
[call]
|
|
164
|
+
[call],
|
|
165
165
|
);
|
|
166
166
|
|
|
167
167
|
const disableAllFilters = useCallback(() => {
|
|
@@ -189,7 +189,7 @@ export const BackgroundFiltersProvider = ({ children }: PropsWithChildren) => {
|
|
|
189
189
|
applyBackgroundImageFilter,
|
|
190
190
|
currentBackgroundFilter,
|
|
191
191
|
disableAllFilters,
|
|
192
|
-
]
|
|
192
|
+
],
|
|
193
193
|
);
|
|
194
194
|
|
|
195
195
|
return (
|
|
@@ -17,7 +17,7 @@ function createStoreContext<StoreType extends object>(initialState: StoreType) {
|
|
|
17
17
|
type SetStateFuncType = (
|
|
18
18
|
partialStateOrFunc:
|
|
19
19
|
| Partial<StoreType>
|
|
20
|
-
| ((prevState: StoreType) => Partial<StoreType>)
|
|
20
|
+
| ((prevState: StoreType) => Partial<StoreType>),
|
|
21
21
|
) => void;
|
|
22
22
|
|
|
23
23
|
// returns unsubscribe function
|
|
@@ -79,7 +79,7 @@ function createStoreContext<StoreType extends object>(initialState: StoreType) {
|
|
|
79
79
|
* @category Client State
|
|
80
80
|
*/
|
|
81
81
|
function useStoreValue<SelectorOutput extends StoreType[keyof StoreType]>(
|
|
82
|
-
selector: (store: StoreType) => SelectorOutput
|
|
82
|
+
selector: (store: StoreType) => SelectorOutput,
|
|
83
83
|
): SelectorOutput {
|
|
84
84
|
const store = useContext(StoreContext);
|
|
85
85
|
if (!store) {
|
|
@@ -89,7 +89,7 @@ function createStoreContext<StoreType extends object>(initialState: StoreType) {
|
|
|
89
89
|
const [state, setState] = useState(selector(store.getSnapshot()));
|
|
90
90
|
useEffect(
|
|
91
91
|
() => store.subscribe(() => setState(selector(store.getSnapshot()))),
|
|
92
|
-
[selector, store]
|
|
92
|
+
[selector, store],
|
|
93
93
|
);
|
|
94
94
|
|
|
95
95
|
return state;
|
|
@@ -45,7 +45,7 @@ export const mergeThemes = (params: MergedThemesParams) => {
|
|
|
45
45
|
const DEFAULT_BASE_CONTEXT_VALUE = {};
|
|
46
46
|
|
|
47
47
|
export const ThemeContext = createContext<Theme>(
|
|
48
|
-
DEFAULT_BASE_CONTEXT_VALUE as Theme
|
|
48
|
+
DEFAULT_BASE_CONTEXT_VALUE as Theme,
|
|
49
49
|
);
|
|
50
50
|
|
|
51
51
|
export const ThemeProvider: React.FC<
|
|
@@ -73,7 +73,7 @@ export const useTheme = () => {
|
|
|
73
73
|
|
|
74
74
|
if (theme === DEFAULT_BASE_CONTEXT_VALUE) {
|
|
75
75
|
throw new Error(
|
|
76
|
-
'The useThemeContext hook was called outside the ThemeContext Provider. Make sure you have configured OverlayProvider component correctly - https://getstream.io/chat/docs/sdk/reactnative/basics/hello_stream_chat/#overlay-provider'
|
|
76
|
+
'The useThemeContext hook was called outside the ThemeContext Provider. Make sure you have configured OverlayProvider component correctly - https://getstream.io/chat/docs/sdk/reactnative/basics/hello_stream_chat/#overlay-provider',
|
|
77
77
|
);
|
|
78
78
|
}
|
|
79
79
|
return { theme };
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { MediaStream } from '@stream-io/react-native-webrtc';
|
|
2
1
|
import {
|
|
3
2
|
CallingState,
|
|
4
3
|
disposeOfMediaStream,
|
|
@@ -19,9 +18,7 @@ export const useCallMediaStreamCleanup = () => {
|
|
|
19
18
|
|
|
20
19
|
useEffect(() => {
|
|
21
20
|
return () => {
|
|
22
|
-
const mediaStream = callRef.current?.camera.state.mediaStream
|
|
23
|
-
| MediaStream
|
|
24
|
-
| undefined;
|
|
21
|
+
const mediaStream = callRef.current?.camera.state.mediaStream;
|
|
25
22
|
if (
|
|
26
23
|
mediaStream &&
|
|
27
24
|
!(
|
|
@@ -31,10 +28,9 @@ export const useCallMediaStreamCleanup = () => {
|
|
|
31
28
|
) {
|
|
32
29
|
getLogger(['useCallMediaStreamCleanup'])(
|
|
33
30
|
'debug',
|
|
34
|
-
'Cleaning up camera media stream'
|
|
31
|
+
'Cleaning up camera media stream',
|
|
35
32
|
);
|
|
36
33
|
// we cleanup media stream only if call is not joined or joining
|
|
37
|
-
// @ts-ignore Due to DOM typing incompatible with RN
|
|
38
34
|
disposeOfMediaStream(mediaStream);
|
|
39
35
|
}
|
|
40
36
|
};
|