EDIT : Bon, cela m’a pris 18 heures, mais il semble que la définition de DISCOURSE_CDN_URL empêche (au moins) ce site de se reconstruire et/ou de fonctionner après une restauration. Je pense que la prochaine chose à tester est de procéder à une construction sans DISCOURSE_CDN_URL, puis de démarrer le conteneur avec la variable d’environnement définie.
Ce que je savais avant
J’ai rencontré ce problème hier, mais je pensais qu’il avait disparu. Il s’avère que j’ai restauré une base de données vieille d’un mois. La restauration de la base de données récente tue le site.
J’ai pu construire le site à partir de zéro, donc ce n’est pas un problème lié au code ou aux plugins standard. MAIS après avoir restauré la base de données, le site est hors ligne et je ne peux pas effectuer de reconstruction, même si je supprime la base de données. Je suppose donc que le problème provient d’un fichier lu lors de la compression du JavaScript.
J’ai essayé de supprimer toutes les occurrences de background: image-url dans onebox.scss, ce qui a permis au site de se reconstruire, mais l’affichage est complètement désordonné. Ces erreurs sont donc un symptôme plutôt que la cause du problème.
J’obtiens des erreurs comme celle-ci dans le journal Rails après avoir restauré la base de données (et les fichiers) ou lors d’une reconstruction.
I, [2019-12-22T21:21:25.532604 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
NOTE : L'héritage de Faraday::Error::ClientError est déprécié ; utilisez Faraday::ClientError à la place. Il sera supprimé dans ou après la version 1.0.
Faraday::Error::ClientError.inherited appelé depuis /var/www/discourse/plugins/discourse-github/gems/2.6.5/gems/octokit-4.14.0/lib/octokit/middleware/follow_redirects.rb:14.
> Sémencage des thèmes sombre et clair
[SassC::FunctionsHandler] méthode `protocol` non définie pour nil:NilClass
rake aborted !
Discourse::ScssError : Erreur : erreur dans la fonction C image-url : méthode `protocol` non définie pour nil:NilClass
sur la ligne 90 de app/assets/stylesheets/common/base/onebox.scss, dans la fonction `image-url`
depuis la ligne 90 de app/assets/stylesheets/common/base/onebox.scss, dans le mixin `onebox-favicon`
depuis la ligne 110 de app/assets/stylesheets/common/base/onebox.scss
depuis la ligne 34 de app/assets/stylesheets/common.scss
depuis la ligne 1 de desktop.scss
>>> background: image-url("favicons/#{$image}.png") no-repeat 0% 50%;
----------------^
/var/www/discourse/lib/stylesheet/manager.rb:183:in `rescue in compile'
/var/www/discourse/lib/stylesheet/manager.rb:171:in `compile'
/var/www/discourse/lib/stylesheet/manager.rb:80:in `block (2 levels) in stylesheet_details'
/var/www/discourse/lib/stylesheet/manager.rb:66:in `each'
/var/www/discourse/lib/stylesheet/manager.rb:66:in `block in stylesheet_details'
/var/www/discourse/lib/stylesheet/manager.rb:64:in `synchronize'
/var/www/discourse/lib/stylesheet/manager.rb:64:in `stylesheet_details'
/var/www/discourse/lib/stylesheet/manager.rb:34:in `stylesheet_data'
/var/www/discourse/app/models/theme.rb:280:in `block in refresh_message_for_targets'
/var/www/discourse/app/models/theme.rb:279:in `map'
/var/www/discourse/app/models/theme.rb:279:in `refresh_message_for_targets'
/var/www/discourse/app/models/theme.rb:267:in `notify_theme_change'
/var/www/discourse/app/models/theme.rb:275:in `notify_theme_change'
/var/www/discourse/app/models/theme.rb:61:in `block in <class:Theme>'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/callbacks.rb:429:in `instance_exec'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/callbacks.rb:429:in `block in make_lambda'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/callbacks.rb:239:in `block in halting_and_conditional'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/callbacks.r