Handle ICE state failed
- Handle sending call end on ICE state failed
- Minor fix for startcall function
GitLab: 189
Change-Id: Iae4353614d22b3b6856b58babee7d8feea8c8f82
diff --git a/client/src/components/ConversationListItem.tsx b/client/src/components/ConversationListItem.tsx
index e9e97b8..03685c3 100644
--- a/client/src/components/ConversationListItem.tsx
+++ b/client/src/components/ConversationListItem.tsx
@@ -141,7 +141,7 @@
Icon: AudioCallIcon,
onClick: () => {
if (conversationId) {
- startCall(conversationId, 'caller');
+ startCall(conversationId);
}
},
},
@@ -150,7 +150,7 @@
Icon: VideoCallIcon,
onClick: () => {
if (conversationId) {
- startCall(conversationId, 'caller', {
+ startCall(conversationId, {
isVideoOn: true,
});
}
diff --git a/client/src/components/ConversationView.tsx b/client/src/components/ConversationView.tsx
index 146f049..064efcf 100644
--- a/client/src/components/ConversationView.tsx
+++ b/client/src/components/ConversationView.tsx
@@ -83,10 +83,10 @@
</Typography>
</Stack>
<Stack direction="row" spacing="20px">
- <StartAudioCallButton onClick={() => startCall(conversationId, 'caller')} />
+ <StartAudioCallButton onClick={() => startCall(conversationId)} />
<StartVideoCallButton
onClick={() =>
- startCall(conversationId, 'caller', {
+ startCall(conversationId, {
isVideoOn: true,
})
}
diff --git a/client/src/contexts/CallProvider.tsx b/client/src/contexts/CallProvider.tsx
index f54b75f..8db38e0 100644
--- a/client/src/contexts/CallProvider.tsx
+++ b/client/src/contexts/CallProvider.tsx
@@ -335,8 +335,8 @@
}, [webSocket, contactUri, conversationId, quitCall]);
useEffect(() => {
- if (iceConnectionState === 'disconnected') {
- console.info('ICE connection disconnected');
+ if (iceConnectionState === 'disconnected' || iceConnectionState === 'failed') {
+ console.info('ICE connection disconnected or failed, ending call');
endCall();
}
}, [iceConnectionState, callStatus, setVideoStatus, isVideoOn, endCall]);
diff --git a/client/src/hooks/useStartCall.ts b/client/src/hooks/useStartCall.ts
index 518c2a8..c20a2cc 100644
--- a/client/src/hooks/useStartCall.ts
+++ b/client/src/hooks/useStartCall.ts
@@ -18,18 +18,18 @@
import { useCallback } from 'react';
import { useNavigate } from 'react-router-dom';
-import { CallRole, CallStatus } from '../contexts/CallProvider';
+import { CallStatus } from '../contexts/CallProvider';
import { CallRouteParams } from '../router';
export const useStartCall = () => {
const navigate = useNavigate();
return useCallback(
- (conversationId: string, role: CallRole = 'caller', state?: Partial<CallRouteParams['state']>) => {
+ (conversationId: string, state?: Partial<CallRouteParams['state']>) => {
navigate(`/conversation/${conversationId}/call`, {
state: {
callStatus: CallStatus.Default,
- role,
+ role: 'caller',
...state,
},
});