fix: sync theme to runtime when loaded from database (#4518)

The handleConfigUpdate function updates themeSettings.Frontend from DB
but never calls syncThemeToCommon(), so common.GetTheme() always returns
the hardcoded init value "classic" regardless of the DB setting. This
causes the web router to serve the classic frontend even when the DB
has theme.frontend=default.

Add post-processing hook for the "theme" config to call
UpdateAndSyncTheme(), consistent with how performance_setting and
billing_setting already handle their sync.

Co-authored-by: Micah Zheng <micahzheng@MicahdeMacBook-Pro.local>
This commit is contained in:
Micah-ZhengandMicah Zheng authored and GitHub committed 2026-04-29 13:44:44 +08:00
1 parent 6f57dcd2f5
commit e0b6eb3a59
1 file changed
+2
+2
View File
@@ -581,6 +581,8 @@ func handleConfigUpdate(key, value string) bool {
} else if configName == "billing_setting" { } else if configName == "billing_setting" {
InvalidatePricingCache() InvalidatePricingCache()
ratio_setting.InvalidateExposedDataCache() ratio_setting.InvalidateExposedDataCache()
} else if configName == "theme" {
system_setting.UpdateAndSyncTheme()
} }
return true // 已处理 return true // 已处理