Okay, das ist interessant… es fehlt wieder auf Foundation auf deiner Seite, Moin, obwohl es in der Admin-Oberfläche aktiviert ist. Das Leeren des Caches mit SiteSetting.clear_cache!(expire_theme_site_setting_cache: true) leert den Cache nicht. Ich erhalte hier zwei unterschiedliche Ergebnisse:
discourse(prod)> SiteSetting.theme_site_settings_json_uncached(-1)
=> "{\"enable_welcome_banner\":true,\"search_experience\":\"search_field\"}"
discourse(prod)> SiteSetting.theme_site_settings_json(-1)
=> "{\"enable_welcome_banner\":false,\"search_experience\":\"search_field\"}"
Und dann habe ich das direkt ausgeführt:
Discourse.cache.delete(SiteSettingExtension.theme_site_settings_cache_key(-1))
Und es hat funktioniert?? Dann habe ich deine Einstellung in Admin erneut geändert und der Cache bleibt bestehen
Ich glaube, hier passiert etwas Seltsames mit den theme_site_settings im Speicher:
Denn das gibt:
-2=> {:enable_welcome_banner=>false, :search_experience=>"search_field"},
-1=> {:enable_welcome_banner=>true, :search_experience=>"search_field"}}
Während ich, wenn ich aus der Datenbank abrufe, Folgendes erhalte, was den korrekten false-Wert hat:
ThemeSiteSetting.where(theme_id: -1)
=>
[#<ThemeSiteSetting:0x00007f9164acb2d0 id: 3, theme_id: -1, name: "enable_welcome_banner", data_type: 5, value: "f", created_at: "2025-07-16 07:04:11.117747000 +0000", updated_at: "2025-08-11 06:35:07.606301000 +0000">,
#<ThemeSiteSetting:0x00007f9164acb190 id: 13, theme_id: -1, name: "search_experience", data_type: 7, value: "search_field", created_at: "2025-07-16 07:04:11.117747000 +0000", updated_at: "2025-07-20 20:56:49.405228000 +0000">]
discourse(prod)> Theme.find(-1).themeable_site_settings
=>
[{:setting=>:enable_welcome_banner, :default=>true, :description=>"Display a banner on your main topic list pages to welcome members and allow them to search site content", :humanized_name=>"Enable welcome banner", :type=>"bool", :value=>false},
{:setting=>:search_experience,
:default=>"search_icon",
:description=>"The default position and appearance of search on desktop devices",
:humanized_name=>"Search experience",
:type=>"enum",
:valid_values=>[{:name=>"search.experience.search_field", :value=>"search_field"}, {:name=>"search.experience.search_icon", :value=>"search_icon"}],
:translate_names=>true,
:value=>"search_field"}]
Wir fummeln hier herum:
Und hier:
Was hier aufgerufen wird:
Ich bin mir also noch nicht sicher, warum das passiert, aber es würde erklären, warum der Cache bestehen bleibt, da der Cache aus diesem Objekt im Speicher erstellt wird.
Edit: Beachte auch, dass ich dies anderswo immer noch nicht reproduzieren kann, aber auf deiner Seite kann ich es ziemlich zuverlässig reproduzieren.