mirror of
https://github.com/langgenius/dify.git
synced 2026-05-04 00:18:28 +08:00
fix: fix refresh token deadlock (#30828)
This commit is contained in:
parent
a2e03b811e
commit
0c2729d9b3
@ -72,12 +72,12 @@ async function getNewAccessToken(timeout: number): Promise<void> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function releaseRefreshLock() {
|
function releaseRefreshLock() {
|
||||||
if (isRefreshing) {
|
// Always clear the refresh lock to avoid cross-tab deadlocks.
|
||||||
isRefreshing = false
|
// This is safe to call multiple times and from tabs that were only waiting.
|
||||||
globalThis.localStorage.removeItem(LOCAL_STORAGE_KEY)
|
isRefreshing = false
|
||||||
globalThis.localStorage.removeItem('last_refresh_time')
|
globalThis.localStorage.removeItem(LOCAL_STORAGE_KEY)
|
||||||
globalThis.removeEventListener('beforeunload', releaseRefreshLock)
|
globalThis.localStorage.removeItem('last_refresh_time')
|
||||||
}
|
globalThis.removeEventListener('beforeunload', releaseRefreshLock)
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function refreshAccessTokenOrRelogin(timeout: number) {
|
export async function refreshAccessTokenOrRelogin(timeout: number) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user