Skip to content

Commit

Permalink
feat: page warning before leave/reload while a call is ongoing (#33404)
Browse files Browse the repository at this point in the history
  • Loading branch information
aleksandernsilva authored Oct 7, 2024
1 parent d661782 commit 34879cc
Showing 1 changed file with 10 additions and 12 deletions.
22 changes: 10 additions & 12 deletions packages/ui-voip/src/providers/VoipProvider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -34,22 +34,18 @@ const VoipProvider = ({ children }: { children: ReactNode }) => {
return;
}

const onBeforeUnload = (event: BeforeUnloadEvent) => {
event.preventDefault();
event.returnValue = true;
};

const onCallEstablished = async (): Promise<void> => {
voipSounds.stopAll();
window.addEventListener('beforeunload', onBeforeUnload);

if (!voipClient) {
return;
}

if (voipClient.isCallee()) {
return;
if (voipClient.isCallee() && remoteAudioMediaRef.current) {
voipClient.switchMediaRenderer({ remoteMediaElement: remoteAudioMediaRef.current });
}

if (!remoteAudioMediaRef.current) {
return;
}

voipClient.switchMediaRenderer({ remoteMediaElement: remoteAudioMediaRef.current });
};

const onNetworkDisconnected = (): void => {
Expand All @@ -69,6 +65,7 @@ const VoipProvider = ({ children }: { children: ReactNode }) => {
const onCallTerminated = (): void => {
voipSounds.play('call-ended', false);
voipSounds.stopAll();
window.removeEventListener('beforeunload', onBeforeUnload);
};

const onRegistrationError = () => {
Expand Down Expand Up @@ -106,6 +103,7 @@ const VoipProvider = ({ children }: { children: ReactNode }) => {
voipClient.networkEmitter.off('disconnected', onNetworkDisconnected);
voipClient.networkEmitter.off('connectionerror', onNetworkDisconnected);
voipClient.networkEmitter.off('localnetworkoffline', onNetworkDisconnected);
window.addEventListener('beforeunload', onBeforeUnload);
};
}, [dispatchToastMessage, setStorageRegistered, t, voipClient, voipSounds]);

Expand Down

0 comments on commit 34879cc

Please sign in to comment.