PullHotlinkedImages не заменяет изображения снова после редактирования поста

Привет,

image

Связано с:

На самом деле проблема с загрузкой изображений в отредактированных темах с тегом system кажется ещё не полностью решённой. Извините, что не заметил этого раньше. Например, вот эта тема или вот эта тема.

Напомню, в нашем случае это автоматическая смена категории (через API).

У моего клиента всё ещё есть темы, где PullHotlinkedImages ничего не делает, независимо от того, что вы делаете:

  • Простое «Сохранить редактирование» или даже
  • 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 дня. Новые ответы больше не принимаются.