Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Checking email invite account is unclear when no IS set #10669

Closed
jryans opened this issue Aug 27, 2019 · 9 comments · Fixed by matrix-org/matrix-react-sdk#3385
Closed

Checking email invite account is unclear when no IS set #10669

jryans opened this issue Aug 27, 2019 · 9 comments · Fixed by matrix-org/matrix-react-sdk#3385

Comments

@jryans
Copy link
Collaborator

jryans commented Aug 27, 2019

Since it's now possible to be disconnected from an identity server entirely (your session has no active identity server), it's unclear how some IS dependent features should function, such as:

Checking an email invite in the invite preview bar to ensure the invited email is for the active account (in case you have multiple Matrix accounts in different tabs, etc.)

2019-08-23 at 15 53

I think we are at a stage where @lampholder needs to work out how the product should function for this case.


After some discussion, we'd like to use the following text for the different combinations:

  1. Case: Email not added to account
    Title: This invite to %(roomName)s was sent to somebody@example.com which is not associated with your account.
    Subtitle: Link this email with your account in Settings to receive invites directly in Riot.

  2. Case: Email added to account, no ID server
    Title: This invite to %(roomName)s was sent to somebody@example.com.
    Subtitle: Use an identity server in Settings to receive invites directly in Riot.

  3. Case: Email added to account, have ID server but email not bound
    Title: This invite to %(roomName)s was sent to somebody@example.com.
    Subtitle: Share this email in Settings to receive invites directly in Riot.

  4. Case: Email added to account, email bound on ID server (success case, unchanged from current)
    Do you want to join %(roomName)s?
    userName invited you

In all cases, the button will just say "Join the discussion".

@lampholder
Copy link
Member

lampholder commented Aug 28, 2019

The current text is actually:

This invite to Testo wasn't sent to your account

Sign in with a different account, ask for another invite, or add the e-mail address somebody@example.com to this account.

[ Try to join anyway ]

This is not correct or helpful. You don't need to take any of the steps suggested, and there is no 'try' - joining will just work.

We could make this more simple and more correct by:

  • not talking to an IS at all and just comparing the email address in the invite to the email addresses associated with your account on the homeserver
  • changing the message text to something like:

This invite was sent to somebody@example.com, but this email address is not associated with your account.

[ Join anyway ]

@dbkr
Copy link
Member

dbkr commented Aug 28, 2019

I think the three different possible situations are a combination of:

  • Email not added to account
  • Email added to account
    ...and...
  • No ID server
  • Have ID server but email not bound
  • Have ID server and email bound

So I imagine we want some hints that might be subtly different for all of the combinations of those, eg. "Email added to account but not bound" might be, "This invite was sent to somebody@example.com. Share this email in settings to receive invites directly to Riot"

And yes, on "Try to join anyway" I would go even further personally and just make it, "Join". It should just be a hint that we're providing, it's not an error situation.

@turt2live
Copy link
Member

We don't know that the invite will succeed though - if the room is private then the join will fail still unless you also happen to be invited by mxid.

@turt2live
Copy link
Member

@lampholder it's also unclear what all the copy for the states is, if anything. Putting this back as blocked until we have copy for all the states we care about (ie: #10669 (comment) )

@lampholder
Copy link
Member

We don't know that the invite will succeed though - if the room is private then the join will fail still unless you also happen to be invited by mxid.

Is this true?

I:

  • created a new room (incidentally on lant.uk)
  • configured it like this:
    Screenshot 2019-09-02 at 10 30 46
  • invited a random email address (not associated with any mxid in any way)
  • logged into a super old (pre redesign) riot with a test acccount
  • grabbed the link from the email and navigated to it
  • got some UX that looked like this:
    Screenshot 2019-09-02 at 10 30 30
  • clicked accept
  • joined the room

@jryans jryans added the A-Invite label Sep 2, 2019
@jryans
Copy link
Collaborator Author

jryans commented Sep 2, 2019

As far as text for the different combinations, how about:

  1. Email not added to account
    This invite was sent to somebody@example.com, but this email address is not associated with your account.

  2. Email added to account, no ID server
    This invite was sent to somebody@example.com. Use an identity server in Settings to receive invites directly in Riot.

  3. Email added to account, have ID server but email not bound
    This invite was sent to somebody@example.com. Share this email in Settings to receive invites directly in Riot.

  4. Email added to account, email bound on ID server (success case, unchanged from current)
    Do you want to join %(roomName)s?
    userName invited you

In all cases, the button will just say "Join". @lampholder, how does this sound?

@lampholder
Copy link
Member

lampholder commented Sep 2, 2019

  1. still sounds a bit errory to me (I anticipate users feeling a little confused by the 'but' there if it doesn't actually stop them joining the room).

How about:
This invite was sent to somebody@example.com which is not associated with your account. Link this email address with your account in Settings to receive invites directly in Riot.

Otherwise looks good.

@jryans
Copy link
Collaborator Author

jryans commented Sep 2, 2019

Okay, great. I posted the revised version in the top comment of this issue.

@jryans jryans self-assigned this Sep 2, 2019
@jryans jryans removed the X-Blocked label Sep 2, 2019
@turt2live
Copy link
Member

Is this true?

Technically, yes. The 'accept' button does a different thing than what you're imagining. It's claiming the invite because it has all the information to do so, even without your email being added.

jryans added a commit to matrix-org/matrix-react-sdk that referenced this issue Sep 3, 2019
This changes email invite previews to check more specific cases about whether
the email has been added to your account, you have an IS, the email is bound,
etc.

In addition, it always allows you to join if you want to.

Fixes element-hq/element-web#10669
jryans added a commit to matrix-org/matrix-react-sdk that referenced this issue Sep 3, 2019
This changes email invite previews to check more specific cases about whether
the email has been added to your account, you have an IS, the email is bound,
etc.

In addition, it always allows you to join if you want to.

Fixes element-hq/element-web#10669
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants