mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 22:43:33 +08:00
FIX: allowed_theme_ids should not be persisted in GlobalSettings (#14756)
* FIX: allowed_theme_ids should not be persisted in GlobalSettings It was observed that the memoized value of `GlobalSetting.allowed_theme_ids` would be persisted across requests, which could lead to unpredictable/undesired behaviours in a multisite environment. This change moves that logic out of GlobalSettings so that the returned theme IDs are correct for the current site. Uses get_set_cache, which ultimately uses DistributedCache, which will take care of multisite issues for us.
This commit is contained in:
@ -494,7 +494,7 @@ class Guardian
|
||||
def allow_themes?(theme_ids, include_preview: false)
|
||||
return true if theme_ids.blank?
|
||||
|
||||
if allowed_theme_ids = GlobalSetting.allowed_theme_ids
|
||||
if allowed_theme_ids = Theme.allowed_remote_theme_ids
|
||||
if (theme_ids - allowed_theme_ids).present?
|
||||
return false
|
||||
end
|
||||
|
Reference in New Issue
Block a user