mirror of
https://github.com/vector-im/element-call.git
synced 2026-01-30 03:15:55 +00:00
Finish the hangup procedure even if widget API throws errors
This commit is contained in:
@@ -144,11 +144,19 @@ const widgetPostHangupProcedure = async (
|
||||
// We send the hangup event after the memberships have been updated
|
||||
// calling leaveRTCSession.
|
||||
// We need to wait because this makes the client hosting this widget killing the IFrame.
|
||||
await widget.api.transport.send(ElementWidgetActions.HangupCall, {});
|
||||
try {
|
||||
await widget.api.transport.send(ElementWidgetActions.HangupCall, {});
|
||||
} catch (e) {
|
||||
logger.error("Failed to send hangup action", e);
|
||||
}
|
||||
// On a normal user hangup we can shut down and close the widget. But if an
|
||||
// error occurs we should keep the widget open until the user reads it.
|
||||
if (cause === "user") {
|
||||
await widget.api.transport.send(ElementWidgetActions.Close, {});
|
||||
try {
|
||||
await widget.api.transport.send(ElementWidgetActions.Close, {});
|
||||
} catch (e) {
|
||||
logger.error("Failed to send close action", e);
|
||||
}
|
||||
widget.api.transport.stop();
|
||||
PosthogAnalytics.instance.logout();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user