# 当帖子待批准时，点击“新帖子”会出现一个丢弃确认模态框

**URL:** <https://meta.discourse.org/t/a-discard-confirmation-modal-appears-when-clicking-new-post-if-a-post-is-pending-approval/397711>\
**Category:** Bug\
**Created:** [2026年三月5日 08:50 UTC](https://meta.discourse.org/t/a-discard-confirmation-modal-appears-when-clicking-new-post-if-a-post-is-pending-approval/397711 "2026-03-05T08:50:01Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![NickNax](https://avatars.discourse-cdn.com/v4/letter/n/6bbea6/32.png) [@NickNax](https://meta.discourse.org/u/NickNax)\
**Post date:** [2026年三月5日 08:50 UTC](https://meta.discourse.org/t/a-discard-confirmation-modal-appears-when-clicking-new-post-if-a-post-is-pending-approval/397711/1 "2026-03-05T08:50:02Z")

</div>

在某个主题中，如果您有一个待批准的帖子，点击“新帖子”或“回复”操作后会显示一个放弃帖子确认模态框（见下图）。

 ![image](https://global.discourse-cdn.com/meta/original/4X/5/3/0/530344477325079206826b22f7490da17dfe5552.png)

**重现步骤：**

1. 创建一个需要 **管理员/版主批准** 的 **新帖子** 。

2. 提交帖子后，点击\*\*“新帖子”\*\*。

3. 出现一个 **放弃帖子确认模态框** 。

4. 点击模态框上的\*\*“取消”\*\*。

5. 再次点击\*\*“新帖子”\*\*—— **放弃确认模态框再次出现** 。

6. 再次点击\*\*“取消”\*\*。

7. 尝试 **回复任何帖子** 。

**实际结果：**

- 即使在回复帖子时， **放弃帖子确认模态框仍然出现** 。

**预期结果：（我的期望）**

- 用户应该能够 **正常创建新帖子或回复现有帖子** ，而不会看到放弃确认模态框。

**解决方法：**

- 用户 **刷新页面** 以移除模态确认。

Discourse 版本：2026.1.0

---

<div class="post-metadata">

**Author:** ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)\
**Post date:** [2026年三月20日 13:21 UTC](https://meta.discourse.org/t/a-discard-confirmation-modal-appears-when-clicking-new-post-if-a-post-is-pending-approval/397711/2 "2026-03-20T13:21:40Z")

</div>

我今天也遇到了这个问题。除了刷新之外，您还可以点击“丢弃”，但我同意这给人一种会丢失待发帖子的印象。

用户体验真的很令人困惑。

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2026年三月23日 00:48 UTC](https://meta.discourse.org/t/a-discard-confirmation-modal-appears-when-clicking-new-post-if-a-post-is-pending-approval/397711/3 "2026-03-23T00:48:59Z")

</div>

> [@Moin](#):
>
> 用户体验真的很令人困惑。

我同意你的看法，但我觉得这个流程的整体感觉不太对，@lindsey / @mcwumbly

我们需要为社区管理员要求帖子审批的实际最终用户通盘考虑整个体验。

目前，这种体验可能会让人感到如此不友好，以至于直接将用户推开，但这绝非本意。

例如：

- 我发帖后，是否清楚地知道我的帖子在队列中？
- 我是否清楚预计何时会进行审核？
- 批准后我是否会收到通知？如果会，通过什么方式？
- 如果我发布更多内容怎么办？
- 我如何找到我待审批的帖子？
- 撰写器（composer）是不是出了问题？

---

<div class="post-metadata">

**Author:** ![lindsey](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lindsey/32/318210_2.png) [@lindsey](https://meta.discourse.org/u/lindsey)\
**Post date:** [2026年三月24日 18:20 UTC](https://meta.discourse.org/t/a-discard-confirmation-modal-appears-when-clicking-new-post-if-a-post-is-pending-approval/397711/5 "2026-03-24T18:20:55Z")

</div>

这个 Bug 非常严重——据我所知，如果你有一个待处理的帖子，你基本上就不能发帖了：

- 你不能在同一个需要批准的类别中再次发帖
- 你不能在另一个类别中创建新主题
- 你不能在另一个类别中回复

好消息是，如果你在被提示时点击了 Discard（丢弃），你实际上并不会丢失帖子——它仍然可以在管理员的审核队列中找到，并且在获得批准后会如预期显示——但这显然是一个非常令人困惑的用户体验，而且之后会出现此弹出窗口：

 ![image](https://global.discourse-cdn.com/meta/original/4X/0/3/e/03eca9d37c4a6026c8d186c6ce69f670cc93fb8e.png)

我认为我们应该让工程师介入来处理这个 Bug 修复，然后我可以跟进研究 @sam 想研究的整体流程。

不过，我目前有一些相关说明：

> [@sam](#):
>
> - 发布后，我是否清楚我的帖子在队列中

是的，提交帖子后会出现一个弹出通知：

 ![image](https://global.discourse-cdn.com/meta/original/4X/9/4/9/949a997c460392fe23972e9e46d4f7cfcc504c8f.png)

> [@sam](#):
>
> - 我是否清楚预计何时会进行审核

不，没有迹象表明审核可能需要多长时间。

> [@sam](#):
>
> - 如果帖子获得批准，我会收到通知吗？如果是，如何收到？

是的，帖子获得批准时你会收到通知：

 ![image](https://global.discourse-cdn.com/meta/original/4X/b/f/b/bfb0da6abd97542b398425b2e8e794e988fffc17.png)

> [@sam](#):
>
> - 如果我多发帖会怎样？

目前，你不能——因为这个 Bug 🙂

> [@sam](#):
>
> 我如何找到我待批准的帖子？

目前，它们列在你的草稿中。

 ![image](https://global.discourse-cdn.com/meta/original/4X/7/d/0/7d0dbebc5da9a44db66bda56b11dc5ab7461f475.png)

但是，如果你尝试打开草稿，会看到相同的“你想丢弃你的帖子吗？”消息。我想知道这些内容是否应该显示在草稿中？

> [@sam](#):
>
> - 编辑器（composer）的表现是否异常？

我目前不确定这是否是编辑器的问题。

---

<div class="post-metadata">

**Author:** ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)\
**Post date:** [2026年三月24日 18:29 UTC](https://meta.discourse.org/t/a-discard-confirmation-modal-appears-when-clicking-new-post-if-a-post-is-pending-approval/397711/8 "2026-03-24T18:29:45Z")

</div>

> [@lindsey](#):
>
> 目前，它们列在您的草稿中。

我很惊讶您的没有在 `my/activity/pending` 中，那通常是我在 Meta 上发布主题组件时找到待处理帖子的地方。帖子在草稿中的事实似乎是错误的一部分。

 ![Screenshot_20260324_193006_Firefox](https://global.discourse-cdn.com/meta/original/4X/9/b/7/9b78723be1b41eabab5407d785f7ee54192e96b9.jpeg)

---

<div class="post-metadata">

**Author:** ![lindsey](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lindsey/32/318210_2.png) [@lindsey](https://meta.discourse.org/u/lindsey)\
**Post date:** [2026年三月24日 18:38 UTC](https://meta.discourse.org/t/a-discard-confirmation-modal-appears-when-clicking-new-post-if-a-post-is-pending-approval/397711/9 "2026-03-24T18:38:13Z")

</div>

是的，我同意，我认为将这些捕获为草稿是错误的。

---

<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:** [2026年三月25日 14:10 UTC](https://meta.discourse.org/t/a-discard-confirmation-modal-appears-when-clicking-new-post-if-a-post-is-pending-approval/397711/11 "2026-03-25T14:10:06Z")

</div>

我正在着手修复 - @martin 你觉得怎么样？

> <https://github.com/discourse/discourse/pull/38870>
>
> When creating a new topic in a category that requires approval, the composer wou…ld show a "discard draft" modal on every subsequent attempt to open it (new topic or reply).
> 
> The issue was in the post-enqueue handler in the composer service. After a post is enqueued, the code tries to push the pending post into \`this.topicController.model.pending\_posts\`. When creating a new topic, the user is on the topic list — not viewing a topic — so \`this.topicController.model\` is undefined. Accessing \`.pending\_posts\` on undefined throws a TypeError, which prevents \`destroyDraft()\` and \`close()\` from ever executing. The composer model stays on the service with dirty content, so any subsequent composer open triggers the discard draft modal.
> 
> The fix adds optional chaining (\`?.\`) so the pending\_posts push is safely skipped when no topic model is loaded.
> 
> https://meta.discourse.org/t/397711

---

<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:** [2026年三月31日 06:00 UTC](https://meta.discourse.org/t/a-discard-confirmation-modal-appears-when-clicking-new-post-if-a-post-is-pending-approval/397711/13 "2026-03-31T06:00:05Z")

</div>

此主题在 20 小时后自动关闭。不再允许新回复。
