Fix space invite edge cases

This commit is contained in:
Michael Telatynski 2021-09-29 14:04:02 +01:00
parent c3bac33b9d
commit d6cab320e9
4 changed files with 27 additions and 9 deletions

View file

@ -44,6 +44,7 @@ import MemberTile from "./MemberTile";
import BaseAvatar from '../avatars/BaseAvatar';
import { throttle } from 'lodash';
import SpaceStore from "../../../stores/SpaceStore";
import { JoinRule } from "matrix-js-sdk/src/@types/partials";
const getSearchQueryLSKey = (roomId: string) => `mx_MemberList_searchQuarry_${roomId}`;
@ -169,7 +170,11 @@ export default class MemberList extends React.Component<IProps, IState> {
private get canInvite(): boolean {
const cli = MatrixClientPeg.get();
const room = cli.getRoom(this.props.roomId);
return room && room.canInvite(cli.getUserId());
return (
room?.canInvite(cli.getUserId()) ||
(room?.isSpaceRoom() && room.getJoinRule() === JoinRule.Public)
);
}
private getMembersState(members: Array<RoomMember>): IState {