Skip to content

Commit f66f70c

Browse files
committed
NaN expiries detected, add extra logging
1 parent de89206 commit f66f70c

File tree

1 file changed

+22
-2
lines changed

1 file changed

+22
-2
lines changed

src/lib/node-oauth-client-provider.ts

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,17 @@ export class NodeOAuthClientProvider implements OAuthClientProvider {
8888
if (tokens) {
8989
const expiresAt = new Date(tokens.expires_at)
9090
const now = new Date()
91-
const timeLeft = Math.round((expiresAt.getTime() - now.getTime()) / 1000)
91+
const expiresAtTime = expiresAt.getTime()
92+
const timeLeft = !isNaN(expiresAtTime) ? Math.round((expiresAtTime - now.getTime()) / 1000) : 0
93+
94+
// Alert if expires_at produces an invalid date
95+
if (isNaN(expiresAtTime)) {
96+
await debugLog(this.serverUrlHash, '⚠️ WARNING: Invalid expires_at detected while reading tokens ⚠️', {
97+
expiresAt: tokens.expires_at,
98+
tokenObject: JSON.stringify(tokens),
99+
stack: new Error('Invalid expires_at timestamp').stack
100+
})
101+
}
92102

93103
await debugLog(this.serverUrlHash, 'Token result:', {
94104
found: true,
@@ -114,7 +124,17 @@ export class NodeOAuthClientProvider implements OAuthClientProvider {
114124
if (DEBUG) {
115125
const expiresAt = new Date(tokens.expires_at)
116126
const now = new Date()
117-
const timeLeft = Math.round((expiresAt.getTime() - now.getTime()) / 1000)
127+
const expiresAtTime = expiresAt.getTime()
128+
const timeLeft = !isNaN(expiresAtTime) ? Math.round((expiresAtTime - now.getTime()) / 1000) : 0
129+
130+
// Alert if expires_at produces an invalid date
131+
if (isNaN(expiresAtTime)) {
132+
await debugLog(this.serverUrlHash, '⚠️ WARNING: Invalid expires_at detected in tokens ⚠️', {
133+
expiresAt: tokens.expires_at,
134+
tokenObject: JSON.stringify(tokens),
135+
stack: new Error('Invalid expires_at timestamp').stack
136+
})
137+
}
118138

119139
await debugLog(this.serverUrlHash, 'Saving tokens', {
120140
hasAccessToken: !!tokens.access_token,

0 commit comments

Comments
 (0)