Проблема с изображениями тем/сообщений

Всем привет,

Уже довольно долгое время я пытаюсь решить странную проблему(ы):

  1. Изображение темы перестало генерироваться.

  1. Изображения внутри тем/сообщений больше нельзя открыть по клику (увеличить).

Я перепробовал все возможные настройки, о которых мог подумать, но ничего не помогает.
Я также попробовал безопасный режим — проблема там тоже сохраняется.
В логах тоже нет никакой полезной информации.

Есть ли у кого-нибудь идеи, как это исправить?
Мой сайт: https://cybernative.ai/

Также функция «Конвертировать удалённые (хотлинкованные) изображения в локальные, скачивая их» тоже, похоже, не работает.

Предпросмотр изображения темы работает, если я просто вставляю URL изображения (не с моего сайта).

Привет :wave:

Не обращайте внимания, я написал это, прежде чем проверить исходный код

Можете проверить следующие настройки сайта?

max image width значение по умолчанию: 690
max image height значение по умолчанию: 500
create thumbnails значение по умолчанию: ВКЛ

Если вы меняли эти настройки ранее, это не повлияет на уже загруженные изображения, поэтому вам нужно сделать это вручную.
Если эти настройки верны, вы можете мгновенно проверить их, используя функцию «Восстановить HTML» для реальных постов. Или попробуйте загрузить новое изображение.
Rebuilding HTML on posts or topics

Если миниатюра генерируется корректно после этого, вы можете массово пересобрать все посты.

cd /var/discourse/
./launcher enter app

rake posts:rebake

Итак, я только что проверил исходный код ваших постов. Похоже, эти изображения добавлены в редакторе с помощью статического HTML-кода. <img src="..." alt="...">. Следовательно, они не были загружены через стандартный процесс загрузки, и миниатюры для них не были сгенерированы.

Вы пробовали просто перетащить изображение в редактор или использовать кнопку загрузки?

Однако… Можете ли вы предоставить больше информации о вашей настройке? Я вижу, что вы используете Cloudflare, что может вызывать проблемы в зависимости от вашей конфигурации. Например, Rocket Loader обычно ломает работу… Загрузки идут на локальный сервер или в S3? и т. д…

Появляется ли какая-либо ошибка в консоли браузера при загрузке изображения?

Привет @Don, спасибо за ваш ответ.

Все указанные настройки установлены по умолчанию:


image

Да, изображения вставляются через статический HTML, как и всегда; ранее миниатюры генерировались. (Я использую API для загрузки изображения на сайт, а затем применяю полученный URL для вставки.)

Миниатюра не генерируется даже при загрузке изображения через редактор.
Это было загружено через редактор — https://cybernative.ai/t/test-of-images-here/3458

Никаких изменений в настройках моего CDN/S3 не было, всё работало раньше.

Кстати о моей конфигурации: у меня есть своеобразный обход ошибки кастомного URL CDN (из-за HTTPS), который осуществляется через репликацию S3 в другой бакет. Это медленнее, но работает.

Я проверю консоль браузера, но изображения загружаются корректно, просто они не кликабельны и не имеют миниатюр. Проверил консоль браузера — ничего нет.

С уважением,
Byte

Я изменил свой скрипт публикации, чтобы использовать рабочий процесс, аналогичный стандартному, но, к сожалению, это не сработало.

Есть ли идеи, что ещё мне стоит проверить?

Как-то исправлено:

  1. Отключить загрузку в S3 для резервных копий.
  2. Восстановить из резервной копии.
  3. Перегенерировать посты, оставив загрузку в S3 отключённой.
    ~ Генерация миниатюр происходит медленно.
  4. Мое TODO: включить загрузку в S3 и выполнить
rake uploads:migrate_to_s3
rake posts:rebake_uncooked_posts

Пока продолжаю экспериментировать с окончательным решением; иногда всё работает, а иногда — нет.

Хорошо, перестало работать при включении загрузки в S3. Думаю, проблема может быть в репликации S3 в другое ведро, за которым стоит Cloudflare CDN. Я реализовал это странное решение, потому что Discourse не разрешал точки в S3, что мешало мне сделать всё правильно.

Думаю, было бы здорово, если бы Discourse использовал URL S3 без CDN для загрузки/обрезки/манипуляций/создания миниатюр изображений.
Моя задержка из-за репликации, возможно, мешает этому работать???

Борьба продолжается…

Не работает. Буду переключать свой CDN на CloudFront, так как Discourse не допускает точек в имени бакета, а значит, и Cloudflare не подойдёт.

Не знаю, сейчас я использую CloudFront и обнаружил единственную проблему — «Включить настройку S3». Это работает, за исключением того, что миниатюры и изображения «кликабельны». Для меня отсутствие миниатюр — это большая потеря.