Be consistent about MessagePanel setting lookups

Signed-off-by: Robin Townsend <robin@robin.town>
This commit is contained in:
Robin Townsend 2021-07-16 18:46:29 -04:00
parent 158e6fa61c
commit 092fdf5e5e

View file

@ -404,17 +404,21 @@ export default class MessagePanel extends React.Component<IProps, IState> {
return !this.isMounted; return !this.isMounted;
}; };
private get showHiddenEvents(): boolean {
return this.context?.showHiddenEventsInTimeline ?? this.showHiddenEventsInTimeline;
}
// TODO: Implement granular (per-room) hide options // TODO: Implement granular (per-room) hide options
public shouldShowEvent(mxEv: MatrixEvent): boolean { public shouldShowEvent(mxEv: MatrixEvent): boolean {
if (MatrixClientPeg.get().isUserIgnored(mxEv.getSender())) { if (MatrixClientPeg.get().isUserIgnored(mxEv.getSender())) {
return false; // ignored = no show (only happens if the ignore happens after an event was received) return false; // ignored = no show (only happens if the ignore happens after an event was received)
} }
if (this.context?.showHiddenEventsInTimeline ?? this.showHiddenEventsInTimeline) { if (this.showHiddenEvents) {
return true; return true;
} }
if (!haveTileForEvent(mxEv, this.context?.showHiddenEventsInTimeline)) { if (!haveTileForEvent(mxEv, this.showHiddenEvents)) {
return false; // no tile = no show return false; // no tile = no show
} }
@ -574,7 +578,7 @@ export default class MessagePanel extends React.Component<IProps, IState> {
if (grouper) { if (grouper) {
if (grouper.shouldGroup(mxEv)) { if (grouper.shouldGroup(mxEv)) {
grouper.add(mxEv, this.context?.showHiddenEventsInTimeline); grouper.add(mxEv, this.showHiddenEvents);
continue; continue;
} else { } else {
// not part of group, so get the group tiles, close the // not part of group, so get the group tiles, close the
@ -655,7 +659,7 @@ export default class MessagePanel extends React.Component<IProps, IState> {
// is this a continuation of the previous message? // is this a continuation of the previous message?
const continuation = !wantsDateSeparator && const continuation = !wantsDateSeparator &&
shouldFormContinuation(prevEvent, mxEv, this.context?.showHiddenEventsInTimeline); shouldFormContinuation(prevEvent, mxEv, this.showHiddenEvents);
const eventId = mxEv.getId(); const eventId = mxEv.getId();
const highlight = (eventId === this.props.highlightedEventId); const highlight = (eventId === this.props.highlightedEventId);