mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-07-03 04:42:11 +00:00
Two hardening fixes on the ephemeral-retention backfill:
- forceConversationMessagesTemporary and the by-tag cascade cap each
message with `$min: [{ $ifNull: ['$expiredAt', forced] }, forced]`.
A legacy permanent message (`expiredAt` null/missing) now reliably
receives the forced deadline instead of depending on `$min`'s null
handling, so the TTL index can remove it.
- sweepForcedRetention converts a conversation's messages and shares
before marking the conversation itself conforming. If a child backfill
throws, the conversation stays non-conforming and the gap-filtered
query picks it up again, keeping the migration safe to re-run.
|
||
|---|---|---|
| .. | ||
| api | ||
| client | ||
| data-provider | ||
| data-schemas | ||