Stop broadcasts on logout (#9978)

Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
This commit is contained in:
Michael Weimann 2023-01-24 11:58:37 +01:00 committed by GitHub
parent 0b1fcd208e
commit 29c193210f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 134 additions and 5 deletions

View file

@ -134,7 +134,7 @@ import { ValidatedServerConfig } from "../../utils/ValidatedServerConfig";
import { isLocalRoom } from "../../utils/localRoom/isLocalRoom";
import { SdkContextClass, SDKContext } from "../../contexts/SDKContext";
import { viewUserDeviceSettings } from "../../actions/handlers/viewUserDeviceSettings";
import { VoiceBroadcastResumer } from "../../voice-broadcast";
import { cleanUpBroadcasts, VoiceBroadcastResumer } from "../../voice-broadcast";
import GenericToast from "../views/toasts/GenericToast";
import { Linkify } from "../views/elements/Linkify";
import RovingSpotlightDialog, { Filter } from "../views/dialogs/spotlight/SpotlightDialog";
@ -591,9 +591,10 @@ export default class MatrixChat extends React.PureComponent<IProps, IState> {
break;
case "logout":
LegacyCallHandler.instance.hangupAllCalls();
Promise.all([...CallStore.instance.activeCalls].map((call) => call.disconnect())).finally(() =>
Lifecycle.logout(),
);
Promise.all([
...[...CallStore.instance.activeCalls].map((call) => call.disconnect()),
cleanUpBroadcasts(this.stores),
]).finally(() => Lifecycle.logout());
break;
case "require_registration":
startAnyRegistrationFlow(payload as any);