fixed request for reauth on clicking show folder
This commit is contained in:
@@ -136,18 +136,15 @@ class TokenManager {
|
||||
*/
|
||||
async refreshToken() {
|
||||
if (this.isRefreshing) {
|
||||
console.log('[TokenManager] Refresh already in progress');
|
||||
return this.token; // Return existing token while refresh ongoing
|
||||
}
|
||||
|
||||
if (!this.pb?.authStore?.isValid) {
|
||||
console.log('[TokenManager] PB session invalid, cannot refresh');
|
||||
return null;
|
||||
}
|
||||
|
||||
this.isRefreshing = true;
|
||||
try {
|
||||
console.log('[TokenManager] Refreshing token...');
|
||||
const authData = await this.pb.collection('users').authRefresh();
|
||||
|
||||
const meta = authData?.meta || {};
|
||||
@@ -156,17 +153,16 @@ class TokenManager {
|
||||
|
||||
if (newToken) {
|
||||
await this.setToken(newToken, newExpiry);
|
||||
console.log('[TokenManager] Token refreshed successfully');
|
||||
this.retryAttempts = 0; // Reset retry counter on success
|
||||
this.retryAttempts = 0;
|
||||
return newToken;
|
||||
} else {
|
||||
console.warn('[TokenManager] No token in refresh response');
|
||||
return null;
|
||||
// PB authRefresh doesn't return Graph tokens - this is expected
|
||||
// Token must be obtained during initial OAuth flow
|
||||
return this.token; // Return existing token if we have one
|
||||
}
|
||||
} catch (err) {
|
||||
console.error('[TokenManager] Refresh failed:', err.message);
|
||||
this.queueRefreshRetry();
|
||||
return this.token; // Return stale token while retrying
|
||||
console.error('[TokenManager] PB authRefresh failed:', err.message);
|
||||
return this.token; // Return stale token on error
|
||||
} finally {
|
||||
this.isRefreshing = false;
|
||||
}
|
||||
@@ -176,20 +172,9 @@ class TokenManager {
|
||||
* Queue retry with exponential backoff
|
||||
*/
|
||||
queueRefreshRetry() {
|
||||
if (this.retryAttempts >= this.maxRetries) {
|
||||
console.error('[TokenManager] Max refresh retries reached');
|
||||
return;
|
||||
}
|
||||
|
||||
this.retryAttempts++;
|
||||
const backoffMs = Math.pow(2, this.retryAttempts - 1) * 1000; // 1s, 2s, 4s, 8s, 16s
|
||||
console.log(`[TokenManager] Retry ${this.retryAttempts}/${this.maxRetries} in ${backoffMs}ms`);
|
||||
|
||||
setTimeout(() => {
|
||||
this.refreshToken().catch(err => {
|
||||
console.error('[TokenManager] Retry failed:', err.message);
|
||||
});
|
||||
}, backoffMs);
|
||||
// Disable retry queue since PB authRefresh won't return Graph tokens
|
||||
// Graph tokens must be obtained through the initial OAuth flow
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user