Handle group call redaction (#10465)

Redacted group call events should be interpreted as terminated calls.
This commit is contained in:
Robin 2023-03-28 09:16:30 -04:00 committed by GitHub
parent f1667870a0
commit edef4cc52e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 25 additions and 2 deletions

View file

@ -168,7 +168,7 @@ export const CallEvent = forwardRef<any, CallEventProps>(({ mxEvent }, ref) => {
.getRoom(mxEvent.getRoomId())!
.currentState.getStateEvents(mxEvent.getType(), mxEvent.getStateKey()!)!;
if ("m.terminated" in latestEvent.getContent()) {
if ("m.terminated" in latestEvent.getContent() || latestEvent.isRedacted()) {
// The call is terminated
return (
<div className="mx_CallEvent_wrapper" ref={ref}>

View file

@ -15,7 +15,7 @@ limitations under the License.
*/
import React, { useCallback, useEffect } from "react";
import { MatrixEvent } from "matrix-js-sdk/src/models/event";
import { MatrixEvent, MatrixEventEvent } from "matrix-js-sdk/src/models/event";
import { _t } from "../languageHandler";
import RoomAvatar from "../components/views/avatars/RoomAvatar";
@ -36,6 +36,7 @@ import { ButtonEvent } from "../components/views/elements/AccessibleButton";
import { useDispatcher } from "../hooks/useDispatcher";
import { ActionPayload } from "../dispatcher/payloads";
import { Call } from "../models/Call";
import { useTypedEventEmitter } from "../hooks/useEventEmitter";
export const getIncomingCallToastKey = (stateKey: string): string => `call_${stateKey}`;
@ -89,6 +90,8 @@ export function IncomingCallToast({ callEvent }: Props): JSX.Element {
}
}, [latestEvent, dismissToast]);
useTypedEventEmitter(latestEvent, MatrixEventEvent.BeforeRedaction, dismissToast);
useDispatcher(
defaultDispatcher,
useCallback(