mirror of https://github.com/vector-im/riot-web
Fix state events being wrongly hidden when redacted (#7768)
parent
e2196a8731
commit
7c344a2157
|
@ -1636,17 +1636,18 @@ export default class EventTile extends React.Component<IProps, IState> {
|
||||||
}
|
}
|
||||||
|
|
||||||
// XXX this'll eventually be dynamic based on the fields once we have extensible event types
|
// XXX this'll eventually be dynamic based on the fields once we have extensible event types
|
||||||
const messageTypes = ['m.room.message', 'm.sticker'];
|
const messageTypes = [EventType.RoomMessage, EventType.Sticker];
|
||||||
function isMessageEvent(ev: MatrixEvent): boolean {
|
function isMessageEvent(ev: MatrixEvent): boolean {
|
||||||
return (messageTypes.includes(ev.getType()));
|
return (messageTypes.includes(ev.getType() as EventType));
|
||||||
}
|
}
|
||||||
|
|
||||||
export function haveTileForEvent(e: MatrixEvent, showHiddenEvents?: boolean): boolean {
|
export function haveTileForEvent(e: MatrixEvent, showHiddenEvents?: boolean): boolean {
|
||||||
// Only show "Message deleted" tile for message or encrypted events
|
// Only show "Message deleted" tile for plain message events, encrypted events,
|
||||||
if (e.isRedacted() && !e.isEncrypted() && !isMessageEvent(e)) return false;
|
// and state events as they'll likely still contain enough keys to be relevant.
|
||||||
|
if (e.isRedacted() && !e.isEncrypted() && !isMessageEvent(e) && !e.isState()) return false;
|
||||||
|
|
||||||
// No tile for replacement events since they update the original tile
|
// No tile for replacement events since they update the original tile
|
||||||
if (e.isRelation("m.replace")) return false;
|
if (e.isRelation(RelationType.Replace)) return false;
|
||||||
|
|
||||||
const handler = getHandlerTile(e);
|
const handler = getHandlerTile(e);
|
||||||
if (handler === undefined) return false;
|
if (handler === undefined) return false;
|
||||||
|
|
Loading…
Reference in New Issue