Отчёт об ошибке: «Авто-тегирование темы» в автоматизации Discourse — обнаружение ссылок не работает, Onebox запускает изображение

Я тестировал функцию «Auto Tag Topic» в плагине Discourse Automation и столкнулся с непредвиденным поведением условий link и image.

:white_check_mark: Что работает, а что нет

Условие Image:

  • Загрузка изображения (через перетаскивание или загрузку файла) корректно запускает автоматизацию.
  • Если тема содержит Onebox (например, из Twitter, YouTube или GitHub), это также может запустить условие image, вероятно, из-за встроенного превью изображения.
  • :white_check_mark: К счастью, обычные ссылки на изображения (например, в формате Markdown или прямые URL-адреса .jpg) не ошибочно распознаются как загрузки — это полезное различие, позволяющее избежать неверного тегирования.

Условие 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, и ссылки на изображения активируют оба условия: link и image.
Я хотел бы запросить возможность различать загруженные изображения и ссылки на изображения, чтобы теги image срабатывали только для загруженных файлов.

Это различие важно, поскольку некоторые плагины (например, Topic List Previews) генерируют миниатюры превью только для загруженных изображений, а не для внешних ссылок на изображения.