Do not swap Approve / Reject buttons in the spam queue!

AI-generated summary

Laurent initiated a discussion about the inconsistent placement and labeling of “Approve” and “Reject” buttons in Discourse’s review queues. He noted that the spam queue and flag queue swap these actions (e.g., “Reject” is on the left in one and on the right in the other), leading to accidental moderation errors during high-volume spam handling. nathank, bartv, and others agreed that the inconsistency adds unnecessary cognitive load, with merefield highlighting confusion around terms like “rejected” when agreeing with a flag.

In response, awesomerobot proposed a standardized approach: rephrasing questions to “Is there something wrong with this post/account?” so that “Yes” consistently means there is a problem. RGJ supported this, though RGJ later expressed concern that green “flag approved” badges might be misinterpreted as “post is okay” when they actually confirm the flag’s validity. mbauman added that the review logs were also confusing because the same words (e.g., “approved”) had opposite meanings depending on whether one was reviewing a user or a post.

awesomerobot implemented these changes in pull request #45915 and released them as an upcoming change called Consistent review queue answers (details). The update ensures “Yes” always indicates a problem and aligns badge colors and wording across different reviewable types. Laurent, bartv, and mbauman thanked the team for addressing the usability issues.

awesomerobot later cross-referenced a separate topic discussing whether this change affects how “Approvals” are perceived, specifically regarding user moderation versus post moderation. Ed_S added context that some communities require all users to go through approval regardless of suspicion, which might conflict with the new “Yes means problem” logic if not carefully explained.

We’ve been getting a lot of spam lately, sometimes 10-15 posts, and it’s very obvious they are spam so I go very quickly through them to delete and block the user.

Doing so made me realise that Discourse has two GUI to handle such messages - the spam queue and the flag queue. That’s fine, but the problem is that these two queue swap the Approve / Reject buttons.

See in the screenshots below - in the first one, the “Reject” actions are on the left, and the “Approve” one on the right. While on the second screenshot you would click on the left button to “Approve”, and on the right one to “Reject”.

Obviously when going through many posts it’s easy to end up restoring a post when you wanted it deleted or vice-versa.

So I’m suggesting putting the similar actions on the same side - maybe by changing queued topics to have the “Reject Post” button on the left instead.

Flagged post

Queued topic

13 Likes

Today I accepted again a post I should have deleted because of the constant flip-flopping between “yes” fo Approve and “no” for Reject. Given the care that the Discourse team puts into UI/UX I’m surprised this hasn’t been addressed at all.

That seems like basic usability, that you don’t flip the meaning of two Accept/Reject buttons. Or is there a rational for doing it, like maybe forcing the user to look closely and choose carefully? (if so it’s not working)

8 Likes

I’ve noticed that too!

It hasn’t caused us problems to date, due to low spam traffic. But I can imagine the ongoing issues / annoyance you are having.

It would be really good to have the UI nice and consistent between these, but I’m guessing this will take quite a lot of work to get right.

3 Likes

+1 to this. The inconsistencies here are costing me more brain cycles than it should.

3 Likes

I find this interface confusing in general. When you agree with a flag it says “rejected”? Did I just reject the flag?! I wonder if there is scope to make all this workflow more clear and straightforward?

6 Likes

Exactly - it’s a task that’s mechanical - spam, reject, non-spam, accept, and it should be possible to do it quickly. But because of the confusing UI I always have to be careful for each decision, making sure I check what “yes” or “no” means, and I still occasionally end up getting it wrong

5 Likes

I also find it a little confusing that the review buttons are underneath on mobile but on the right on desktop.

2 Likes

Agree with an overhaul here…

And it seems like combinations are missing or implicit. Will “delete and block user” also delete the post, or just the user?

3 Likes

Agreed, I always have to read the definitions to ensure I’m choosing the right one

2 Likes

We spent a fair bit of time trying to make this all less confusing less year. We hit some walls and didn’t really get to follow through completely.

Maybe now that we’ve let it rest for a while we’ll be able to return to it with some fresh eyes and address these issues a bit better.

7 Likes

That would be brilliant :folded_hands:

2 Likes

This has come up a couple other times too:

In terms of direction would everyone be happy with: “Is there something wrong with this post/account/message/etc” as the formatting?

This would mean “yes” always indicates “yes there’s something wrong”


8 Likes

Not sure about everyone, but I would be happy :grinning_face:

5 Likes

Also, how about instead of these mixed directions…

“flag approved” (there was a problem with the post) = green badge

“post rejected” (there was a problem with the post) = red badge

We could make the badges reflect a single problem/no problem direction.

3 Likes

My head says “green badge” —> “post is ok”

I feel the decision is on the post, not on the flag. The flag is merely a signal.

6 Likes

I already had this started based on an earlier topic, completing it here:

and a corresponding update for Akismet (just to fix specs based on the core change)

7 Likes

I am constantly unsure what the /review action logs mean because the same words mean completely opposite things on different types of reviewables. For example, when I get a “User needs approval” reviewable and decide that the user should be deleted, I get badges and wording like:

image

If, however, a post is flagged as spam and I decide it should be deleted I get the completely opposite perspective!

image

It’d be so nice to have a single consistent perspective. Either I’m reviewing the flag or I’m reviewing the item the flag is on. I can totally see it both ways, but please don’t do both at the same time!

4 Likes

I’ve just merged a change to help with this… some more details here Upcoming change for the review queue: "Yes" now always means there's a problem

It’s being released as a beta upcoming change called Consistent review queue answers, which provides a little adjustment time to opt out if necessary.

6 Likes

That’s great news, thank you @awesomerobot for implementing this!

2 Likes

Amazing! Thanks for listening to our feedback! :clap:

4 Likes