Au clic, appel de _ember_jquery au mauvais chemin

Je pense que le problème vient de la manière dont la source map est générée, en raison de cette PR : https://github.com/discourse/discourse/pull/7834.

Auparavant, l’option relative -p était utilisée, ce qui donnait des chemins de source map du type [‘admin…js.map’]. À partir de la version 2.4.beta9, l’option -p n’est plus disponible en raison du passage à uglify 3, si bien que les chemins de source map étaient absolus, comme [‘/var/www/discourse/public/assets/admin…js.map’]. Cela provoquait des erreurs 404 lors du débogage, car le fichier réel se trouvait dans /assets, tandis que la carte indiquait qu’il était dans /var/www/…/assets.

Une solution de contournement que j’ai trouvée consiste à modifier lib/tasks/asset.rake pour ajouter l’option base au paramètre de la source map, ce qui donne :

  base = assets_path + ((d = File.dirname(from)) == "." ? "" : "/#{d}")

  cmd = <<~EOS
    uglifyjs '#{assets_path}/#{from}' -m -c -o '#{to_path}' --source-map "base='#{base}',root='#{source_map_root}',url='#{source_map_url}'" --output '#{to_path}'
  EOS

Je ne peux pas garantir que cela fonctionnera pour tout le monde, mais cela me permet de déboguer via les source maps sans rencontrer d’erreurs 404.