-
Notifications
You must be signed in to change notification settings - Fork 387
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
MSC4164: Leave all rooms on deactivation #4164
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
# MSC4164: Leave all rooms on deactivation | ||
|
||
When an account is | ||
[deactivated](https://spec.matrix.org/v1.11/client-server-api/#post_matrixclientv3accountdeactivate), | ||
it removes all ability for the user to login again. However, as the account is not removed from rooms | ||
it is in, this causes the server to still be sent events for rooms that account is in, even if all | ||
of the accounts in that room are deactivated, and hence no user is able to see them. | ||
|
||
## Proposal | ||
|
||
Servers SHOULD make the account leave all rooms it is currently in when the account is deactivated. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm curious if this could even be a MUST potentially? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There may be some usecases where you would want deactivated users to stay in rooms, but I'm not aware of any. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If we can't come up with a usecase than I suspect it makes sense to be strict. The main use-case I can think of is stranding a room without an admin. E.g. you might not want to remove the user from the room if they're the user with the highest power level. (See also your MSC4165.) By leaving the user in the room the server admin could "recover" the room. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think this leaves the deactivation in a bit of an unknown state and makes the whole thing a bit sticky. I'd be minded to instead have your client, assuming it's got a full set of powerlevels across rooms, to inform you if you're about to leave some rooms stranded. That way, you can take action in advance of the deactivation to fix the rooms...or ignore it and deactivate anyway. Leaving a room without an admin isn't a problem if the user consents to doing so, imo. |
||
|
||
## Potential issues | ||
|
||
This makes account deactivation a bit more complicated to implement, however as this has the ability | ||
to save bandwidth, it is deemed worth it. | ||
|
||
## Alternatives | ||
|
||
None considered. | ||
|
||
## Security considerations | ||
|
||
None considered. | ||
|
||
## Unstable prefix | ||
|
||
None required, as no new endpoints or fields are being proposed. | ||
|
||
## Dependencies | ||
|
||
None. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Implementation requirements:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Implementations:
evacuateUser
endpoint, use it when deactivating accounts dendrite#2545