From 03cbecc3f9b9bc5cd4273ec93e3c4e17ddacc819 Mon Sep 17 00:00:00 2001 From: Gigiaj Date: Fri, 23 May 2025 13:21:40 -0500 Subject: [PATCH] Provides correct behavior when call isn't active and no activeClientWidgetApi exists yet --- src/app/pages/client/call/CallProvider.tsx | 25 ++++++++++++++-------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/src/app/pages/client/call/CallProvider.tsx b/src/app/pages/client/call/CallProvider.tsx index 2573725d..4df036b0 100644 --- a/src/app/pages/client/call/CallProvider.tsx +++ b/src/app/pages/client/call/CallProvider.tsx @@ -243,17 +243,24 @@ export function CallProvider({ children }: CallProviderProps) { setIsCallActive(true); return; } - - if (isCallActive && activeClientWidgetApi && viewedClientWidgetApi) { - activeClientWidgetApi?.removeAllListeners(); - activeClientWidgetApi?.transport.send(WIDGET_HANGUP_ACTION, {}).then(() => { - setActiveClientWidgetApi(viewedClientWidgetApi, viewedCallRoomId); - setActiveCallRoomIdState(viewedCallRoomId); - setViewedClientWidgetApi(null, null); - setIsPrimaryIframe(!isPrimaryIframe); + if (activeClientWidgetApi) { + if (isCallActive && viewedClientWidgetApi) { + activeClientWidgetApi?.removeAllListeners(); + activeClientWidgetApi?.transport.send(WIDGET_HANGUP_ACTION, {}).then(() => { + setActiveClientWidgetApi(viewedClientWidgetApi, viewedCallRoomId); + setActiveCallRoomIdState(viewedCallRoomId); + setViewedClientWidgetApi(null, null); + setIsPrimaryIframe(!isPrimaryIframe); + setIsCallActive(true); + }); + } else { setIsCallActive(true); - }); + } } else { + setIsPrimaryIframe(!isPrimaryIframe); + setActiveClientWidgetApi(viewedClientWidgetApi, viewedCallRoomId); + setActiveCallRoomIdState(viewedCallRoomId); + setViewedClientWidgetApi(null, null); setIsCallActive(true); } };