漏洞报告:Discourse 自动化中的“自动标签话题”——链接检测无法工作,Onebox 触发图片

我一直在测试 Discourse Automation 插件 中的 “自动标记主题” 功能,并且在 linkimage 条件方面遇到了一些意外行为。

:white_check_mark: 有效和无效的情况

Image 条件:

  • 上传图片(通过拖放或文件上传)会正确触发自动化。
  • 如果主题包含 Onebox(例如来自 Twitter、YouTube 或 GitHub),它也可以触发 image 条件,这可能是因为嵌入的预览图片。
  • :white_check_mark: 幸运的是,常规的图片链接(例如 Markdown 或裸 .jpg URL)不会被错误地识别为上传——这是一个有用的区别,可以避免错误的标记。

Link 条件:

  • link 条件根本不触发,无论链接是如何添加的:
    • [Example](https://example.com) (Markdown)
    • https://example.com (裸 URL)
    • 生成 Onebox 的链接
    • 未生成 Onebox 的链接

这使得 link 选项目前不可靠或可能已损坏。


:pushpin: 总结

条件 有效? 备注
Upload :white_check_mark: 可靠触发
Image :warning: 部分 上传有效;Onebox 也会触发此条件
Code :white_check_mark: 按预期工作
Link :cross_mark: 在任何测试场景下均不触发

如果当前的 link 行为是无意的,我希望它能在未来的更新中得到解决。感谢您为这个插件所做的一切工作——它是一个强大的工具,通过一些改进可以变得更好。

您好,

这让我感到惊讶,因为我们有一个明确的测试用例:

it "fires the trigger when post has a link" do
  list =
    capture_contexts do
      PostCreator.create(
        user,
        raw: "Check out this [link](https://example.com)",
        topic_id: topic.id,
      )
    end

  expect(list.length).to eq(1)
  expect(list[0]["kind"]).to eq("post_created_edited")
end

您能否提供一张您正在尝试的整个自动化的截图,以及未触发的帖子的原始内容?

:green_circle: 更新(已解决)
link 条件现在可以正常工作了——我的问题是由于标签限制仅限于某些类别。

另外,我发现 Oneboxes 和图片链接都会触发 linkimage 条件。
我希望能够区分上传的图片和图片链接,以便 image 标签仅针对上传的图片触发。

这种区分很重要,因为有些插件(例如 Topic List Previews)只为上传的图片生成预览缩略图,而不为外部图片链接生成。

1 个赞