Errore broken pipe durante il caricamento su un clone S3 di un PDF con nome contenente caratteri come é, ï, ecc.

Ultima build dell’app, ricostruita un’ora fa: non riesco a riprodurre il problema su Meta, presumo sia legato alla localizzazione francese.

Ricevo un errore “broken pipe” quando provo a caricare un PDF chiamato laïcité.pdf, ma lo stesso file rinominato laicite.pdf funziona correttamente.
Anche laïcité.jpg funziona senza problemi.

Un file chiamato décroissance.pdf genera un errore diverso: “Si è verificato un errore interno. Riprova.” :face_with_raised_eyebrow:

PS: Non sono sicuro che sia pertinente, ma uso anche un clone S3 (Scaleway) che mi ha restituito un errore “broken pipe” quando ho provato a eseguire rake uploads.migrate_to_s3, anche se sembra non correlato.

PPS: Sì, potrebbe essere legato al caricamento su Scaleway. Ho controllato e ho un caricamento di tre settimane fa con un accento, effettuato poco prima di aver abilitato l’opzione di caricamento su S3 :roll_eyes:

1 Mi Piace

Riga 62 di discourse/lib/file_store/s3_store.rb at main · discourse/discourse · GitHub

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

il content disposition dovrebbe forse essere formattato

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

come in

se è così, forse anche questi content_disposition:

4 Mi Piace

Penso che tu abbia ragione, questo tipo di problemi con i nomi dei file mi sfuggono sempre. Dovrei riuscire a creare una PR per risolvere questo problema entro domani. Grazie per la segnalazione!

4 Mi Piace

Sto correggendo il problema qui, la modifica sarà presto disponibile. Ho testato con il nome del file PDF sopra indicato e funziona correttamente :ok_hand:. La correzione sarà presto disponibile!

3 Mi Piace