philomena-dev / philomena

Next-generation imageboard
GNU Affero General Public License v3.0
84 stars 29 forks source link

Feature proposal: Ignored users and privacy settings #156

Open Meow opened 2 years ago

Meow commented 2 years ago

Is your feature request related to a problem? Please describe. CP spam and PMs containing CP or shock content.

Describe the solution you'd like My solution has three components.

  1. Ability to ignore a user.
    • Ignored user is not informed of the fact that they are ignored. They see the ignoring user's account and interactions all the same, and the site does not indicate to them in any way that they are ignored.
    • Ignoring user sees "You are ignoring this user. Stop ignoring them first before you can view their profile" if they try to visit the ignored user's profile
    • Uploads made by the ignored user appear as anonymous to the ignoring user. Such uploads are still filterable by adding uploader_id:X to the filter.
    • Ignoring user does not see any comments, posts or faves made by the ignored user, however ignored user's interactions still add to the total score.
    • A notice such as "This page includes N communications that you ignore." should be placed at the bottom of the posts/comments list.
    • PMs by the ignored user do not appear at all in the conversations list. A notice similar to post/comments notice should be displayed at the bottom.
  2. Ability to set default privacy settings.
    • Add a privacy settings menu to the settings or account settings.
    • All privacy settings would have the following levels of security: 1. Everyone; 2. Users registered at least 14 days ago; 3. Users registered 14 days ago, and which have one non-deleted communication that is at least 7 days old, and which are not currently banned; 4. Only friends and staff members; 5. Only staff members;
    • Default privacy value is "Everyone".
    • Privacy settings would change what user sees, not technically what can be sent to the user.
    • Privacy settings should be applicable to conversations.
    • (Optionally, as a separate setting) Privacy settings could be applicable to uploads.
    • (Optionally, as a separate setting) Privacy settings could be applicable to comments and posts.
  3. Introduce friends list
    • User should see a button "Add to friends" on every user on the site.
    • Ignored users cannot be friended. In order to ignore a user, you must unfriend them first (could be done automatically).
    • "Friendship" can be one-sided, and does not need approval of the party being friended, since nothing changes for them regardless of whether they're friend or not.
    • Friends list would come with a couple of implications, such as being able to watch or search for friends uploads, comments or posts (such as my:friends search term).
    • (Optional) Friends would be displayed somewhere on the profile.

Describe alternatives you've considered Alternatively, go twitter route and have all PMs needing to be approved before they can be read.

Additional context See first section

stsyn commented 2 years ago
  1. Ability to ignore a user.

Ignoring user does not see any comments...

Quotes still can reveal their content.

A notice such as "This page includes N communications that you ignore." should be placed at the bottom of the posts/comments list.

Works as clickbait.

  1. Ability to set default privacy settings.

In case of PM should be applied only at the moment of starting PM chain, otherwise handling code can become very complex to don't break already existing conversations in case of privacy settings change + in case of writing to the user, who is technically filtered out by privacy setting. Ignoring/direct blocking should be used to get rid of unwanted existing PM chains.

Privacy settings would change what user sees, not technically what can be sent to the user.

Against this part in case of this feature, all known to me social networks let "filtered out user" know, that they cannot interact with someone. I don't see any scenarios, when hiding that knowledge will help, but plenty, when hiding hurts.

Privacy settings could be applicable to uploads/comments.

Enabling this hurts more, than helps (example: this will artificially lower auditory coverage for "just registered" artists). Also, how true anonymous uploads should be handled? None of known CP spammers use accounts.

joeyponi commented 2 years ago
  1. Users registered 14 days ago, and which have one non-deleted communication that is at least 7 days old, and which are not currently banned

If this option allows post/PM visibility to toggle based on if someone is currently banned, it could be used to determine if a specific user is (or isn't) presently banned on the site.

"Friendship" can be one-sided, and does not need approval of the party being friended, since nothing changes for them regardless of whether they're friend or not. Friends list would come with a couple of implications, such as being able to watch or search for friends uploads, comments or posts (such as my:friends search term).

I feel this creates some risk of making it easy to stalk people on the site, as someone could just friend people they're targeting and get a feed of all their activity on the site. I feel like allowing the other side to approve a friend request would provide more comfort to users.