From 7f2fed4ead6ebdcd3c05d1d3f76b92abd6c3c917 Mon Sep 17 00:00:00 2001 From: jwijenbergh Date: Tue, 31 Oct 2023 11:11:33 +0100 Subject: Client + Server: Base the renew button 30 min window on OAuth start --- internal/server/base.go | 1 + internal/server/server.go | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'internal') diff --git a/internal/server/base.go b/internal/server/base.go index bfa0d73..20bdd61 100644 --- a/internal/server/base.go +++ b/internal/server/base.go @@ -14,6 +14,7 @@ type Base struct { Endpoints Endpoints `json:"endpoints"` Profiles ProfileInfo `json:"profiles"` StartTime time.Time `json:"start_time"` + StartTimeOAuth time.Time `json:"start_time_oauth"` EndTime time.Time `json:"expire_time"` Type string `json:"server_type"` httpClient *http.Client diff --git a/internal/server/server.go b/internal/server/server.go index 401cb0d..3cefac3 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -66,9 +66,12 @@ func ShouldRenewButton(srv Server) bool { return true } - // 30 minutes have not passed - if !now.After(b.StartTime.Add(30 * time.Minute)) { - return false + // 30 minutes have not passed since the start of OAuth + // If the start time is not known we do not take this into account + if !b.StartTimeOAuth.IsZero() { + if !now.After(b.StartTimeOAuth.Add(30 * time.Minute)) { + return false + } } // Session will not expire today -- cgit v1.2.3