Discourse ошибочно определяет загруженный файл как изображение

  1. Да, всё верно — как на моем скриншоте выше.

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

  • Для временного изменения (исчезнет после пересборки):
cd /var/discourse
./launcher enter app
sed -i "s/FastImage.new(@file)/FastImage.new(@file, :raise_on_failure=>true)/" lib/upload_creator.rb
sed -i "s/FastImage.new(original_path)/FastImage.new(original_path, :raise_on_failure=>true)/" app/models/upload.rb
exit
  • Для постоянного изменения (сохранится после пересборки):
cd /var/discourse
nano containers/app.yml  (используйте ваш любимый редактор)

Добавьте следующие пользовательские команды в конец (секция run):

  - replace:
      filename: "/var/www/discourse/lib/upload_creator.rb"
      from: "FastImage.new(@file)"
      to: "FastImage.new(@file, :raise_on_failure=>true)"
  - replace:
      filename: "/var/www/discourse/app/models/upload.rb"
      from: "FastImage.new(original_path)"
      to: "FastImage.new(original_path, :raise_on_failure=>true)"

Затем выполните пересборку:

./launcher rebuild app
  1. Я полагаю, да, если вы планируете загружать файлы без расширений. Я не проверял, требуют ли другие случаи такого же изменения.