Seems to shore up the remaining state issues with the status bar hangup

This commit is contained in:
Gigiaj 2025-05-25 23:16:37 -05:00
parent df84eb1d71
commit 335df8d6ba

View file

@ -209,9 +209,10 @@ export function CallProvider({ children }: CallProviderProps) {
if (typeof nextRoom !== 'string') { if (typeof nextRoom !== 'string') {
if (activeCallRoomId && viewedCallRoomId === activeCallRoomId) { if (activeCallRoomId && viewedCallRoomId === activeCallRoomId) {
setIsPrimaryIframe(!isPrimaryIframe); setIsPrimaryIframe(!isPrimaryIframe);
} else {
if (viewedCallRoomId !== viewedRoomId) setViewedCallRoomId(activeCallRoomId);
} }
logger.error(`${activeCallRoomId} ${viewedCallRoomId}`); logger.error(`${activeCallRoomId} ${viewedCallRoomId}`);
setViewedCallRoomId(activeCallRoomId);
} else if (viewedCallRoomId !== null) { } else if (viewedCallRoomId !== null) {
setIsPrimaryIframe(!isPrimaryIframe); setIsPrimaryIframe(!isPrimaryIframe);
} else if (activeCallRoomId) setViewedCallRoomId(nextRoom); } else if (activeCallRoomId) setViewedCallRoomId(nextRoom);
@ -229,6 +230,7 @@ export function CallProvider({ children }: CallProviderProps) {
setActiveClientWidgetApi, setActiveClientWidgetApi,
setViewedCallRoomId, setViewedCallRoomId,
viewedCallRoomId, viewedCallRoomId,
viewedRoomId,
] ]
); );
@ -312,7 +314,10 @@ export function CallProvider({ children }: CallProviderProps) {
setIsCallActive(true); setIsCallActive(true);
}; };
activeClientWidgetApi?.transport.reply(ev.detail, {}); activeClientWidgetApi?.transport.reply(ev.detail, {});
if (ev.detail.widgetId === activeClientWidgetApi?.widget.id) {
setIsCallActive(true);
return;
}
if (activeClientWidgetApi) { if (activeClientWidgetApi) {
if (isCallActive && viewedClientWidgetApi && viewedCallRoomId) { if (isCallActive && viewedClientWidgetApi && viewedCallRoomId) {
activeClientWidgetApi?.removeAllListeners(); activeClientWidgetApi?.removeAllListeners();
@ -325,8 +330,6 @@ export function CallProvider({ children }: CallProviderProps) {
setIsCallActive(true); setIsCallActive(true);
} }
} else if (viewedCallRoomId !== viewedRoomId) { } else if (viewedCallRoomId !== viewedRoomId) {
setViewedCallRoomId(viewedRoomId);
setActiveCallRoomIdState(viewedCallRoomId);
setIsCallActive(true); setIsCallActive(true);
} else { } else {
setViewedAsActive(); setViewedAsActive();
@ -347,7 +350,24 @@ export function CallProvider({ children }: CallProviderProps) {
viewedClientWidgetApi?.on(`action:${WIDGET_TILE_UPDATE}`, handleOnTileLayout); viewedClientWidgetApi?.on(`action:${WIDGET_TILE_UPDATE}`, handleOnTileLayout);
viewedClientWidgetApi?.on(`action:${WIDGET_ON_SCREEN_ACTION}`, handleOnScreenStateUpdate); viewedClientWidgetApi?.on(`action:${WIDGET_ON_SCREEN_ACTION}`, handleOnScreenStateUpdate);
viewedClientWidgetApi?.on(`action:${WIDGET_HANGUP_ACTION}`, handleHangup); viewedClientWidgetApi?.on(`action:${WIDGET_HANGUP_ACTION}`, handleHangup);
}, [activeClientWidgetApi, activeCallRoomId, activeClientWidgetApiRoomId, hangUp, isChatOpen, isAudioEnabled, isVideoEnabled, isCallActive, viewedRoomId, viewedClientWidgetApi, isPrimaryIframe, viewedCallRoomId, setViewedClientWidgetApi, setActiveClientWidgetApi, viewedClientWidget, setViewedCallRoomId]); }, [
activeClientWidgetApi,
activeCallRoomId,
activeClientWidgetApiRoomId,
hangUp,
isChatOpen,
isAudioEnabled,
isVideoEnabled,
isCallActive,
viewedRoomId,
viewedClientWidgetApi,
isPrimaryIframe,
viewedCallRoomId,
setViewedClientWidgetApi,
setActiveClientWidgetApi,
viewedClientWidget,
setViewedCallRoomId,
]);
const sendWidgetAction = useCallback( const sendWidgetAction = useCallback(
async <T = unknown,>(action: WidgetApiToWidgetAction | string, data: T): Promise<void> => { async <T = unknown,>(action: WidgetApiToWidgetAction | string, data: T): Promise<void> => {