Просмотр исходного кода

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>
Micah-Zheng 1 месяц назад
Родитель
Сommit
e0b6eb3a59
1 измененных файлов с 2 добавлено и 0 удалено
  1. 2 0
      model/option.go

+ 2 - 0
model/option.go

@@ -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 // 已处理