From 0a0c810105c94b9f3a904835df32c03278bbdc28 Mon Sep 17 00:00:00 2001 From: RoyceDa Date: Wed, 1 Apr 2026 14:21:11 +0200 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D1=89=D0=B8=D1=82=D0=B0=20=D0=BE?= =?UTF-8?q?=D1=82=20=D0=BF=D1=80=D0=B8=D0=BD=D1=8F=D1=82=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=B7=D0=B2=D0=BE=D0=BD=D0=BA=D0=B0=20=D0=BF=D1=80=D0=B8=D0=BD?= =?UTF-8?q?=D1=8F=D1=82=D0=BE=D0=B3=D0=BE=20=D0=BD=D0=B0=20=D0=B4=D1=80?= =?UTF-8?q?=D1=83=D0=B3=D0=BE=D0=BC=20=D1=83=D1=81=D1=82=D1=80=D0=BE=D0=B9?= =?UTF-8?q?=D1=81=D1=82=D0=B2=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/providers/CallProvider/CallProvider.tsx | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/app/providers/CallProvider/CallProvider.tsx b/app/providers/CallProvider/CallProvider.tsx index 92753a7..d955f2a 100644 --- a/app/providers/CallProvider/CallProvider.tsx +++ b/app/providers/CallProvider/CallProvider.tsx @@ -293,8 +293,19 @@ export function CallProvider(props : CallProviderProps) { setCallState(CallState.WEB_RTC_EXCHANGE); } if(signalType == SignalType.CREATE_ROOM) { + if(!sessionKeys){ + /** + * Сервер может отправить CREATE_ROOM сигнал, даже если мы приняли звонок на другом устройстве, по этому проверяем, + * на этом ли устройстве звонок принят посредством проверки наличия сгенерированных ключей шифрования + */ + stopLoopSound(); + stopSound(); + end(); + return; + } /** - * Создана комната для обмена WebRTC потоками + * Создана комната для обмена WebRTC потоками, но такое событие сервер может отправить даже если звонок + * был принят с другого устройства, по этому проверяем, наш ли звонок */ roomIdRef.current = packet.getRoomId(); info("WebRTC room created with id: " + packet.getRoomId()); @@ -443,8 +454,7 @@ export function CallProvider(props : CallProviderProps) { /** * Только если звонок был активен воспроизводим звуки */ - stopLoopSound(); - stopSound(); + playSound("end_call.mp3"); } if (remoteAudioRef.current) { remoteAudioRef.current.pause(); @@ -454,7 +464,6 @@ export function CallProvider(props : CallProviderProps) { setDuration(0); durationIntervalRef.current && clearInterval(durationIntervalRef.current); setWindowPriority(false); - playSound("end_call.mp3"); peerConnectionRef.current?.close(); peerConnectionRef.current = null; roomIdRef.current = "";