Librechat-Mobile/core
Garfie e2e3423dcb fix(data): mutex guard clearTokens vs refreshAccessToken race
Wraps `CommonTokenDataStore.clearTokens()` in the existing `refreshMutex`,
serializing logout against any in-flight `refreshAccessToken()` call
(which already holds the same mutex for its full HTTP duration). Without
this, a refresh completing successfully after `clearTokens()` would
silently resurrect the just-killed session by writing a fresh token to
disk. A private `clearTokensLocked()` helper holds the inner clear logic
and is called from inside `refreshAccessToken()` to avoid self-deadlock
on the non-reentrant mutex.
2026-04-27 18:32:06 -06:00
..
common feat(common): include patch in backend version compatibility checks 2026-04-27 01:01:37 -06:00
data fix(data): mutex guard clearTokens vs refreshAccessToken race 2026-04-27 18:32:06 -06:00
model chore(sync): sync to upstream LibreChat v0.8.5 2026-04-26 23:48:14 -06:00
network chore(sync): sync to upstream LibreChat v0.8.5 2026-04-26 23:48:14 -06:00
ui chore(sync): sync to upstream LibreChat v0.8.5 2026-04-26 23:48:14 -06:00