Skip to content

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

Open
cyfung1031 wants to merge 2 commits intomainfrom
fix/sync/007
Open

fix(sync): (Codex) OAuth refresh token race#1392
cyfung1031 wants to merge 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
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.

1 participant