In our system, a user's profile can be public or private. If the profile owner sets his profile to public, anyone can follow the profile. If he sets it to private, people must send a request to follow.
A profile owner can accept, reject or block. If he accepts, then the follower starts to follow. If he rejects, the user can't follow but can request again. If he blocks, the two users aren't able to follow each other, or send new requests.
When a profile goes from private to public, users who had requested to follow (as well as anyone else) can now follow the profile.
However, if the profile owner changes his account from public back to private, how should I handle the previous pending requests? So far, I've found that there are two ways of handling this:
The Instagram Method: Setting a profile to public is essentially "accepting all followers", so the pending requests just get marked as accepted. Reverting the profile back to private doesn't undo this action.
The Twitter Method: Setting a profile to public allows everyone to follow, but setting it back to private restores the pending requests as they were before. This means that a follower that wasn't explicitly approved (i.e. one who had sent a request, but didn't get a response) will be back to waiting for approval.
Is one of these methods better than the other?