# Add "Suspend" action to review resolution options for "User Needs Approval" flags

**URL:** https://meta.discourse.org/t/add-suspend-action-to-review-resolution-options-for-user-needs-approval-flags/408891
**Category:** Feature
**Tags:** review-queue, fixed
**Created:** [July 30, 2026, 4:15am UTC](https://meta.discourse.org/t/add-suspend-action-to-review-resolution-options-for-user-needs-approval-flags/408891 "2026-07-30T04:15:08Z")
**Posts on this page:** 1
**Showing post:** 4

<div class="post-metadata">

### Author: ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)
#### Post date: [July 31, 2026, 8:13am UTC](https://meta.discourse.org/t/add-suspend-action-to-review-resolution-options-for-user-needs-approval-flags/408891/4 "2026-07-31T08:13:39Z")

</div>

Tried my best making the options consistent across all the “review” screens

> <https://github.com/discourse/discourse/pull/42205>
>
> Previously, suspect-user reviewables ("user needs approval" flags) and queued-po…st reviewables could only be resolved by deleting the user or rejecting the post outright — a reviewer mistake on an automated false positive was irreversible, and sites with no-deletion policies had to resolve the flag and then manually suspend the user from their admin page. Requested in \[meta t/408891\](https://meta.discourse.org/t/408891) and \[meta t/225660\](https://meta.discourse.org/t/225660).
> 
> This change adds guardian-gated \*\*Silence user\*\* / \*\*Suspend user\*\* resolutions to both queues via a shared \`build\_penalty\_actions\` helper, using the same penalize-modal flow the flagged-post and review-every-post queues already use (staff log linked back to the reviewable). Along the way it:
> 
> \- hides penalty actions that are already active everywhere (previously a resolve-then-409 dead end), and fixes the penalize modal's unawaited \`before()\` race so the penalty is only applied once the reviewable action succeeded;
> \- narrows the rejected-user \*\*scrub\*\* affordance to records whose identity snapshot is the last remaining copy (user deleted, or renamed/anonymized after a failed deletion), admin-gated to match the endpoint;
> \- shows an active penalty (localized end date and reason) on the reviewable user card, so it's clear why a penalty option is absent;
> \- preloads \`anonymous\_user\_master\` on the queue since the new \`silenced?\` gates would otherwise lazy-load it per row;
> \- rewrites the action descriptions in one consistent voice.
> 
> \<img width="460" height="313" alt="2026-07-31 @ 07 46 57" src="https://github.com/user-attachments/assets/87d5bf49-97e0-47a4-939e-16da3f55c6e1" /\>

---

_[View the full topic](https://meta.discourse.org/t/add-suspend-action-to-review-resolution-options-for-user-needs-approval-flags/408891)._
