Add btn to hide membership events from timeline

Signed-off-by: Ajay Bura <ajbura@gmail.com>
This commit is contained in:
Ajay Bura 2021-12-12 20:53:32 +05:30
parent ecb7d5ef10
commit 90c6b18cbb
5 changed files with 84 additions and 8 deletions

View file

@ -2,6 +2,8 @@ import EventEmitter from 'events';
import initMatrix from '../initMatrix';
import cons from './cons';
import settings from './settings';
function isEdited(mEvent) {
return mEvent.getRelation()?.rel_type === 'm.replace';
}
@ -110,6 +112,19 @@ class RoomTimeline extends EventEmitter {
}
addToTimeline(mEvent) {
if (mEvent.getType() === 'm.room.member' && (settings.hideMembershipEvents || settings.hideNickAvatarEvents)) {
const content = mEvent.getContent();
const prevContent = mEvent.getPrevContent();
const { membership } = content;
if (settings.hideMembershipEvents) {
if (membership === 'invite' || membership === 'ban' || membership === 'leave') return;
if (prevContent.membership !== 'join') return;
}
if (settings.hideNickAvatarEvents) {
if (membership === 'join' && prevContent.membership === 'join') return;
}
}
if (mEvent.isRedacted()) return;
if (isReaction(mEvent)) {
addToMap(this.reactionTimeline, mEvent);