# 引入嵌套回复功能

**URL:** https://meta.discourse.org/t/introducing-nested-replies/402812
**Category:** Announcements
**Tags:** nested-replies
**Created:** [2026年五月12日 23:21 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812 "2026-05-12T23:21:22Z")
**Posts on this page:** 9
**Page:** 4

<div class="post-metadata">

### Author: ![JonahAragon1](https://avatars.discourse-cdn.com/v4/letter/j/f19dbf/32.png) [@JonahAragon1](https://meta.discourse.org/u/JonahAragon1)
#### Post date: [2026年七月23日 22:59 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/67 "2026-07-23T22:59:43Z")

</div>

> [@markvanlan](#):
>
> 这两种范式截然不同，用户不应在同一内容上表现出如此不同的互动方式。

说实话，我不太理解这个观点。线性回复帖子的方式与嵌套回复完全相同，这可以从目前可以毫无问题地在嵌套和线性之间来回转换主题这一事实中得到证明。

我发现嵌套回复视图在初次进入不熟悉的主题以了解大家在讨论什么，或专注于某一场特定对话，_或识别哪些帖子可以拆分到新主题中_（见上文）时非常有用；而时间顺序视图则适合我积极参与的实时讨论主题。因此，我更希望仅在我个人这边根据我_个人_的操作情况来切换视图。

不过，我_可能_需要以下功能才能使上述操作生效：

> [@JonahAragon1](#):
>
> 作为管理工具，我 **非常** 希望有一个选项可以将某帖子标记为对另一帖子的回复。

好了，我已经发了三次帖，暂时先不在此回复了。

---

<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年七月23日 23:11 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/68 "2026-07-23T23:11:11Z")

</div>

> [@JonahAragon1](#):
>
> 我 **真的** 希望作为 moderation 工具，我能有选项将帖子标记为对另一个帖子的回复。

我觉得你离这个功能已经非常近了。`启用新的编辑器操作`\[1\] 即将推出的更改增加了对选择不同回复（而非用户实际回复的帖子）的支持。你同样可以移除对其他帖子的引用。但我不确定目前是否支持在没有引用的情况下添加引用。也许我只是还没找到进行此操作的地方。

* * *

1. 

> [@新增“帖子类型”创作操作下拉菜单](https://meta.discourse.org/t/introducing-a-new-post-type-composer-actions-dropdown/403635):
>
> 在 enable\_new\_composer\_actions 标志后进行的 Composer 重新设计 本次更新引入了重新设计的 Composer 体验，并将其置于一个新的 Alpha 阶段“即将变更”标志之后。当该标志关闭（默认状态）时，界面不会发生任何可见变化。管理员可通过“即将变更”管理页面选择启用。 启用标志后的变化 统一的操作下拉菜单。原有的 SelectKit composer-actions 下拉菜单已被新的 Glimmer/DMenu 组件（composer-actions-new.gjs）取代。新组件依然展示所有相同的模式切换行（回复主题、作为新主题回复、创建私信等），但标签和图标更加清晰。 开关与操作集成。静默模式（Whisper）、不置顶（no-bump）和隐藏（unlist）现在以下拉菜单底部的 \<DToggleSwitch\> 项形式呈现，不再使用独立的组合按钮菜单。开关状态在模式切换时得以保留（例如：开启静默模式 → 从“回复主题”切换到“回复帖子” → 仍保持静默状态）。 之前 之后

---

<div class="post-metadata">

### Author: ![markvanlan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/markvanlan/32/160087_2.png) [@markvanlan](https://meta.discourse.org/u/markvanlan)
#### Post date: [2026年七月24日 02:48 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/69 "2026-07-24T02:48:31Z")

</div>

> [@JonahAragon1](#):
>
> - 如果我折叠了一个线程，希望下次重新打开该主题时，它仍然保持折叠状态

这确实是个不错的主意……不过实现起来可能没那么简单……我会记在心里的。

> [@JonahAragon1](#):
>
> - 另外，如果自上次打开该主题以来有新回复，希望这些新回复能被高亮显示

正如你在下一帖中指出的，我们有一个小圆点，当你滚动到这些内容时它会消失。不过，让嵌套回复的高亮更醒目确实是个很棒的想法。真不错。

> [@JonahAragon1](#):
>
> - 我希望“X 条新回复”按钮始终可见，像“排序方式”选择器那样固定在页面顶部，而不是只有当我滚动到页面最顶端时才出现。

嗯，好主意。

> [@JonahAragon1](#):
>
> - 打开一个主题时，会跳转到看似随机的位置？

按理说不应该这样，这可能是个 bug……或者你来回跳转时忘了自己身处何处。对于嵌套回复，我实现了激进的模型缓存，这样你可以前进/后退，滚动位置和展开/折叠状态都会保持原样。我认为缓存有效期约为 10 次主题浏览，所以有可能你重新访问时加载了缓存，结果发现自己不在顶部，而是停留在之前的位置，从而产生了困惑？

> [@JonahAragon1](#):
>
> - 即使点击浏览器中关于新回复的通知，有时新回复也不会立即显示，直到我刷新页面。我认为这种情况尤其（或许仅）发生在我在主题已打开的情况下点击该主题的通知时。

很有意思，我会去调查一下。

> [@JonahAragon1](#):
>
> 目前我遇到的主要问题就是，这个功能仍然 bug 太多，无法正常使用

听到这个我有些惊讶。目前已有不少大型社区在使用嵌套回复功能，我之前没收到过这样的反馈。不过我会持续关注这个问题。

> [@JonahAragon1](#):
>
> 也许可以加一个选项，让“最新”排序依据主题中最新的_回复_，而不是最新的顶级帖子
> 
> 确实，我在自己的论坛上看到的最常见的反馈是，嵌套回复使得实时跟进帖子变得几乎不可能：

我明白你的意思，但假设一个链条有 10 层深，而且每一层都嵌套得很深……如果讨论持续在一个超级深层的对话中进行，按此排序并不会增加任何价值。除非在这种新模式下，我们自动加载所有最新线程，一直深入到最新的内容。我喜欢这个想法，但不确定具体该如何实现。

> [@JonahAragon1](#):
>
> > [@markvanlan](#):
> >
> > 这两种范式非常不同，用户不应该对相同的内容采取截然不同的交互方式。
> 
> 老实说，我不太理解这个论点

> [@JonahAragon1](#):
>
> 好吧，现在我已经发了三次帖，暂时先不在这里回复了。

啊，非常感谢你的所有反馈，我也很喜欢看到你的论坛以及你和用户们讨论这个功能的场景。在真实环境中看到这些非常酷。你差点就说服我把它做成一个可选功能了。我会在内部讨论一下。

* * *

我知道我没有回复你写的所有内容，但你的意见我都听到了。感谢你的测试、与用户的交流以及在此提供的反馈。非常感激 🤜 🤛 。如果你发现任何可稳定复现的 bug，请发到这里。

---

<div class="post-metadata">

### Author: ![JonahAragon1](https://avatars.discourse-cdn.com/v4/letter/j/f19dbf/32.png) [@JonahAragon1](https://meta.discourse.org/u/JonahAragon1)
#### Post date: [2026年七月25日 04:13 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/70 "2026-07-25T04:13:58Z")

</div>

> [@markvanlan](#):
>
> 不应该这样，这可能是个 Bug

我遇到的情况是，当我向上或向下滚动时，页面经常会跳回同一篇帖子，就像卡住了一样。我通常不得不刷新页面，或者离开再重新进入。

我不确定这何时或为何发生，我会尝试更稳定地复现这个问题。

> [@markvanlan](#):
>
> 听到这个消息我很惊讶。

这并非我见过的 _唯一_ Bug，但至于有些人报告的“卡顿”现象，我注意到这主要出现在使用 Tor 浏览器或 GrapheneOS 上的 Vanadium 浏览器的用户身上，这两款浏览器都会禁用 JavaScript 的 JIT（即时）编译。

iOS 的锁定模式也会禁用 JIT，我想知道它是否也会受到类似影响。我会稍微测试一下。

禁用 JIT 后性能下降肯定是意料之中的，但如果这种情况仅出现在这些帖子中，而不出现在普通帖子中，我怀疑你是否使用了一些更耗费资源的 JavaScript 功能，这些功能或许可以优化。我只在禁用 JIT 时注意到复杂密码学计算会出现卡顿，从未在论坛这类基础功能上察觉到明显的性能影响。

> [@markvanlan](#):
>
> 我喜欢这个想法，但不确定我们该如何实现。

老实说，我也没有很好的建议，但看到某个主题出现在“最新”列表的顶部，却无法查看最新的帖子究竟是什么，确实非常令人烦恼。我不得不点击首页上最新评论者的个人资料，然后找到他们最新的帖子，哈哈

---

<div class="post-metadata">

### Author: ![JonahAragon1](https://avatars.discourse-cdn.com/v4/letter/j/f19dbf/32.png) [@JonahAragon1](https://meta.discourse.org/u/JonahAragon1)
#### Post date: [2026年七月25日 04:31 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/71 "2026-07-25T04:31:05Z")

</div>

> [@JonahAragon1](#):
>
> 我遇到的另一个类似问题是，我经常在向上或向下滚动时，页面会跳回同一帖子，就像卡住了一样。

我可以通过快速滚动相当稳定地复现此问题：

（视频末尾的帖子与开头相同）

当我不是快速滚动时、不在手机上使用时，以及滚动距离不远时（例如在上述视频中，我在到达页面底部后发生了这种情况，但有时在仅滚动经过 2-3 个其他帖子后也会发生，只是不太稳定），也会出现同样的行为。

---

<div class="post-metadata">

### Author: ![JonahAragon1](https://avatars.discourse-cdn.com/v4/letter/j/f19dbf/32.png) [@JonahAragon1](https://meta.discourse.org/u/JonahAragon1)
#### Post date: [2026年七月25日 04:35 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/72 "2026-07-25T04:35:24Z")

</div>

我想起了另一个我见过的bug，即有时嵌套回复主题会包含_来自完全不同主题的_回复。我认为这是一个客户端缓存bug，因为刷新后问题就会自行解决。

另一位用户也遇到了同样的问题：

> **[Defaulting new posts to use nested replies?](https://discuss.privacyguides.net/t/defaulting-new-posts-to-use-nested-replies/39302/11)**
>
> Is this a bug or just something you did accidentally? Is this thread type a new discourse feature? If it is or it’s found by others to be buggy then that would be a blocker. I would not support converting old threads retroactively. Im fine...

在他们的截图中，第三条回复来自一个完全不同的主题。但我在其他场景下也见过同样的行为。

我认为这种情况主要发生在我首次在其他主题上启用嵌套回复时。

---

<div class="post-metadata">

### Author: ![markvanlan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/markvanlan/32/160087_2.png) [@markvanlan](https://meta.discourse.org/u/markvanlan)
#### Post date: [2026年七月27日 19:47 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/73 "2026-07-27T19:47:51Z")

</div>

我今天推送了 2 个提交：

1. 修复向下滚动时的跳跃问题：[FIX: Stop nested scroll restoration from overriding user scrolls (#42… · discourse/discourse@99c1a2b · GitHub](https://github.com/discourse/discourse/commit/99c1a2bb3c337aa89a9b631e01b94f113b611d4f)
2. 修复其他主题中的帖子泄露到嵌套视图中的问题：[FIX: Prevent stale nested replies from leaking between topics (#42053) · discourse/discourse@118e1f5 · GitHub](https://github.com/discourse/discourse/commit/118e1f50c60e4dca7a0301dffe9eb3a14ed1600c)

---

<div class="post-metadata">

### Author: ![agemo](https://avatars.discourse-cdn.com/v4/letter/a/ac91a4/32.png) [@agemo](https://meta.discourse.org/u/agemo)
#### Post date: [2026年八月4日 09:18 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/74 "2026-08-04T09:18:12Z")

</div>

在后台管理中查看时，这一点并不是完全清楚，但如果启用此功能，它默认是否会将 Discourse 中的所有主题显示为嵌套结构，还是其应用方式具有一定的粒度？

---

<div class="post-metadata">

### Author: ![markvanlan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/markvanlan/32/160087_2.png) [@markvanlan](https://meta.discourse.org/u/markvanlan)
#### Post date: [2026年八月4日 13:56 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/75 "2026-08-04T13:56:10Z")

</div>

一旦启用 `Nested replies enabled`（启用嵌套回复）设置，您就可以在主题的“管理扳手”图标中将单个主题切换为嵌套视图。您还可以在类别设置中将单个类别设置为嵌套模式。当然，`Nested replies default`（嵌套回复默认开启）会将整个站点切换为嵌套视图。

[上一頁](https://meta.discourse.org/t/introducing-nested-replies/402812.md?page=3)
