引入嵌套回复功能

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

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

不过,我可能需要以下功能才能使上述操作生效:

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

2 个赞

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


  1. ↩︎

5 个赞

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

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

嗯,好主意。

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

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

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

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

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


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

4 个赞

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

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

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

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

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

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

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

(视频末尾的帖子与开头相同)

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

1 个赞

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

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

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

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

我今天推送了 2 个提交:

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

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

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

4 个赞