matrix-org / synapse

Synapse: Matrix homeserver written in Python/Twisted.
https://matrix-org.github.io/synapse
Apache License 2.0
11.82k stars 2.13k forks source link

Transfer invites/rooms/etc. when a guest account is upgraded #7918

Open eiclu opened 4 years ago

eiclu commented 4 years ago

Description:

Right now, when I want to PM a guest account as a registered user, I can initiate the conversation, but the guest can't accept the invitation, getting prompted to create an account instead. But after creating an account, the invite is no longer valid, since the name changed.

Also, the other way around, when I want to PM another user as a guest, it prompts me to create an account.

I think it would make sense to allow guests to participate in Private Message Rooms. If there are spam concerns, it could be realized by simply allowing guest accounts to accept invites to PM rooms by registered users

anoadragon453 commented 4 years ago

Thanks for reporting @LookitheFirst. I assume you've mainly looked at this from the perspective of using Element?

If so, I think that there's two classes of issue here:

  1. Things that can be solved server-side, such as transferring invites/rooms/etc. when a guest is upgraded into a regular user
    • I think we should keep this issue as the place for discussion for this
  2. Things that may be blocked by the client, such as preventing the joining of rooms by a guest - as the client-server specification allows a guest user to do this. I believe that Element currently blocks most behaviour of a guest, even if the server technically allows it.

By the way, with regards to 2, server-side I see that https://github.com/matrix-org/synapse/issues/4146 and https://github.com/matrix-org/synapse/issues/2065 exist, which may also prevent guest users from joining PMs, especially when they're from users on other homeservers.

In regards to the UX as a whole though, I think that should probably be attacked from the client side first: https://github.com/vector-im/riot-web/issues/14584