Skip to content

Implement MSC3720 to determine whether a user exists #23465

Open
@babolivier

Description

@babolivier

Your use case

What would you like to do?

Currently when Element checks whether a user exists (e.g. when someone wants to invite another user into a room), it makes a profile request for that user (presumably for the lack of a better mechanism). However, this is prone to false negatives as it is valid for a Matrix user to not have a profile.

Why would you like to do it?

To be able to reliably tell if a user does not exist, instead of whether they might exist without a profile.

How would you like to achieve it?

MSC3720, which is already implemented in Synapse, provides a simple way for clients to check if a user (local or remote) exists and is active. I would propose the check in Element to verify if a user exists is changed to using this, with maybe a temporary fallback to check the profile if the homeserver does not support the MSC or the user appears in failures in the response.

Have you considered any alternatives?

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-InviteO-UncommonMost users are unlikely to come across this or unexpected workflowT-Enhancement

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions