Remove unknown MXIDs from invite suggestions (#11055)

This commit is contained in:
Michael Weimann 2023-06-15 11:07:26 +02:00 committed by GitHub
parent d381fa3f2c
commit 386a459b9f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 21 deletions

View file

@ -26,12 +26,7 @@ import { Icon as InfoIcon } from "../../../../res/img/element-icons/info.svg";
import { Icon as EmailPillAvatarIcon } from "../../../../res/img/icon-email-pill-avatar.svg";
import { _t, _td } from "../../../languageHandler";
import { MatrixClientPeg } from "../../../MatrixClientPeg";
import {
getHostnameFromMatrixServerName,
getServerName,
makeRoomPermalink,
makeUserPermalink,
} from "../../../utils/permalinks/Permalinks";
import { makeRoomPermalink, makeUserPermalink } from "../../../utils/permalinks/Permalinks";
import DMRoomMap from "../../../utils/DMRoomMap";
import SdkConfig from "../../../SdkConfig";
import * as Email from "../../../email";
@ -724,18 +719,6 @@ export default class InviteDialog extends React.PureComponent<Props, IInviteDial
}
} catch (e) {
logger.warn("Non-fatal error trying to make an invite for a user ID", e);
// Reuse logic from Permalinks as a basic MXID validity check
const serverName = getServerName(term);
const domain = getHostnameFromMatrixServerName(serverName);
if (domain) {
// Add a result anyways, just without a profile. We stick it at the
// top so it is most obviously presented to the user.
r.results.splice(0, 0, {
user_id: term,
display_name: term,
});
}
}
}

View file

@ -26,6 +26,7 @@ import InviteDialog from "../../../../src/components/views/dialogs/InviteDialog"
import { InviteKind } from "../../../../src/components/views/dialogs/InviteDialogTypes";
import {
filterConsole,
flushPromises,
getMockClientWithEventEmitter,
mkMembership,
mkMessage,
@ -200,7 +201,7 @@ describe("InviteDialog", () => {
expect(screen.getByText(`Invite to ${roomId}`)).toBeInTheDocument();
});
it("should suggest valid MXIDs even if unknown", async () => {
it("should not suggest valid unknown MXIDs", async () => {
render(
<InviteDialog
kind={InviteKind.Invite}
@ -209,8 +210,8 @@ describe("InviteDialog", () => {
initialText="@localpart:server.tld"
/>,
);
await screen.findAllByText("@localpart:server.tld"); // Using findAllByText as the MXID is used for name too
await flushPromises();
expect(screen.queryByText("@localpart:server.tld")).not.toBeInTheDocument();
});
it("should not suggest invalid MXIDs", () => {