import { settingsAtom } from '../state/settings';
import { useSetting } from '../state/hooks/settings';
import { MessageEvent, StateEvent } from '../../types/matrix/room';
-import { isMembershipChanged } from '../utils/room';
+import { isMembershipChanged, reactionOrEditEvent } from '../utils/room';
export const useRoomLatestRenderedEvent = (room: Room) => {
const [hideMembershipEvents] = useSetting(settingsAtom, 'hideMembershipEvents');
const evt = liveEvents[i];
if (!evt) continue;
- if (evt.isRelation()) continue;
+ if (reactionOrEditEvent(evt)) continue;
if (evt.getType() === StateEvent.RoomMember) {
const membershipChanged = isMembershipChanged(evt);
if (membershipChanged && hideMembershipEvents) continue;
getMemberDisplayName,
getReactionContent,
isMembershipChanged,
+ reactionOrEditEvent,
} from '../../utils/room';
import { useSetting } from '../../state/hooks/settings';
import { settingsAtom } from '../../state/settings';
prevEvent.getType() === mEvent.getType() &&
minuteDifference(prevEvent.getTs(), mEvent.getTs()) < 2;
- const eventJSX = mEvent.isRelation()
+ const eventJSX = reactionOrEditEvent(mEvent)
? null
: renderMatrixEvent(mEventId, mEvent, item, timelineSet, collapsed);
prevEvent = mEvent;
}
return undefined;
};
+
+export const reactionOrEditEvent = (mEvent: MatrixEvent) =>
+ mEvent.getRelation()?.rel_type === RelationType.Annotation ||
+ mEvent.getRelation()?.rel_type === RelationType.Replace;