diff --git a/app/assets/javascripts/discourse/initializers/live-development.js.es6 b/app/assets/javascripts/discourse/initializers/live-development.js.es6 index 817b9e058..701789cf7 100644 --- a/app/assets/javascripts/discourse/initializers/live-development.js.es6 +++ b/app/assets/javascripts/discourse/initializers/live-development.js.es6 @@ -64,6 +64,10 @@ export default { $(this).data('orig', this.href); } const orig = $(this).data('orig'); + if (!me.hash) { + window.__uniq = window.__uniq || 1; + me.hash = window.__uniq++; + } this.href = orig + (orig.indexOf('?') >= 0 ? "&hash=" : "?hash=") + me.hash; } }); diff --git a/lib/autospec/reload_css.rb b/lib/autospec/reload_css.rb index 58e31811f..e6bd00a6f 100644 --- a/lib/autospec/reload_css.rb +++ b/lib/autospec/reload_css.rb @@ -27,11 +27,13 @@ class Autospec::ReloadCss if paths.any? { |p| p =~ /\.(css|s[ac]ss)/ } # todo connect to dev instead? ActiveRecord::Base.establish_connection - s = DiscourseStylesheets.new(:desktop) # TODO: what about mobile? - s.compile - s.ensure_digestless_file + [:desktop, :mobile].each do |style| + s = DiscourseStylesheets.new(style) + s.compile + s.ensure_digestless_file + paths << "public" + s.stylesheet_relpath_no_digest + end ActiveRecord::Base.clear_active_connections! - paths << "public" + s.stylesheet_relpath_no_digest end paths.map! do |p| hash = nil @@ -41,7 +43,7 @@ class Autospec::ReloadCss p = p.sub(/\.sass/, "") p = p.sub(/\.scss/, "") p = p.sub(/^app\/assets\/stylesheets/, "assets") - { name: p, hash: hash } + { name: p, hash: hash || SecureRandom.hex } end message_bus.publish "/file-change", paths end