fix(auth): auto-refresh expired tokens in single-user stdio mode

When credentials had a refresh_token but credentials.expired was False
(e.g., token=None with no stored expiry), the refresh was skipped and
the server would start a new OAuth flow instead. This changes the
condition to attempt refresh whenever credentials are not valid and a
refresh_token is available, regardless of the expired flag.
This commit is contained in:
Bortlesboat
2026-03-15 17:22:36 -04:00
parent 92b4a7847f
commit b7365c661e

View File

@@ -772,9 +772,9 @@ def get_credentials(
logger.debug(
f"[get_credentials] Credentials are valid. User: '{user_google_email}', Session: '{session_id}'"
)
elif credentials.expired and credentials.refresh_token:
elif credentials.refresh_token:
logger.info(
f"[get_credentials] Credentials expired. Attempting refresh. User: '{user_google_email}', Session: '{session_id}'"
f"[get_credentials] Credentials not valid. Attempting refresh. User: '{user_google_email}', Session: '{session_id}'"
)
try:
logger.debug(