Oh, cavolo
Era Nginx!
TL;DR:
rm -rf /var/nginx/cache/*`
Soluzione istantanea!
Opzionale: Disabilita la cache degli asset di Nginx
Modifica questo file:
/etc/nginx/conf.d/discourse.conf
Intorno alle righe 243-246, commenta le direttive di caching:
# proxy_cache one;
# proxy_cache_key "$scheme,$host,$request_uri";
# proxy_cache_valid 200 301 302 7d;
# proxy_cache_bypass $bypass_cache;
Quindi riavvia Nginx:
sv restart nginx
Se stai modificando le palette di colori…
La semplice modifica delle impostazioni del colore nel tema non rigenererà embed_[digest].css. Per forzare Discourse a generare nuovi file di asset, fai questo:
rm tmp/stylesheet-cache/* # oppure, solo per embed, `rm tmp/stylesheet-cache/embed*`
E per quanto riguarda RAILS_ENV=development?
Potresti pensare che impostare RAILS_ENV: development disabiliti la cache, ma:
- Il file
nginx.sample.confutilizzato da Discourse ha la cache abilitata per impostazione predefinita, indipendentemente dall’ambiente. - Tale cache non è legata a
RAILS_ENV, quindi non aiuterà con la cache degli asset incorporati.
Quindi, a meno che tu non abbia intenzione di riconfigurare completamente il livello Nginx, svuota semplicemente la cache manualmente o disabilita quelle righe, e sei a posto. Una volta che sei pronto per la produzione, puoi ripristinare le modifiche.
E per quanto riguarda ./launcher rebuild standalone?
Certo, funziona. Ma se stai modificando attivamente temi, testando embed e ottimizzando colori… vorrai qualcosa di più veloce che aspettare qualche minuto ogni volta.