diff --git a/services/config_service.go b/services/config_service.go index 49610fba5..6c89b4db3 100644 --- a/services/config_service.go +++ b/services/config_service.go @@ -45,7 +45,19 @@ func (service ConfigService) SetJSONConfig(ctx context.Context, key string, v an Val: string(b), } - return service.repository.Save(ctx, nil, &config) + if err := service.repository.Save(ctx, nil, &config); err != nil { + return err + } + + // Keep the in-memory instance settings cache in sync with the DB write + if key == "instanceSettings" && instanceSettingsCache != nil { + if settings, ok := v.(shared.InstanceSettings); ok { + instanceSettingsCache = &settings + instanceSettingsExpiry = time.Now().Add(5 * time.Minute) + } + } + + return nil } func (service ConfigService) RemoveConfig(ctx context.Context, key string) error {