From 4a23134e1e5d70a9c8c5857790dbf27585ca3b1f Mon Sep 17 00:00:00 2001 From: Jeroen Wijenbergh Date: Fri, 29 Aug 2025 14:05:20 +0200 Subject: Discovery: Add cache argument and embed unmarshal on startup --- client/client.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'client/client.go') diff --git a/client/client.go b/client/client.go index 793597a..eb00a16 100644 --- a/client/client.go +++ b/client/client.go @@ -192,6 +192,12 @@ func New(name string, version string, directory string, stateCallback func(FSMSt disco, release := c.discoMan.Discovery(true) defer release() + + err = disco.Fill() + if err != nil { + slog.Warn("failed filling discovery cache", "error", err) + } + disco.MarkServersExpired() if !c.cfg.HasSecureInternet() { disco.MarkOrganizationsExpired() @@ -475,7 +481,7 @@ func (c *Client) GetConfig(ck *cookie.Cookie, identifier string, _type srvtypes. if _type != srvtypes.TypeCustom { disco, release := c.discoMan.Discovery(true) // make sure the servers are fetched fresh - _, _, dserverr := disco.Servers(ctx) + _, _, dserverr := disco.Servers(ctx, false) if dserverr != nil { slog.Warn("failed to fetch server discovery when getting config", "error", dserverr) } @@ -489,7 +495,7 @@ func (c *Client) GetConfig(ck *cookie.Cookie, identifier string, _type srvtypes. case srvtypes.TypeSecureInternet: disco, release := c.discoMan.Discovery(true) // make sure the organizations are fetched if they need an update - _, _, dorgerr := disco.Organizations(ctx) + _, _, dorgerr := disco.Organizations(ctx, false) if dorgerr != nil { slog.Warn("failed to fetch organization discovery when getting config", "error", dorgerr) } -- cgit v1.2.3