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-Zheng 2026-04-29 13:44:44 +08:00 committed by GitHub
parent 6f57dcd2f5
commit e0b6eb3a59
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -581,6 +581,8 @@ func handleConfigUpdate(key, value string) bool {
} else if configName == "billing_setting" {
InvalidatePricingCache()
ratio_setting.InvalidateExposedDataCache()
} else if configName == "theme" {
system_setting.UpdateAndSyncTheme()
}
return true // 已处理