fixed request for reauth on clicking show folder

This commit is contained in:
2026-01-10 19:39:57 +00:00
parent c22ada9c7e
commit 221e9d1f53
4 changed files with 44 additions and 35 deletions
+9 -24
View File
@@ -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;
}
/**