From 34e3a8781826dd9c73810734205059e601efbe34 Mon Sep 17 00:00:00 2001 From: Sebastian Kawelke Date: Wed, 24 Jun 2026 18:03:45 +0200 Subject: [PATCH] Syncs the instance settings cache when settings are updated so that stale response is avoided Signed-off-by: Sebastian Kawelke --- services/config_service.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) 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 {