Avatar système manquant après migration vers s3

Il y a quelques semaines, nous avons migré du stockage local vers S3. Les publications et les avatars des utilisateurs ont été migrés avec succès, à l’exception de l’avatar système personnalisé.

Il semble que la réécriture de l’URL ait échoué, car l’URL S3_CDN_URL est ajoutée après l’URL du forum.

Je n’ai encore rien vérifié dans la base de données, mais il semble que “https:{S3_URL}” soit l’URL globale relative pour l’avatar ?

https://forum.tosdr.org/https://tosdr-forum.s3.eu-west-2.jbcdn.net/original/1X/3662711e5030823983d25ac319ce6b9a7ad030e6.png

Notez que cela ne s’est produit qu’avec l’avatar système : le fichier existe bien sur S3, c’est simplement l’URL relative qui est défectueuse.

Changer d’avatar ne fonctionne pas non plus. Gravatar entraîne le même problème, tout comme les images de lettres.

Existe-t-il une solution à cela ? Note : Nous avons déjà réinstallé le forum à partir d’une ancienne sauvegarde et migré le site à nouveau.

J’ai vérifié la base de données et tous les téléchargements étaient parfaitement corrects. (Le téléchargement de l’avatar en question était valide)

Est-ce que cela pourrait être lié à cette ligne ?

s3_cdn_url est bien présent, je ne peux pas l’expliquer autrement.

Il ne semble pas mettre à jour les avatars non plus, même avec un 200 OK

Started PUT "/u/system/preferences/avatar/pick" for 87.78.131.160 at 2021-04-10 12:55:46 +0000
Processing by UsersController#pick_avatar as */*
  Parameters: {"upload_id"=>"", "type"=>"system", "username"=>"system"}
Completed 200 OK in 15ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 4976)
Started PUT "/u/system/preferences/avatar/pick" for 87.78.131.160 at 2021-04-10 12:55:02 +0000
Processing by UsersController#pick_avatar as */*
  Parameters: {"upload_id"=>"1", "type"=>"gravatar", "username"=>"system"}
Completed 200 OK in 15ms (Views: 0.2ms | ActiveRecord: 0.0ms | Allocations: 5061)
Started PUT "/u/system/preferences/avatar/pick" for 87.78.131.160 at 2021-04-10 12:54:13 +0000
Processing by UsersController#pick_avatar as */*
  Parameters: {"upload_id"=>"695", "type"=>"uploaded", "username"=>"system"}
Completed 200 OK in 17ms (Views: 0.2ms | ActiveRecord: 0.0ms | Allocations: 4982)

Tous les cas ci-dessus aboutissent à une requête vers une URL de base invalide :

Started GET "/u/system/preferences/https://tosdr-forum.s3.eu-west-2.jbcdn.net/original/1X/3662711e5030823983d25ac319ce6b9a7ad030e6.png" for 87.78.131.160 at 2021-04-10 12:54:15 +0000
Processing by UserBadgesController#username as JSON
  Parameters: {"username"=>"system"}
ActionController::RoutingError (No route matches [GET] "/u/system/preferences/https:/tosdr-forum.s3.eu-west-2.jbcdn.net/original/1X/3662711e5030823983d25ac319ce6b9a7ad030e6.png")
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:177:in `call'
  Rendering exceptions/not_found.html.erb within layouts/no_ember
  Rendered exceptions/not_found.html.erb within layouts/no_ember (Duration: 0.3ms | Allocations: 105)
  Rendered layouts/_head.html.erb (Duration: 1.2ms | Allocations: 262)
  Rendered common/_discourse_stylesheet.html.erb (Duration: 3.5ms | Allocations: 1094)
Completed 200 OK in 19ms (Views: 0.2ms | ActiveRecord: 0.0ms | Allocations: 4961)