From 0bbd8f081e77579bbfd7a809ca15f284e9235bd6 Mon Sep 17 00:00:00 2001 From: SiYue-ZO <2835601846@qq.com> Date: Tue, 9 Jun 2026 10:48:17 +0800 Subject: [PATCH] fix: add DmScope field to SessionConfig to persist dm_scope setting The frontend sends dm_scope as part of the session config, but the backend SessionConfig struct lacked the corresponding field. Go's encoding/json silently discards unknown fields, so the value was lost on every PATCH request. Additionally, MarshalJSON only emitted the session block when Dimensions or IdentityLinks were set, so even a stored dm_scope would not appear in GET responses. - Add DmScope string field with json tag 'dm_scope' to SessionConfig - Update MarshalJSON condition to include session when DmScope is set --- pkg/config/config.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkg/config/config.go b/pkg/config/config.go index c71217e5b..f3cbf43ad 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -257,7 +257,7 @@ func (c *Config) MarshalJSON() ([]byte, error) { Alias: (*Alias)(c), } - if len(c.Session.Dimensions) > 0 || len(c.Session.IdentityLinks) > 0 { + if len(c.Session.Dimensions) > 0 || len(c.Session.IdentityLinks) > 0 || c.Session.DmScope != "" { sessionCfg := c.Session aux.Session = &sessionCfg } @@ -349,6 +349,7 @@ type DispatchSelector struct { type SessionConfig struct { Dimensions []string `json:"dimensions,omitempty"` IdentityLinks map[string][]string `json:"identity_links,omitempty"` + DmScope string `json:"dm_scope,omitempty"` } // RoutingConfig controls the intelligent model routing feature.