diff --git a/src/app/features/common-settings/general/RoomPublish.tsx b/src/app/features/common-settings/general/RoomPublish.tsx index 4d85f7e2..57a0114d 100644 --- a/src/app/features/common-settings/general/RoomPublish.tsx +++ b/src/app/features/common-settings/general/RoomPublish.tsx @@ -12,6 +12,7 @@ import { IPowerLevels, powerLevelAPI } from '../../../hooks/usePowerLevels'; import { StateEvent } from '../../../../types/matrix/room'; import { useMatrixClient } from '../../../hooks/useMatrixClient'; import { useStateEvent } from '../../../hooks/useStateEvent'; +import { ExtendedJoinRules } from '../../../components/JoinRulesSwitcher'; type RoomPublishProps = { powerLevels: IPowerLevels; @@ -27,7 +28,7 @@ export function RoomPublish({ powerLevels }: RoomPublishProps) { ); const joinRuleEvent = useStateEvent(room, StateEvent.RoomJoinRules); const content = joinRuleEvent?.getContent(); - const rule: JoinRule = content?.join_rule ?? JoinRule.Invite; + const rule: ExtendedJoinRules = (content?.join_rule as ExtendedJoinRules) ?? JoinRule.Invite; const { visibilityState, setVisibility } = useRoomDirectoryVisibility(room.roomId); @@ -35,7 +36,8 @@ export function RoomPublish({ powerLevels }: RoomPublishProps) { const loading = visibilityState.status === AsyncStatus.Loading || toggleState.status === AsyncStatus.Loading; - const validRule = rule === JoinRule.Public || rule === JoinRule.Knock; + const validRule = + rule === JoinRule.Public || rule === JoinRule.Knock || rule === 'knock_restricted'; return (