diff --git a/src/app/hooks/useRoomCreators.ts b/src/app/hooks/useRoomCreators.ts index f4dc7569..1a635b29 100644 --- a/src/app/hooks/useRoomCreators.ts +++ b/src/app/hooks/useRoomCreators.ts @@ -2,12 +2,15 @@ import { MatrixEvent, Room } from 'matrix-js-sdk'; import { useMemo } from 'react'; import { useStateEvent } from './useStateEvent'; import { IRoomCreateContent, StateEvent } from '../../types/matrix/room'; +import { creatorsSupported } from '../utils/matrix'; -export const getRoomCreators = (createEvent: MatrixEvent): string[] => { +export const getRoomCreators = (createEvent: MatrixEvent): Set => { const createContent = createEvent.getContent(); const creators: Set = new Set(); + if (!creatorsSupported(createContent.room_version)) return creators; + if (createEvent.event.sender) { creators.add(createEvent.event.sender); } @@ -20,13 +23,16 @@ export const getRoomCreators = (createEvent: MatrixEvent): string[] => { }); } - return Array.from(creators); + return creators; }; -export const useRoomCreators = (room: Room): string[] => { +export const useRoomCreators = (room: Room): Set => { const createEvent = useStateEvent(room, StateEvent.RoomCreate); - const creators = useMemo(() => (createEvent ? getRoomCreators(createEvent) : []), [createEvent]); + const creators = useMemo( + () => (createEvent ? getRoomCreators(createEvent) : new Set()), + [createEvent] + ); return creators; };