mirror of
https://github.com/cinnyapp/cinny.git
synced 2025-11-05 15:00:30 +03:00
Seems to shore up the remaining state issues with the status bar hangup
This commit is contained in:
parent
df84eb1d71
commit
335df8d6ba
1 changed files with 25 additions and 5 deletions
|
|
@ -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> => {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue