Bug : l'upload de sauvegarde multipart S3 échoue avec la méthode 'downcase' non définie pour nil

Bonjour,

Je fais tourner une installation Discourse basée sur Docker. J’ai configuré les variables d’environnement AWS suivantes :

env:
AWS_REQUEST_CHECKSUM_CALCULATION: "WHEN_REQUIRED"
AWS_RESPONSE_CHECKSUM_VALIDATION: "WHEN_REQUIRED"

Lorsque je déclenche une sauvegarde depuis l’interface utilisateur pour qu’elle soit téléchargée sur S3, elle échoue pendant la phase de téléchargement multipart.

Le problème provient du fichier /var/www/discourse/lib/backup_restore/s3_backup_store.rb à cette ligne :

obj.upload_file(source_path, content_type: content_type)

Voici l’erreur exacte issue des journaux :

[2026-07-11 10:18:38 UTC] /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/multipart_file_uploader.rb:186:in block (2 levels) in Aws::S3::MultipartFileUploader#upload_in_threads': undefined method downcase' for nil (NoMethodError)

        k = "checksum_#{algorithm.downcase}".to_sym

J’ai pu corriger temporairement le problème en transmettant explicitement un checksum_algorithm à upload_file comme suit :

obj.upload_file(
source_path,
content_type: content_type,
checksum_algorithm: "CRC32"
)

Avec cette modification appliquée, le téléchargement fonctionne parfaitement. Cependant, comme il s’agit d’une modification manuelle à l’intérieur du conteneur, elle sera effacée la prochaine fois que je reconstruirai le conteneur.

Pourriez-vous examiner la correction de ce bug dans le code source principal ?

Merci !