Librechat-Mobile/core
Garfie ac125bb24c fix(data): mutex guard repository caches against suspension races
AgentRepositoryImpl.cachedAgents and PresetRepositoryImpl.cachedPresets
are read-checked, fetched across a suspension point, then written. With
@Volatile alone, two coroutines can both observe null, both issue the
network request, and both write the cache — a redundant API call per
cold-cache race. Wrap read-check-write in a Mutex so at most one fetch
runs per cold cache; invalidateCache() becomes suspend to match.
2026-04-27 18:32:07 -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 repository caches against suspension races 2026-04-27 18:32:07 -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