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

flagged/reported Challenges should be hidden from most players #9725

Open
Alys opened this issue Dec 17, 2017 · 4 comments
Open

flagged/reported Challenges should be hidden from most players #9725

Alys opened this issue Dec 17, 2017 · 4 comments

Comments

@Alys
Copy link
Contributor

Alys commented Dec 17, 2017

Edit by Alys 2021-09-15: There is a mostly-complete PR at #11920 which another Blacksmith could finish to resolve this issue and #5557.

This is feature depends on #5557 so it should either be worked on after #5557 has been completed, or at the same time.

As described in #5557, Challenges are going to have a "Report" button so that Challenges that violate the Community Guidelines can be flagged for moderators to review them.

The first version of that feature does not need to hide flagged challenges (moderators generally respond to reports fairly rapidly so hiding isn't essential). However hiding is a desired feature so I'm creating this suggestion-discussion issue for us to determine exactly how it should work.

As for chat messages, hiding/showing will be based on the challenge's flagCount (see #5557 for details):

  • When flagCount is 0 (the default), the challenge is not hidden and has no special message on it
  • When flagCount is 1:
    • the challenge is not hidden from any players
    • mods/staff see a message on the challenge saying Challenge flagged once, not hidden
  • When flagCount is greater than 1:
    • the challenge is hidden from most players (see below for details)
    • mods/staff see a message on the challenge saying Challenge hidden

The messages that mods/staff see will never be seen by other players so it doesn't really matter what it looks like as long as it's obvious. Whatever is done in #5557 should be fine, with just the words changed (that issue will create one message that merely says "Flagged").

When a challenge is hidden, it must remain visible to mods/staff and to the challenge's creator.

The challenge creator must not see the message on the challenge saying that it's been flagged (unless the creator is also a mod or staff, in which case they see the usual mod messages). This is so that mods/staff can quietly discuss a troublesome challenge before deciding how to approach the challenge owner.

A hidden challenge should remain visible to its current participants so that they can leave it if they want to or interact with it in any other normal way. The challenge tasks should keep working normally for all participants. This is for two reasons:

  • It will be possible for a challenge to be incorrectly flagged, and we don't want to disadvantage players who have joined it.
  • For challenges that are violations of the Guidelines, in most cases we can assume that since the participants already joined, the violations do not upset them personally so there's little reason to hide it from them, and they need to be able to use the challenge - e.g., to not be damaged for Dailies, or to leave the challenge if they do decide that the violation bothers them.
    Challenge participants should see no indication that a challenge has been flagged, regardless of what the flagCount is. They should see the "Report Violation" button even if the challenge has already been reported enough times to hide it from non-participants (i.e., that button does not need any special handling on it to hide/show it - it can be visible under all circumstances to anyone who can see the challenge).

A hidden challenge should not be visible to any player not listed above.

It's important that the hiding of the challenges is done in the API, not in the website's vue code. All three of these API routes should not allow a challenge to appear in their returned data if the challenge should be hidden from the user:

  • /api/v3/challenges/groups/:groupId
  • /api/v3/challenges/user
  • /api/v3/challenges/:challengeId
    I.e., when API is returning any list of challenges, it must check flagCount for each of them and not include any challenge with a flagCount greater than 1 if that challenge should be hidden from the user requesting the list. Similarly, when the API is used to return details of one specific challenge, if the challenge should not be visible to the user, then the API should return the standard challengeNotFound message ("Challenge not found or you don't have access.").

A hidden challenge must still be fully editable by the challenge creator and by mods/staff.
(NB mods/staff currently have permissions to edit all challenges, except for the challenges' tasks, and that doesn't need to be changed in this issue. Ref #8149 regarding tasks).

A challenge with a flagCount greater than 0 should be able to be deleted by the challenge owner or mods/staff as normal (i.e., the current deletion feature does not need any special handling for any value of flagCount).

A challenge with a flagCount greater than 0 should not be able to be closed with a winner because we don't want inappropriate challenge names appearing in players' achievements. I.e., whenever flagCount is 1 or higher, the "End Challenge" button should still be visible to the owner and to mods/staff, and should still be clickable, but the modal that opens should not have the"Select winners from the Challenge participants" section. Instead it should have this message: "This challenge cannot be closed because one or more players have reported it as inappropriate. Staff members or moderators will contact you shortly with instructions. If over 48 hours have passed and you have not heard from them, please email admin@habitica.com for assistance."
The modal should still have the current delete section, as mentioned above.
(A note for mods: when a challenge is flagged inappropriately, we must remember to unflag it so that the owner can close the challenge. It might help to have a reminder about that on the Slack message we get since for chat messages flagged only once inappropriately, we don't always bother to unflag.)

The "Clone" button should still be visible on a challenge with a flagCount greater than 0 but when it's clicked, the "Create Challenge" form should not appear. Instead there should be a small modal saying "This challenge cannot be cloned because one or more players have reported it as inappropriate. Staff members or moderators will contact you shortly with instructions. If over 48 hours have passed and you have not heard from them, please email admin@habitica.com for assistance."I.e., the same message as above except it says "cloned" instead of "closed".

The "Export" button should work as normal for flagged challenges.

@Alys
Copy link
Contributor Author

Alys commented Nov 10, 2018

I've marked this as on hold until #5557 is completed. That issue is significantly more useful than this one so it makes sense to get it done first without the extra time needed to handle this issue too.

@SabreCat
Copy link
Member

SabreCat commented Aug 27, 2021

Opening back up as alecbrick has stepped away from the work. It may not require much more effort--could be a quick win for another contributor!

Edit by Alys 2021-09-15: alecbrick's PR is #11920

@matchajune
Copy link
Contributor

I would like to work on this issue if possible. Thank you!

@CuriousMagpie
Copy link
Member

Absolutely, @matchajune! Thank you!

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

Successfully merging a pull request may close this issue.

7 participants