mirror of
https://github.com/discourse/discourse.git
synced 2025-03-01 15:28:40 +08:00

* Revert "FIX: Clear appropriate cache when updating font settings (#13582)" This reverts commit de6cc7a92412538b2460e1b6f4855da343054899. * Revert "DEV: Improve output of `Stylesheet::Mananger.precompile_theme_css`." This reverts commit 95038856c9ddeee7d0d8083a75006a5e3492dd54. * Revert "FIX: Child themes being precompiled multiple times." This reverts commit 6986b36985fa242cb3d346b05f84d3878573c354. * Revert "Update spec/components/stylesheet/manager_spec.rb" This reverts commit ddaa7cc7eac2850f9a8614077c1170942ebc0311. * Revert "Refactor scss live refreshing" This reverts commit a838293aaf1e3b21c34c1964603e1b85c5673935. * Revert "Precompile core stylesheets independently of themes" This reverts commit 99d259d39bdaade6d20951c84def890dc91246a5. * Revert "DEV: Add simple digest for core stylesheets" This reverts commit d82c58e6cc5dd43b8bfb062838a24cac85ac9ca2.
57 lines
1.8 KiB
Ruby
57 lines
1.8 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
DiscourseEvent.on(:site_setting_changed) do |name, old_value, new_value|
|
|
Category.clear_subcategory_ids if name === :max_category_nesting
|
|
|
|
# Enabling `must_approve_users` on an existing site is odd, so we assume that the
|
|
# existing users are approved.
|
|
if name == :must_approve_users && new_value == true
|
|
|
|
User.where(approved: false)
|
|
.joins("LEFT JOIN reviewables r ON r.target_id = users.id")
|
|
.where(r: { id: nil }).update_all(approved: true)
|
|
end
|
|
|
|
if name == :emoji_set
|
|
Emoji.clear_cache
|
|
|
|
before = "/images/emoji/#{old_value}/"
|
|
after = "/images/emoji/#{new_value}/"
|
|
|
|
Scheduler::Defer.later("Fix Emoji Links") do
|
|
DB.exec("UPDATE posts SET cooked = REPLACE(cooked, :before, :after) WHERE cooked LIKE :like",
|
|
before: before,
|
|
after: after,
|
|
like: "%#{before}%"
|
|
)
|
|
end
|
|
end
|
|
|
|
Stylesheet::Manager.clear_core_cache!(["desktop", "mobile"]) if [:base_font, :heading_font].include?(name)
|
|
|
|
Report.clear_cache(:storage_stats) if [:backup_location, :s3_backup_bucket].include?(name)
|
|
|
|
if name == :slug_generation_method
|
|
Scheduler::Defer.later("Null topic slug") do
|
|
Topic.update_all(slug: nil)
|
|
end
|
|
end
|
|
|
|
Jobs.enqueue(:update_s3_inventory) if [:enable_s3_inventory, :s3_upload_bucket].include?(name)
|
|
|
|
SvgSprite.expire_cache if name.to_s.include?("_icon")
|
|
|
|
if SiteIconManager::WATCHED_SETTINGS.include?(name)
|
|
SiteIconManager.ensure_optimized!
|
|
end
|
|
|
|
if SiteSetting::WATCHED_SETTINGS.include?(name)
|
|
SiteSetting.reset_cached_settings!
|
|
end
|
|
|
|
# Make sure medium and high priority thresholds were calculated.
|
|
if name == :reviewable_low_priority_threshold && Reviewable.min_score_for_priority(:medium) > 0
|
|
Reviewable.set_priorities(low: new_value)
|
|
end
|
|
end
|