summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
Diffstat (limited to 'client')
-rw-r--r--client/server.go11
1 files changed, 10 insertions, 1 deletions
diff --git a/client/server.go b/client/server.go
index 9d3b3b4..283c531 100644
--- a/client/server.go
+++ b/client/server.go
@@ -67,7 +67,7 @@ func (c *Client) getConfig(srv server.Server, preferTCP bool, t oauth.Token) (*C
// Refresh the server endpoints
// This is the best effort
- err := server.RefreshEndpoints(srv)
+ err := srv.RefreshEndpoints(&c.Discovery)
if err != nil {
log.Logger.Warningf("failed to refresh server endpoints: %v", err)
}
@@ -103,6 +103,10 @@ func (c *Client) Cleanup(ct oauth.Token) error {
c.logError(err)
return err
}
+ err = srv.RefreshEndpoints(&c.Discovery)
+ if err != nil {
+ log.Logger.Warningf("failed to refresh server endpoints: %v", err)
+ }
// If we need to relogin, update tokens
if server.NeedsRelogin(srv) {
@@ -552,6 +556,11 @@ func (c *Client) RenewSession() (err error) {
return err
}
+ err = srv.RefreshEndpoints(&c.Discovery)
+ if err != nil {
+ log.Logger.Warningf("failed to refresh server endpoints: %v", err)
+ }
+
// The server has not been chosen yet, this means that we want to manually renew
if c.FSM.InState(StateNoServer) {
c.FSM.GoTransition(StateChosenServer)