Fix unfederated invite dialog (#9618)
* clarify error message for unfederated room invites * hide external user suggesetions * rename some descriptors * fix i18n * add warning for unfederated spaces * i18n Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Add tests Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --------- Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
parent
a306a08780
commit
4ff35f0471
6 changed files with 111 additions and 13 deletions
|
@ -246,16 +246,26 @@ export default class MultiInviter {
|
|||
|
||||
logger.error(err);
|
||||
|
||||
const isSpace = this.roomId && this.matrixClient.getRoom(this.roomId)?.isSpaceRoom();
|
||||
const room = this.roomId ? this.matrixClient.getRoom(this.roomId) : null;
|
||||
const isSpace = room?.isSpaceRoom();
|
||||
const isFederated = room?.currentState.getStateEvents(EventType.RoomCreate, "")?.getContent()[
|
||||
"m.federate"
|
||||
];
|
||||
|
||||
let errorText: string | undefined;
|
||||
let fatal = false;
|
||||
switch (err.errcode) {
|
||||
case "M_FORBIDDEN":
|
||||
if (isSpace) {
|
||||
errorText = _t("invite|error_permissions_space");
|
||||
errorText =
|
||||
isFederated === false
|
||||
? _t("invite|error_unfederated_space")
|
||||
: _t("invite|error_permissions_space");
|
||||
} else {
|
||||
errorText = _t("invite|error_permissions_room");
|
||||
errorText =
|
||||
isFederated === false
|
||||
? _t("invite|error_unfederated_room")
|
||||
: _t("invite|error_permissions_room");
|
||||
}
|
||||
fatal = true;
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue