PullHotlinkedImages 在帖子编辑后不再重新替换图片

嘿,

image
相关于:

实际上,在已编辑的话题中下载带有 system 标记的图片的问题似乎并未完全解决。很抱歉我之前没有注意到这一点。例如这个 话题 或这个 话题

提醒一下,在我们的案例中,这是通过 API 进行的自动分类变更。

我的客户仍然有一些话题,无论怎么做 PullHotlinkedImages 都没有任何效果:

  • 无论是简单的 Save Edit,甚至是
  • Post.update_all(baked_version: nil) + Jobs.enqueue_in(10, :pull_hotlinked_images, post_id: <id>)

不过,如果你用相同的内容创建一个新话题,它就能正常工作。

@david

1 个赞

这很奇怪,通过 API 创建的主题一定有什么不同的地方。

帖子具体是怎么创建的?你能分享一下你使用的 API 参数吗?

2 个赞

当我提到“新主题”时,我指的是直接在 Discourse 上创建,而不是通过 API。

最初,该主题是由 WP-Discourse 创建的;因此相关代码应该是这个:

例如,如果你查看上面链接的主题的首次编辑,你会清楚地看到系统替换了图片。因此,WP-Discourse 很可能不是问题所在。

后来,原始作者更新了 WordPress 帖子,Discourse 主题也随之更新,原始图片又回来了:

随后发生了分类变更,从那时起,PullGotlinkedImages 就不再执行任何操作:


如果你想知道用于分类变更的代码,大致如下:

3 个赞

太好了,感谢详细的总结!我认为问题出在这里:

我成功复现了一个失败的测试用例。看来我们只在图片首次下载时才执行 URL 替换。如果图片之前已经下载过,就不会再次替换。

这是一个展示该问题的失败测试:

https://github.com/davidtaylorhq/discourse/blob/27ccf99d162005f82bf4d4e69f860cf78affcfcb/spec/jobs/pull_hotlinked_images_spec.rb#L63-L80

我会将其列入待修复清单。我预计在未来几周内能够着手处理。

7 个赞

太棒了!

看来你说得对,我查看了其他主题,发现系统之前确实能正确替换图片。

关于此事有什么最新消息或状态更新吗?

还没有,但它仍在列表中!

1 个赞

这应该在以下提交后得到解决

我为这种情况添加了一个测试规范,以防止将来出现回归。

4 个赞

我刚刚手动快速编辑并保存了几个由 system 编辑的主题,看起来 PullHotlinkedImages 现在可以正常工作了。稍后我会尝试命令行操作,但毫无疑问它也会运行正常。

谢谢!

1 个赞

本主题在 2 天后自动关闭。不再允许新的回复。