Wiki帖子上的编辑冲突

继续讨论 编辑冲突:该帖子已被另一位用户编辑,您的更改无法再保存

我的论坛最近再次出现了“编辑冲突”现象。目前看来,这仅发生在由多位用户编辑的 Wiki 帖子上。

这并不是在多人同时编辑时发生,而是当另一位用户尝试编辑已确立的帖子时出现。

示例:

  • 用户 1 发布初始帖子
  • 用户 1 进行编辑
  • 用户 2 尝试编辑时看到“编辑冲突”,且用户 1 的第一次编辑内容消失了。

我们目前找到的唯一解决方案是退出该帖子并刷新页面(有时需要刷新两次),之后才能继续操作。

1 个赞

嗯,我暂时无法复现该问题。如果我没有按照您执行的步骤操作,以下是我尝试过程的视频。请告诉我是否还有其他步骤需要我执行。此外,了解相关用户的状态(例如:管理员?版主?信任等级?)也可能有所帮助。

1 个赞

所有涉及的发帖人都是版主。

我们有一些新闻帖子,会在一天中不断更新。

用户 1 发布初始帖子并提交。通常,在 45 分钟到一小时后,同一用户会再次编辑以添加另一篇文章。

用户 2 稍后(可能再过一小时)前来继续添加内容,却会在发帖区域底部收到“编辑冲突”警告。

我们(版主们)已就此进行了长时间讨论,因此当有多位版主同时发帖时,我们会格外谨慎并留意此类情况。

由于我尚未遇到需要编辑的维基帖子,因此无法在此复现该问题。

2 个赞

好的,我成功触发了编辑冲突。看起来这发生在某个标签页/窗口中打开的 wiki 帖子内容过时时。以下视频中的窗口已闲置约 20 分钟,期间没有任何交互。请注意,视频末尾的编辑冲突消息可能稍微被视频进度条遮挡。

@sam 你怎么看?这是预期行为吗?是 MessageBus 的问题吗?

2 个赞

我明白了,@nbianca,你还记得查看过这个问题吗?我记得我们过去会等到拉取帖子的最新“原始”数据后再进行编辑。

我认为始终防范消息总线消息丢失是正确的做法。

从技术角度看,这看起来有点像消息总线的故障。我过去添加了一些代码,旨在在重新激活旧标签页时进行恢复并切换回长轮询,但也许它没有涵盖这一特定使用场景。

3 个赞

你的代码本来很好,但 MessageBus API 在某次更新后发生了变化,导致无法正常工作。我在一个拉取请求(PR)中修复了与此相关的两个错误:

2 个赞

@Slowhand,过去一周你还看到那个 bug 了吗?

是的,直到昨天,它至少每天出现一次。

今天还没机会看到它。

我已经针对此问题实施了另一个修复方案。该方案运行正常,因此我将关闭此议题。

3 个赞