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

Spec a mechanism for retracting 3PID invites (SPEC-322) #146

Open
matrixbot opened this issue Jan 13, 2016 · 13 comments
Open

Spec a mechanism for retracting 3PID invites (SPEC-322) #146

matrixbot opened this issue Jan 13, 2016 · 13 comments
Labels
A-Client-Server Issues affecting the CS API enhancement A suggestion for a relatively simple improvement to the protocol

Comments

@matrixbot
Copy link
Member

Submitted by @​matthew:matrix.org

(Imported from https://matrix.org/jira/browse/SPEC-322)

@matrixbot
Copy link
Member Author

Jira watchers: @illicitonion @ara4n

@matrixbot
Copy link
Member Author

Could you describe the flow you expect users to take?

-- @illicitonion

@matrixbot
Copy link
Member Author

In a matrix client I expect to be able to click on a 3PID invite and hit a cancel button. We could conceivably notify the 3PID target that the invite has been retracted, but in practice it's probably not worth it and we can just give them a "sorry, this invite is no longer valid" when they try to accept it.

-- @ara4n

@matrixbot
Copy link
Member Author

Who should be allowed to do this? Right now, this doesn't exist for regular invites.

The original inviter? Anyone with "kick" power level? A new power level?

After some discussion with Erik and Mjark, there's no way to establish a happens-before relationship between the invite being cancelled and an attempted join event, so we're not going to be able to be resilient to people forking the graph and joining despite the cancellation. We can do this check in a federation-join by having the danced-with server check its current state, but that may be wrong.

Either way, I think this requires enough thought that Erik will probably end up being the one to do it :)

-- @illicitonion

@matrixbot
Copy link
Member Author

It does already exist for regular invites. If you kick the invitee from the room, they are no longer invited.

Anyone with "kick" power level should be able to retract invites.

But bleurgh and fair enough regarding the causality mess. Sounds like Erik gets this prize then - although I'd hope we can directly take inspiration from non-3PID invites...

-- @ara4n

@matrixbot matrixbot changed the title We need a way of cancelling 3PID invites We need a way of cancelling 3PID invites (SPEC-322) Oct 31, 2016
@matrixbot matrixbot added spec-bug Something which is in the spec, but is wrong enhancement A suggestion for a relatively simple improvement to the protocol and removed spec-bug Something which is in the spec, but is wrong labels Nov 7, 2016
@mordae
Copy link

mordae commented May 25, 2018

I manage a few rooms and the list of invalid invites is getting longer and longer. What about simply expiring 3PID invites after a week or so?

@ara4n
Copy link
Member

ara4n commented Sep 12, 2020

Element Web implements this by setting the content of the m.room.third_party_invite to {}. Shall we just spec this?

@richvdh
Copy link
Member

richvdh commented Sep 12, 2020

sgtm

@turt2live
Copy link
Member

That still doesn't retract the invite, it just makes it useless. Would be nice to clean it up properly.

@richvdh richvdh transferred this issue from matrix-org/matrix-spec-proposals Mar 1, 2022
@grinapo
Copy link
Contributor

grinapo commented Apr 24, 2022

What happened here? Is there any open questions left?

@richvdh richvdh changed the title We need a way of cancelling 3PID invites (SPEC-322) Spec the mechanism for cancelling 3PID invites (SPEC-322) Apr 25, 2022
@richvdh richvdh added spec-omission implemented but not currently specified and removed A-Identity-Service enhancement A suggestion for a relatively simple improvement to the protocol labels Apr 25, 2022
@richvdh richvdh changed the title Spec the mechanism for cancelling 3PID invites (SPEC-322) Spec a mechanism for cancelling 3PID invites (SPEC-322) Apr 25, 2022
@richvdh richvdh added enhancement A suggestion for a relatively simple improvement to the protocol and removed spec-omission implemented but not currently specified labels Apr 25, 2022
@richvdh
Copy link
Member

richvdh commented Apr 25, 2022

gah, I missed @turt2live's comment. As he says: we need a way to properly retract invites, rather than just making them unusable.

@richvdh richvdh changed the title Spec a mechanism for cancelling 3PID invites (SPEC-322) Spec a mechanism for retracting 3PID invites (SPEC-322) Apr 25, 2022
@ExtinctPatronageDeodorize

It does already exist for regular invites. If you kick the invitee from the room, they are no longer invited.

This is not the same as retracting an invite. The invitee could also have had invites from other users (into the same room). Kicking the invitee would invalidate all of these invites, not just one. Right?

@aaronraimist
Copy link
Contributor

@ExtinctPatronageDeodorize A Matrix user can only have one invite at a time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Client-Server Issues affecting the CS API enhancement A suggestion for a relatively simple improvement to the protocol
Projects
None yet
Development

No branches or pull requests

8 participants