close
Skip to content

fix(sync): (Codex) OAuth refresh token race#1392

Merged
CodFrm merged 2 commits intomainfrom
fix/sync/007
May 6, 2026
Merged

fix(sync): (Codex) OAuth refresh token race#1392
CodFrm merged 2 commits intomainfrom
fix/sync/007

Conversation

@cyfung1031
Copy link
Copy Markdown
Collaborator

在 auth.ts 加入以 NetDiskType 为 key 的 refreshTokenPromises。同一个云端 provider 的多个并行 AuthVerify() 如果同时遇到过期或失效 token,现在会共用同一个 refresh promise;第一个请求负责刷新并写回新 token,其余请求等待同一结果,避免用已被旋转失效的 refresh token 重复刷新。

同时在 auth.test.ts 加了回归测试:三个并行 AuthVerify("onedrive") 只会触发一次 fetch refresh,并全部拿到新的 access token。

@cyfung1031 cyfung1031 added the CloudSync Related to CloudSync label May 1, 2026
@CodFrm
Copy link
Copy Markdown
Member

CodFrm commented May 6, 2026

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

🤖 Generated with Claude Code

- If this code review was useful, please react with 👍. Otherwise, react with 👎.

@CodFrm CodFrm merged commit 206b5fe into main May 6, 2026
4 checks passed
@CodFrm CodFrm deleted the fix/sync/007 branch May 6, 2026 07:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CloudSync Related to CloudSync

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants