# 关于新的审核队列(2019)的反馈

**URL:** <https://meta.discourse.org/t/feedback-on-the-new-review-queue-2019/112837>\
**Category:** Announcements\
**Tags:** new-feature, review-queue\
**Created:** [2019年三月28日 16:50 UTC](https://meta.discourse.org/t/feedback-on-the-new-review-queue-2019/112837 "2019-03-28T16:50:12Z")\
**Posts on this page:** 20\
**Page:** 11

<div class="post-metadata">

**Author:** ![cpradio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cpradio/32/4970_2.png) [@cpradio](https://meta.discourse.org/u/cpradio)\
**Post date:** [2020年八月26日 11:55 UTC](https://meta.discourse.org/t/feedback-on-the-new-review-queue-2019/112837/219 "2020-08-26T11:55:58Z")

</div>

哦，我完全没问题。即使下拉按钮的主要操作是“删除用户”，而通过下拉菜单可以选择“暂停用户”，那也将是理想方案。这样，假设大多数并非单点登录（SSO）环境，就不会为他们增加额外工作；而对于处于这种情况的用户，则提供了一种快速暂停用户而非删除用户的方式。

---

<div class="post-metadata">

**Author:** ![eviltrout](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/eviltrout/32/5275_2.png) [@eviltrout](https://meta.discourse.org/u/eviltrout)\
**Post date:** [2020年八月26日 12:56 UTC](https://meta.discourse.org/t/feedback-on-the-new-review-queue-2019/112837/220 "2020-08-26T12:56:10Z")

</div>

@Roman，你想把这个也加到你的清单里吗？我觉得它对使用单点登录（SSO）的网站很有用。

---

<div class="post-metadata">

**Author:** ![bartv](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bartv/32/130052_2.png) [@bartv](https://meta.discourse.org/u/bartv)\
**Post date:** [2020年九月1日 10:38 UTC](https://meta.discourse.org/t/feedback-on-the-new-review-queue-2019/112837/221 "2020-09-01T10:38:26Z")

</div>

当我们从审核队列中删除用户时，会弹出“404 未找到”提示：

 ![image](https://global.discourse-cdn.com/meta/original/3X/a/3/a317030866fbff8e42460af475a78e9c5c74e033.png)

（刚刚更新到最新版本，问题依然存在）

---

<div class="post-metadata">

**Author:** ![Roman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/roman/32/157504_2.png) [@Roman](https://meta.discourse.org/u/Roman)\
**Post date:** [2020年九月1日 11:33 UTC](https://meta.discourse.org/t/feedback-on-the-new-review-queue-2019/112837/222 "2020-09-01T11:33:56Z")

</div>

我会看一下。这些用户是在等待审批吗？

---

<div class="post-metadata">

**Author:** ![bartv](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bartv/32/130052_2.png) [@bartv](https://meta.discourse.org/u/bartv)\
**Post date:** [2020年九月1日 13:07 UTC](https://meta.discourse.org/t/feedback-on-the-new-review-queue-2019/112837/223 "2020-09-01T13:07:49Z")

</div>

批准并删除被标记为垃圾信息的用户。

---

<div class="post-metadata">

**Author:** ![bartv](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bartv/32/130052_2.png) [@bartv](https://meta.discourse.org/u/bartv)\
**Post date:** [2020年九月2日 13:31 UTC](https://meta.discourse.org/t/feedback-on-the-new-review-queue-2019/112837/224 "2020-09-02T13:31:42Z")

</div>

我刚刚意识到，我管理的另一个网站并没有出现这种情况，我隐隐怀疑这可能与[关注插件](https://meta.discourse.org/t/follow-plugin/110579)有关，因为该插件最近进行了一些与已删除用户相关的更改。@merefield，你怎么看？

---

<div class="post-metadata">

**Author:** ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)\
**Post date:** [2020年九月2日 13:42 UTC](https://meta.discourse.org/t/feedback-on-the-new-review-queue-2019/112837/225 "2020-09-02T13:42:15Z")

</div>

> [@bartv](#):
>
> 最近看到了一些与已删除用户相关的变更。

目前还不清楚。你能具体说明一下吗？有日志证据吗？

浏览器中的网络标签页：那个 404 错误的 URL 是什么？

目前该插件唯一（轻微的）问题（据我所知）是，如果你卸载插件，必须删除相关的通知（插件首帖中的脚本）。这与已删除用户无关。

---

<div class="post-metadata">

**Author:** ![Roman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/roman/32/157504_2.png) [@Roman](https://meta.discourse.org/u/Roman)\
**Post date:** [2020年九月2日 13:54 UTC](https://meta.discourse.org/t/feedback-on-the-new-review-queue-2019/112837/226 "2020-09-02T13:54:17Z")

</div>

我在本地也无法复现该问题。错误信息让我觉得前端正在向一个不存在的端点发起 AJAX 请求。@bartv 能否在执行删除操作后，分享一下你浏览器的网络标签页？

我想知道它是否看起来像这样：

 ![Screen Shot 2020-09-02 at 10.51.56](https://global.discourse-cdn.com/meta/original/3X/0/6/06106ac0dd648f17439c6b0e9fbf33ab75f30bca.png)

---

<div class="post-metadata">

**Author:** ![bartv](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bartv/32/130052_2.png) [@bartv](https://meta.discourse.org/u/bartv)\
**Post date:** [2020年九月2日 14:36 UTC](https://meta.discourse.org/t/feedback-on-the-new-review-queue-2019/112837/227 "2020-09-02T14:36:57Z")

</div>

下次发生这种情况时我会的：+1

---

<div class="post-metadata">

**Author:** ![Roman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/roman/32/157504_2.png) [@Roman](https://meta.discourse.org/u/Roman)\
**Post date:** [2020年九月2日 15:26 UTC](https://meta.discourse.org/t/feedback-on-the-new-review-queue-2019/112837/228 "2020-09-02T15:26:05Z")

</div>

> [@merefield](#):
>
> 目前该插件唯一的（次要）问题（据我所知）是，如果你卸载插件，需要删除相关的通知（插件 OP 中的脚本）。这与已删除的用户无关。

该插件对 `UserDestroyer` 进行了猴子补丁（monkey patch），而当你从审核队列中执行删除操作时会调用它。这看起来很可疑：

> <https://github.com/discourse/discourse-follow/blob/main/plugin.rb#L111>

如果 `following_ids` 中包含了无效的 ID，`User#find` 将会抛出异常，用户会看到“404 Not Found”错误。我建议使用 `User.find_by(id: ...)` 代替。

在不查看数据库的情况下，我无法确定 @bartv 的站点是否发生了这种情况。因此，下次发生此类问题时，建议检查被标记用户的 `following_ids`。

---

<div class="post-metadata">

**Author:** ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)\
**Post date:** [2020年九月2日 15:27 UTC](https://meta.discourse.org/t/feedback-on-the-new-review-queue-2019/112837/229 "2020-09-02T15:27:12Z")

</div>

谢谢。确实如此，这是一个非常有用的亮点。

我仍然希望确认日志和那个 404 的 URL。

可能还有更多方法可以让它更加健壮。

---

<div class="post-metadata">

**Author:** ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)\
**Post date:** [2020年九月2日 16:12 UTC](https://meta.discourse.org/t/feedback-on-the-new-review-queue-2019/112837/230 "2020-09-02T16:12:19Z")

</div>

已推送：[FIX: make code invoked when deleting users more robust · discourse/discourse-follow@b523b3a · GitHub](https://github.com/paviliondev/discourse-follow/commit/b523b3aee2d2f0e01934ef63131bc85e3c7caf34) 谢谢！

---

<div class="post-metadata">

**Author:** ![Roman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/roman/32/157504_2.png) [@Roman](https://meta.discourse.org/u/Roman)\
**Post date:** [2020年九月2日 20:54 UTC](https://meta.discourse.org/t/feedback-on-the-new-review-queue-2019/112837/231 "2020-09-02T20:54:46Z")

</div>

> [@cpradio](#):
>
> 是否考虑过为 Akismet 标记的讨论主题/帖子添加“挂起”操作？

我们已合并一个拉取请求（PR）以添加此操作。现在，“确认”、“确认并删除”以及“确认并挂起”已整合在一起：

 ![Screen Shot 2020-09-02 at 14.30.23](https://global.discourse-cdn.com/meta/original/3X/4/7/47277eac2294544565f8d67e0774daa3553b0991.png)

---

<div class="post-metadata">

**Author:** ![bartv](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bartv/32/130052_2.png) [@bartv](https://meta.discourse.org/u/bartv)\
**Post date:** [2020年九月3日 10:21 UTC](https://meta.discourse.org/t/feedback-on-the-new-review-queue-2019/112837/232 "2020-09-03T10:21:27Z")

</div>

我移除了 Follow 插件，但问题依然存在。在 Rails 日志中我看到：

```plaintext
Started PUT "/review/6793/perform/reject_user_block?version=0" for xx.xx.xx.xx at 2020-09-03 09:45:48 +0000
Processing by ReviewablesController#perform as */*
  Parameters: {"version"=>"0", "reviewable_id"=>"6793", "action_id"=>"reject_user_block"}
Job exception: undefined method `strip' for nil:NilClass

  Rendering text template
  Rendered text template (Duration: 0.0ms | Allocations: 1)
Started GET "/t/global-variables/331828" for xx.xx.xx.xx at 2020-09-03 09:45:48 +0000
Processing by TopicsController#show as HTML
  Parameters: {"slug"=>"global-variables", "topic_id"=>"331828"}
Completed 404 Not Found in 292ms (ActiveRecord: 0.0ms | Allocations: 124598)
ActiveRecord::RecordNotFound (Couldn't find all Topics with 'id': (1185852, 1185853, 1186324, 1186929, 1191089) [WHERE ("topics"."deleted_at" IS NULL)] (found 4 results, but was looking for 5).)
lib/plugin/instance.rb:393:in `block in on'
lib/discourse_event.rb:14:in `block in trigger'
lib/discourse_event.rb:13:in `trigger'
app/models/user.rb:1567:in `trigger_user_destroyed_event'
app/models/reviewable.rb:353:in `perform'
app/controllers/reviewables_controller.rb:192:in `perform'
app/controllers/application_controller.rb:340:in `block in with_resolved_locale'
app/controllers/application_controller.rb:340:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:68:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:336:in `call'
config/initializers/008-rack-cors.rb:25:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:22:in `call'
lib/middleware/request_tracker.rb:176:in `call'

```

ActiveRecord::RecordNotFound 这一行很值得关注，因为每次我尝试从审核队列中删除用户时都会出现，并且涉及的帖子 ID 完全相同。

我检查了这些帖子 ID，发现它们都使用了 [Events](https://meta.discourse.org/t/events-plugin/69776/506) 插件。果然，其中一个帖子已被删除。我不明白为什么审核队列中的这个操作会检查这些帖子？

@merefield 看来我又来麻烦你们了，抱歉 🙂

**编辑** ：更新了插件链接

---

<div class="post-metadata">

**Author:** ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)\
**Post date:** [2020年九月3日 10:34 UTC](https://meta.discourse.org/t/feedback-on-the-new-review-queue-2019/112837/233 "2020-09-03T10:34:07Z")

</div>

> [@bartv](#):
>
> 我检查了主题 ID，这些都是使用了 [Discourse Event](https://meta.discourse.org/t/discourse-event/149964/51) 的帖子。

这是一个核心插件。

---

<div class="post-metadata">

**Author:** ![bartv](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bartv/32/130052_2.png) [@bartv](https://meta.discourse.org/u/bartv)\
**Post date:** [2020年九月3日 10:34 UTC](https://meta.discourse.org/t/feedback-on-the-new-review-queue-2019/112837/234 "2020-09-03T10:34:57Z")

</div>

等等，我正在使用

> git clone [GitHub - angusmcleod/discourse-events: Allows you to manage events in Discourse · GitHub](https://github.com/paviliondev/discourse-events.git)

这个是不是不对（或者已经过时了）？（我觉得我可能链接到了错误的页面，正在修正）

---

<div class="post-metadata">

**Author:** ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)\
**Post date:** [2020年九月3日 10:35 UTC](https://meta.discourse.org/t/feedback-on-the-new-review-queue-2019/112837/235 "2020-09-03T10:35:26Z")

</div>

这就是活动。@fzngagan 对此有什么看法？

---

<div class="post-metadata">

**Author:** ![fzngagan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/fzngagan/32/259349_2.png) [@fzngagan](https://meta.discourse.org/u/fzngagan)\
**Post date:** [2020年九月3日 10:36 UTC](https://meta.discourse.org/t/feedback-on-the-new-review-queue-2019/112837/236 "2020-09-03T10:36:48Z")

</div>

点击它会指向正确的代码库。

---

<div class="post-metadata">

**Author:** ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)\
**Post date:** [2020年九月3日 10:37 UTC](https://meta.discourse.org/t/feedback-on-the-new-review-queue-2019/112837/237 "2020-09-03T10:37:48Z")

</div>

哈哈，不是的，问题在于从审核队列中删除用户。

---

<div class="post-metadata">

**Author:** ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)\
**Post date:** [2020年九月3日 10:43 UTC](https://meta.discourse.org/t/feedback-on-the-new-review-queue-2019/112837/238 "2020-09-03T10:43:53Z")

</div>

> [@bartv](#):
>
> `lib/discourse_event.rb`

这与插件无关，这是一个核心库文件。

你为什么认为 Events 与此有关？

[上一頁](https://meta.discourse.org/t/feedback-on-the-new-review-queue-2019/112837.md?page=10)

[下一頁](https://meta.discourse.org/t/feedback-on-the-new-review-queue-2019/112837.md?page=12)
