Erro de pipe quebrado ao fazer upload para um clone do S3: um PDF com nome contendo é, ï, etc.

última versão do app, reconstruí há uma hora, não consigo reproduzir no meta, assumo que deve ter a ver com a localização em francês.

Tenho um erro de pipe quebrado ao tentar fazer upload de um PDF chamado laïcité.pdf, mas o mesmo arquivo renomeado para laicite.pdf funciona bem.
laïcité.jpg também funciona bem.

Algo chamado décroissance.pdf dá um erro diferente: “ocorreu um erro interno. tente novamente.” :face_with_raised_eyebrow:

ps. Não tenho certeza se é relevante, mas também uso um clone do S3 (Scaleway), que também me deu um erro de pipe quebrado ao tentar executar rake uploads.migrate_to_s3, mas parece não ter relação.

pps. sim.. pode estar relacionado ao upload do clone do S3. Verifiquei que tenho um upload de três semanas atrás com acento, logo antes de ativar a opção de upload para o S3 :roll_eyes:

1 curtida

Linha 62 de discourse/lib/file_store/s3_store.rb at main · discourse/discourse · GitHub

options[:content_disposition] = "attachment; filename=\"#{filename}\""

o content disposition talvez devesse ser formatado

options[:content_disposition] = ActionDispatch::Http::ContentDisposition.format(
        disposition: "attachment", filename: upload.filename
      )

como em

se for o caso, talvez esses content_disposition também:

4 curtidas

Acho que você está certo, esse tipo de problema com nomes de arquivos sempre escapa da minha atenção. Devo conseguir abrir um PR para corrigir isso amanhã. Obrigado pelo relatório!

4 curtidas

Corrigi a compilação aqui, que será aplicada em breve. Testei com o nome do arquivo PDF acima e está funcionando perfeitamente :ok_hand:. A correção será aplicada em breve!

3 curtidas