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

Give user option of temporarily disabling account. #796

Open
asquare14 opened this issue Feb 4, 2018 · 20 comments
Open

Give user option of temporarily disabling account. #796

asquare14 opened this issue Feb 4, 2018 · 20 comments

Comments

@asquare14
Copy link
Member

asquare14 commented Feb 4, 2018

Description

I think in "Customize your profile", the user should be given the option of temporarily disabling their accounts.
Permanently deleting will lead the user's all data to be lost while temporarily deleting will give the user a chance to rejoin the community again from where they left.


Please assign yourself (via the Assignees dropdown), if you do want to work on this issue. Can't find yourself? You need to join our organization.

Check out our Picking Up Issues guide if you haven't already!

@julianguyen
Copy link
Member

This is a good idea, I think we should still keep the option to permanently delete the account.

We'll have to think through what temporarily disabling it means though. Would this prevent the user from having their content visible to allies?

@asquare14
Copy link
Member Author

asquare14 commented Feb 22, 2018

I was thinking of something along the lines of deactivating the account in facebook, it won't be visible to allies, in functionality it will be similar to delete permanently, the difference being data will not be lost and can be recovered.
This might be of relevance https://stackoverflow.com/questions/5140643/how-to-soft-delete-user-with-devise
And Yes we should keep option of permanent deletion, just add this feature. :D

@baohouse
Copy link
Contributor

Wait, so those people on Facebook who I thought deleted their accounts were actually just deactivated? Ohhh... that makes me seem kind of a jerk for cleaning out my relationship with them. 😞 So would suspending the account mean you won't be able to lurk and view your allies' activity as well (since they cannot see yours)? And it probably means you should be able to read content you're the author of.

@julianguyen
Copy link
Member

Yeah so how Facebook works when you deactivate your account (I do this a lot lol), no one can see your profile or interact with it. You are re-activated the minute you sign back in.

So in order to achieve something similar on our platform we would have some kind of "active" flag on a User account. If it's set to false then hide that user from any ally lists, ally search, the stories feed, and any strategies list they previously shared their content on.

@haleymnatz
Copy link
Collaborator

Hey @julianguyen, @baohouse, and @asquare14, is this feature vetted and ready to be implemented? If so, I'd be happy to work on it. :)

@carlqt
Copy link

carlqt commented Oct 3, 2018

Thanks for the invite, let me take a crack at this.

@julianguyen
Copy link
Member

Hey, @carlqt can you assign yourself to this issue? You should have received an invite to join the org in your email. Thank you! :)

@carlqt carlqt self-assigned this Oct 3, 2018
@carlqt
Copy link

carlqt commented Oct 4, 2018

Hey guys, was wondering what are the restrictions of a disabled user. Aside from being hidden from searches and allies list.

@asquare14
Copy link
Member Author

I think he or she cannot join groups ,stratergies and moments.

@carlqt
Copy link

carlqt commented Oct 4, 2018

Questions:

For an easier approach, should we just restrict a disabled user to accessing group/moods/medications/allies etc…? The only page that is accessible would be the profile page wherein he can decide to reactivate his account? The flow I’m thinking is that we redirect the user back to his profile and display a flash message saying he’s unable to navigate to these pages unless he reactivates back his account.

@julianguyen
Copy link
Member

@carlqt Sorry for the late reply to this! I think we want to restrict access to all pages and create a new page that allows the user to re-enable their account!

@akp2603
Copy link
Contributor

akp2603 commented Sep 29, 2020

Hi! I would be really interested to work on this one.
Is this still open?
(Will be needing a little guidance, this is going to be my first open source contribution)

@julianguyen
Copy link
Member

Hey @akp2603 looks like this issue is available!

@akp2603 akp2603 self-assigned this Oct 1, 2020
@akp2603 akp2603 removed their assignment Oct 11, 2020
@tlansey
Copy link

tlansey commented Nov 11, 2020

Looks like no one is on this one now! I'm sending a request to join soon and plan to assign myself to this issue once all that has been set up! First time contributing to open source :)

@julianguyen
Copy link
Member

@tlansey It would be great for you to work on this! Thank you :)

@kkreine
Copy link

kkreine commented Dec 14, 2021

It’s been a while since this issue has been touched, so I’d like to outline the feature to be sure I understand it correctly.

A disabled account

  • Is not visible to allies
  • Cannot be interacted with
  • Does not lose any of its data

This can be achieved by using an “active” flag on accounts set to true or false.

Method for re-activating account:

  • creating a new page that allows the user to re-enable their account upon login
    @julianguyen Does this sound right and would you like me to proceed with this feature implementation?

@julianguyen
Copy link
Member

@kkreine

Those specs are a good starting point! I think modal that pops up giving disabled users the option to reactivate their account after a signing in (with password and through Facebook/Google OAuth).

There are some edge cases to consider and talk through more after addressing what you outlined:

  • Comments from disabled users
  • Ally invites from disabled users

If it helps, feel free to make issues for specific tasks to work on! Let me know how else I can help/unblock!

@kkreine
Copy link

kkreine commented Jan 6, 2022

@julianguyen
I think it makes sense to change the name from “disabled” to something such as “paused.” Disabled is used to describe people physically or mentally disabled, and it sounds off to call an account “disabled” given the other usages of the word. Any ideas other than “paused”?

How are comments and ally invites from banned and deleted users dealt with? That could influence how paused users are handled.

Here are my ideas for the edge cases:

  • Comments from paused users would still remain, sort of like Reddit, but the username would be hidden and the comment would be labeled [removed]. Upon re-activation, the comments could re-appear.
    However, this may clutter comments if too many users commenting on the same thing pause their account. It might make more sense to simply delete them because I'm not sure how difficult it'd be to do something like the following:

  • Ally invites could be revoked. Maybe upon re-activation, we could allow the user to choose to permanently delete previous invites or re-send them all?

I noticed ifme is not using scopes, but one way to deal with this could be using one. Are you open to adding a scope to ifme for this issue? We could use a boolean scope of “paused” that is defaulted to false, and upon pausing the account, the field is changed to true. We could exclude banned and deleted users from the scope. Using default_scope is an option, but I think it has the potential to introduce more issues and might be better to avoid, but let me know if you think this is the right fit for ifme.

I have to look into implementation further, but I wanted to know your thoughts first. I am happy to think further about implementations that avoid scopes. Let me know what you think.

@julianguyen
Copy link
Member

@kkreine That's a great idea to change the wording to "paused"! Thanks so much for bringing that up! We'll also want to make sure we use inclusive language for our other translations.

For deleted users, they are deleted. For banned users, they are just hidden from the UI.

  1. I like the idea of keeping them and showing them with a removed label.
  2. I agree that ally invites should be revoked. I think the ability to re-send them all would be nice, but not a priority. I would focus on making sure they are revoked at the least.

Yeah I'm open to using scopes if the pros outweigh the cons. What are some potential issues we would face?

Thanks for taking the time to write this out! Fantastic questions and suggestions :)

@mapra99
Copy link
Member

mapra99 commented Jun 7, 2023

Hey @julianguyen @tlansey is this issue up for grabs? I'd like to work on it. I'm seeing there is already #1944 which looks like it got parked for a long while, I'd be happy to continue that work if that's ok

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

10 participants