diff --git a/src/app/plugins/via-servers.ts b/src/app/plugins/via-servers.ts index 75470999..d825a1fd 100644 --- a/src/app/plugins/via-servers.ts +++ b/src/app/plugins/via-servers.ts @@ -1,11 +1,19 @@ import { Room } from 'matrix-js-sdk'; import { IPowerLevels } from '../hooks/usePowerLevels'; -import { getMxIdServer } from '../utils/matrix'; -import { StateEvent } from '../../types/matrix/room'; +import { creatorsSupported, getMxIdServer } from '../utils/matrix'; +import { IRoomCreateContent, StateEvent } from '../../types/matrix/room'; import { getStateEvent } from '../utils/room'; export const getViaServers = (room: Room): string[] => { const getHighestPowerUserId = (): string | undefined => { + const creatorEvent = getStateEvent(room, StateEvent.RoomCreate); + if ( + creatorEvent && + creatorsSupported(creatorEvent.getContent().room_version) + ) { + return creatorEvent.getSender(); + } + const powerLevels = getStateEvent(room, StateEvent.RoomPowerLevels)?.getContent(); if (!powerLevels) return undefined;