diff --git a/src/app/features/room/RoomTimeline.tsx b/src/app/features/room/RoomTimeline.tsx index 2281b59d..25061dac 100644 --- a/src/app/features/room/RoomTimeline.tsx +++ b/src/app/features/room/RoomTimeline.tsx @@ -471,6 +471,7 @@ export function RoomTimeline({ room, eventId, roomInputRef, editor }: RoomTimeli const permissions = useRoomPermissions(creators, powerLevels); const canRedact = permissions.action('redact', mx.getSafeUserId()); + const canDeleteOwn = permissions.event(MessageEvent.RoomRedaction, mx.getSafeUserId()); const canSendReaction = permissions.event(MessageEvent.Reaction, mx.getSafeUserId()); const canPinEvent = permissions.stateEvent(StateEvent.RoomPinnedEvents, mx.getSafeUserId()); const [editId, setEditId] = useState(); @@ -1047,7 +1048,7 @@ export function RoomTimeline({ room, eventId, roomInputRef, editor }: RoomTimeli collapse={collapse} highlight={highlighted} edit={editId === mEventId} - canDelete={canRedact || mEvent.getSender() === mx.getUserId()} + canDelete={canRedact || canDeleteOwn} canSendReaction={canSendReaction} canPinEvent={canPinEvent} imagePackRooms={imagePackRooms} @@ -1129,7 +1130,7 @@ export function RoomTimeline({ room, eventId, roomInputRef, editor }: RoomTimeli collapse={collapse} highlight={highlighted} edit={editId === mEventId} - canDelete={canRedact || mEvent.getSender() === mx.getUserId()} + canDelete={canRedact || canDeleteOwn} canSendReaction={canSendReaction} canPinEvent={canPinEvent} imagePackRooms={imagePackRooms} @@ -1247,7 +1248,7 @@ export function RoomTimeline({ room, eventId, roomInputRef, editor }: RoomTimeli messageLayout={messageLayout} collapse={collapse} highlight={highlighted} - canDelete={canRedact || mEvent.getSender() === mx.getUserId()} + canDelete={canRedact || canDeleteOwn} canSendReaction={canSendReaction} canPinEvent={canPinEvent} imagePackRooms={imagePackRooms}