Fully close Jitsi conferences on errors (#22060)

By not closing Jitsi fully when an error occurs, it could get stuck in
PiP mode with no way to dismiss.
This commit is contained in:
Robin 2022-05-05 05:51:00 -04:00 committed by GitHub
parent abb31c9b01
commit 9cb0185ec2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -301,6 +301,15 @@ async function notifyHangup() {
}
}
function closeConference() {
switchVisibleContainers();
document.getElementById("jitsiContainer").innerHTML = "";
if (skipOurWelcomeScreen) {
skipToJitsiSplashScreen();
}
}
// event handler bound in HTML
function joinConference(audioDevice?: string, videoDevice?: string) {
let jwt;
@ -386,20 +395,15 @@ function joinConference(audioDevice?: string, videoDevice?: string) {
meetApi = null;
});
meetApi.on("readyToClose", () => {
switchVisibleContainers();
document.getElementById("jitsiContainer").innerHTML = "";
if (skipOurWelcomeScreen) {
skipToJitsiSplashScreen();
}
});
meetApi.on("readyToClose", closeConference);
meetApi.on("errorOccurred", ({ error }) => {
if (error.isFatal) {
// We got disconnected. Since Jitsi Meet might send us back to the
// prejoin screen, we're forced to act as if we hung up entirely.
notifyHangup();
meetApi = null;
closeConference();
}
});