mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-07-10 08:13:46 +00:00
cascadeForcedConversationRetention converted the parent conversation first and only backfilled its messages, shares, and files when that update modified a row. If a child backfill threw after the parent was converted, a later forced-retention write saw the parent already conforming (modifiedCount 0) and skipped the children, leaving not-yet-updated messages, shares, or files permanent. Gate on an in-memory conversationNeedsForcedRetention check and backfill the children before marking the parent conforming, so a failed child leaves the conversation non-conforming and the next write re-runs the whole cascade. The early return preserves the no-op-when-already-conforming behavior. |
||
|---|---|---|
| .. | ||
| api | ||
| client | ||
| data-provider | ||
| data-schemas | ||