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. 拡張子のないファイルをアップロードする予定であれば、そうだと思います。他の箇所でも同様の変更が必要かどうかは確認していません。