我尝试清晰地描述这个 bug:
主题 A 有 7 条帖子。
第 7 条帖子引用了第 6 条帖子中的一部分文本。
我们将第 3 条及之后的帖子拆分到了新主题 B,因为这部分内容偏离了主题。
在新主题 B 中,第 4 条帖子(即主题 A 中的第 7 条帖子)显示引用了主题 A 中已被删除的第 6 条帖子,引用块内显示了一个垃圾桶图标。而我认为在新主题中应该显示对第 3 条帖子(即主题 A 中的第 6 条帖子)的引用。
有人能复现这个问题吗?我所在的版本是 (60a235d128)
我尝试清晰地描述这个 bug:
主题 A 有 7 条帖子。
第 7 条帖子引用了第 6 条帖子中的一部分文本。
我们将第 3 条及之后的帖子拆分到了新主题 B,因为这部分内容偏离了主题。
在新主题 B 中,第 4 条帖子(即主题 A 中的第 7 条帖子)显示引用了主题 A 中已被删除的第 6 条帖子,引用块内显示了一个垃圾桶图标。而我认为在新主题中应该显示对第 3 条帖子(即主题 A 中的第 6 条帖子)的引用。
有人能复现这个问题吗?我所在的版本是 (60a235d128)
是的,我可以在这里复现:https://try.discourse.org/t/topic-splitting-test-part-two/1388。当我尝试展开拆分后主题中最后一条帖子的引用时,会向帖子被拆分前的原主题发送请求。该请求返回 404 响应,并导致显示垃圾桶图标。
我尝试在此修复该问题:
这是一个尽力而为的修复方案,它尝试利用 quoted_posts 和 moved_posts 中的数据,将诸如 post:{旧帖子编号}、topic:{旧话题 ID} 之类的结构进行替换,而无需判断其是否确实属于 [quote] 标签的一部分。