@@ -23,7 +23,6 @@ import {
2323 setActiveParticipants , setUsersTalking ,
2424 updateConversationMediaStreams
2525} from "../features/videoConversationsSlice.ts" ;
26- import { useRef } from "react" ;
2726
2827interface IAuthData {
2928 token : string ;
@@ -39,8 +38,6 @@ export default function useSdk() {
3938 let webrtcSdk : GenesysCloudWebrtcSdk ;
4039 const dispatch = useDispatch < AppDispatch > ( ) ;
4140
42- // const memberStatusUpdateRef = useRef<{ memberStatusMessage: MemberStatusMessage }>();
43-
4441 const sdk : GenesysCloudWebrtcSdk = useSelector ( ( state : RootState ) => state . sdk . sdk ) ;
4542
4643 async function initWebrtcSDK ( authData : IAuthData ) {
@@ -137,21 +134,20 @@ export default function useSdk() {
137134 }
138135
139136 const updateMemberStatus = ( memberStatusMessage : MemberStatusMessage , convId : string ) => {
140- // const lastUpdateParams = memberStatusUpdateRef.current?.memberStatusMessage?.params || {};
141- // const mergedUpdateParams = { ...lastUpdateParams, ...memberStatusMessage.params }
142- // const mergedUpdate = { ...memberStatusMessage, params: mergedUpdateParams }
143- //
144- // if (memberStatusMessage?.params?.incomingStreams) {
145- // const userIds = memberStatusMessage.params.incomingStreams.map(stream => {
146- // const appId = stream.appId || stream.appid;
147- // return appId?.sourceUserId
148- // });
149- // dispatch(setActiveParticipants({
150- // conversationId: convId,
151- // activeParticipants: userIds
152- // }));
153- // }
154-
137+ // Detect which remote user is shown
138+ if ( memberStatusMessage ?. params ?. incomingStreams ) {
139+ const userIds = memberStatusMessage . params . incomingStreams . map ( stream => {
140+ const appId = stream . appId || stream . appid ;
141+ return appId ?. sourceUserId
142+ } ) ;
143+ // We don't show more than one remote stream at a time
144+ const userId = userIds [ 0 ]
145+ dispatch ( setActiveParticipants ( {
146+ conversationId : convId ,
147+ activeParticipant : userId
148+ } ) ) ;
149+ }
150+ // Detect if the user that is shown is 'speaking'
155151 if ( memberStatusMessage ?. params ?. speakers ) {
156152 const usersTalking = memberStatusMessage . params . speakers . reduce ( ( acc , current ) => {
157153 return { ...acc , [ current . appId . sourceUserId ] : current . activity === 'speaking' }
@@ -161,10 +157,6 @@ export default function useSdk() {
161157 usersTalking
162158 } ) ) ;
163159 }
164-
165- // memberStatusUpdateRef.current = {
166- // memberStatusMessage: mergedUpdate
167- // };
168160 }
169161
170162 const setupSessionListeners = ( session : IExtendedMediaSession ) => {
0 commit comments